diff options
author | Juan Linietsky <reduzio@gmail.com> | 2015-12-05 14:18:22 -0300 |
---|---|---|
committer | Juan Linietsky <reduzio@gmail.com> | 2015-12-05 14:18:22 -0300 |
commit | 200b7bb87c3d8d8b2011b08ed4bd7b034ceb452f (patch) | |
tree | d9dc837018c4c2c7680491889316eedb9fe6b36c /core/object.cpp | |
parent | 35fa048af555e1f8411a2034706e9e452ce2f399 (diff) | |
download | redot-engine-200b7bb87c3d8d8b2011b08ed4bd7b034ceb452f.tar.gz |
-Display on animation editor which keys are invalid and which tracks are unresolved
-Added a tool to clean up unresolved tracks and unused keys
Diffstat (limited to 'core/object.cpp')
-rw-r--r-- | core/object.cpp | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/core/object.cpp b/core/object.cpp index 3a4c06e7e7..96f0c86832 100644 --- a/core/object.cpp +++ b/core/object.cpp @@ -314,6 +314,7 @@ void Object::set(const StringName& p_name, const Variant& p_value, bool *r_valid _edited=true; #endif + if (script_instance) { if (script_instance->set(p_name,p_value)) { @@ -326,9 +327,9 @@ void Object::set(const StringName& p_name, const Variant& p_value, bool *r_valid //try built-in setgetter { - if (ObjectTypeDB::set_property(this,p_name,p_value)) { - if (r_valid) - *r_valid=true; + if (ObjectTypeDB::set_property(this,p_name,p_value,r_valid)) { + //if (r_valid) + // *r_valid=true; return; } } @@ -1694,6 +1695,26 @@ void Object::get_translatable_strings(List<String> *p_strings) const { } +Variant::Type Object::get_static_property_type(const StringName& p_property, bool *r_valid) const { + + bool valid; + Variant::Type t = ObjectTypeDB::get_property_type(get_type_name(),p_property,&valid); + if (valid) { + if (r_valid) + *r_valid=true; + return t; + } + + if (get_script_instance()) { + return get_script_instance()->get_property_type(p_property,r_valid); + } + if (r_valid) + *r_valid=false; + + return Variant::NIL; + +} + bool Object::is_queued_for_deletion() const { return _is_queued_for_deletion; } |