Add autocompletion for SpriteFrames' methods

This commit is contained in:
Micky 2024-01-03 19:06:54 +01:00
parent fbaab3cf53
commit c2f9a227f7
2 changed files with 19 additions and 0 deletions

View file

@ -224,6 +224,23 @@ void SpriteFrames::_set_animations(const Array &p_animations) {
} }
} }
void SpriteFrames::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 == "has_animation" || pf == "remove_animation" || pf == "rename_animation" ||
pf == "set_animation_speed" || pf == "get_animation_speed" ||
pf == "set_animation_loop" || pf == "get_animation_loop" ||
pf == "add_frame" || pf == "set_frame" || pf == "remove_frame" ||
pf == "get_frame_count" || pf == "get_frame_texture" || pf == "get_frame_duration" ||
pf == "clear") {
for (const String &E : get_animation_names()) {
r_options->push_back(E.quote());
}
}
}
Resource::get_argument_options(p_function, p_idx, r_options);
}
void SpriteFrames::_bind_methods() { void SpriteFrames::_bind_methods() {
ClassDB::bind_method(D_METHOD("add_animation", "anim"), &SpriteFrames::add_animation); ClassDB::bind_method(D_METHOD("add_animation", "anim"), &SpriteFrames::add_animation);
ClassDB::bind_method(D_METHOD("has_animation", "anim"), &SpriteFrames::has_animation); ClassDB::bind_method(D_METHOD("has_animation", "anim"), &SpriteFrames::has_animation);

View file

@ -103,6 +103,8 @@ public:
void clear(const StringName &p_anim); void clear(const StringName &p_anim);
void clear_all(); void clear_all();
virtual void get_argument_options(const StringName &p_function, int p_idx, List<String> *r_options) const override;
SpriteFrames(); SpriteFrames();
}; };