From 200b7bb87c3d8d8b2011b08ed4bd7b034ceb452f Mon Sep 17 00:00:00 2001 From: Juan Linietsky Date: Sat, 5 Dec 2015 14:18:22 -0300 Subject: -Display on animation editor which keys are invalid and which tracks are unresolved -Added a tool to clean up unresolved tracks and unused keys --- modules/gdscript/gd_script.cpp | 20 ++++++++++++++++++++ modules/gdscript/gd_script.h | 2 ++ 2 files changed, 22 insertions(+) (limited to 'modules') diff --git a/modules/gdscript/gd_script.cpp b/modules/gdscript/gd_script.cpp index 8746f92c9..c3cc779bc 100644 --- a/modules/gdscript/gd_script.cpp +++ b/modules/gdscript/gd_script.cpp @@ -2274,6 +2274,26 @@ bool GDInstance::get(const StringName& p_name, Variant &r_ret) const { return false; } + +Variant::Type GDInstance::get_property_type(const StringName& p_name,bool *r_is_valid) const { + + + const GDScript *sptr=script.ptr(); + while(sptr) { + + if (sptr->member_info.has(p_name)) { + if (r_is_valid) + *r_is_valid=true; + return sptr->member_info[p_name].type; + } + sptr = sptr->_base; + } + + if (r_is_valid) + *r_is_valid=false; + return Variant::NIL; +} + void GDInstance::get_property_list(List *p_properties) const { // exported members, not doen yet! diff --git a/modules/gdscript/gd_script.h b/modules/gdscript/gd_script.h index 850ffec05..3d16b5906 100644 --- a/modules/gdscript/gd_script.h +++ b/modules/gdscript/gd_script.h @@ -373,6 +373,8 @@ public: virtual bool set(const StringName& p_name, const Variant& p_value); virtual bool get(const StringName& p_name, Variant &r_ret) const; virtual void get_property_list(List *p_properties) const; + virtual Variant::Type get_property_type(const StringName& p_name,bool *r_is_valid=NULL) const; + virtual void get_method_list(List *p_list) const; virtual bool has_method(const StringName& p_method) const; -- cgit v1.2.3-70-g09d2