Merge pull request #81525 from KoBeWi/tweening_the_impossible

Check if property exists before tweening
This commit is contained in:
Rémi Verschelde 2023-11-09 20:03:53 +01:00
commit 0e6160a00f
No known key found for this signature in database
GPG key ID: C3336907360768E1

View file

@ -104,7 +104,15 @@ Ref<PropertyTweener> Tween::tween_property(const Object *p_target, const NodePat
CHECK_VALID();
Vector<StringName> property_subnames = p_property.get_as_property_path().get_subnames();
if (!_validate_type_match(p_target->get_indexed(property_subnames), p_to)) {
#ifdef DEBUG_ENABLED
bool prop_valid;
const Variant &prop_value = p_target->get_indexed(property_subnames, &prop_valid);
ERR_FAIL_COND_V_MSG(!prop_valid, nullptr, vformat("The tweened property \"%s\" does not exist in object \"%s\".", p_property, p_target));
#else
const Variant &prop_value = p_target->get_indexed(property_subnames);
#endif
if (!_validate_type_match(prop_value, p_to)) {
return nullptr;
}