You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-05 12:10:55 +00:00
Merge pull request #86799 from Mickeon/autocompletion-animationlibrary
Add autocompletion for AnimationLibrary & AnimationMixer's methods
This commit is contained in:
@@ -2054,6 +2054,26 @@ void AnimationMixer::_notification(int p_what) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AnimationMixer::get_argument_options(const StringName &p_function, int p_idx, List<String> *r_options) const {
|
||||||
|
String pf = p_function;
|
||||||
|
if (p_idx == 0) {
|
||||||
|
if (pf == "get_animation" || pf == "has_animation") {
|
||||||
|
List<StringName> al;
|
||||||
|
get_animation_list(&al);
|
||||||
|
for (const StringName &name : al) {
|
||||||
|
r_options->push_back(String(name).quote());
|
||||||
|
}
|
||||||
|
} else if (pf == "get_animation_library" || pf == "has_animation_library" || pf == "remove_animation_library" || pf == "rename_animation_library") {
|
||||||
|
List<StringName> al;
|
||||||
|
get_animation_library_list(&al);
|
||||||
|
for (const StringName &name : al) {
|
||||||
|
r_options->push_back(String(name).quote());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Node::get_argument_options(p_function, p_idx, r_options);
|
||||||
|
}
|
||||||
|
|
||||||
void AnimationMixer::_bind_methods() {
|
void AnimationMixer::_bind_methods() {
|
||||||
/* ---- Data lists ---- */
|
/* ---- Data lists ---- */
|
||||||
ClassDB::bind_method(D_METHOD("add_animation_library", "name", "library"), &AnimationMixer::add_animation_library);
|
ClassDB::bind_method(D_METHOD("add_animation_library", "name", "library"), &AnimationMixer::add_animation_library);
|
||||||
|
|||||||
@@ -340,6 +340,7 @@ protected:
|
|||||||
void _get_property_list(List<PropertyInfo> *p_list) const;
|
void _get_property_list(List<PropertyInfo> *p_list) const;
|
||||||
void _notification(int p_what);
|
void _notification(int p_what);
|
||||||
virtual void _validate_property(PropertyInfo &p_property) const;
|
virtual void _validate_property(PropertyInfo &p_property) const;
|
||||||
|
virtual void get_argument_options(const StringName &p_function, int p_idx, List<String> *r_options) const override;
|
||||||
|
|
||||||
static void _bind_methods();
|
static void _bind_methods();
|
||||||
void _node_removed(Node *p_node);
|
void _node_removed(Node *p_node);
|
||||||
|
|||||||
@@ -143,6 +143,18 @@ Dictionary AnimationLibrary::_get_data() const {
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AnimationLibrary::get_argument_options(const StringName &p_function, int p_idx, List<String> *r_options) const {
|
||||||
|
String pf = p_function;
|
||||||
|
if (p_idx == 0 && (pf == "get_animation" || pf == "has_animation" || pf == "rename_animation" || pf == "remove_animation")) {
|
||||||
|
List<StringName> names;
|
||||||
|
get_animation_list(&names);
|
||||||
|
for (const StringName &E : names) {
|
||||||
|
r_options->push_back(E.operator String().quote());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Resource::get_argument_options(p_function, p_idx, r_options);
|
||||||
|
}
|
||||||
|
|
||||||
void AnimationLibrary::_bind_methods() {
|
void AnimationLibrary::_bind_methods() {
|
||||||
ClassDB::bind_method(D_METHOD("add_animation", "name", "animation"), &AnimationLibrary::add_animation);
|
ClassDB::bind_method(D_METHOD("add_animation", "name", "animation"), &AnimationLibrary::add_animation);
|
||||||
ClassDB::bind_method(D_METHOD("remove_animation", "name"), &AnimationLibrary::remove_animation);
|
ClassDB::bind_method(D_METHOD("remove_animation", "name"), &AnimationLibrary::remove_animation);
|
||||||
|
|||||||
@@ -62,6 +62,8 @@ public:
|
|||||||
Ref<Animation> get_animation(const StringName &p_name) const;
|
Ref<Animation> get_animation(const StringName &p_name) const;
|
||||||
void get_animation_list(List<StringName> *p_animations) const;
|
void get_animation_list(List<StringName> *p_animations) const;
|
||||||
|
|
||||||
|
virtual void get_argument_options(const StringName &p_function, int p_idx, List<String> *r_options) const override;
|
||||||
|
|
||||||
AnimationLibrary();
|
AnimationLibrary();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user