diff options
| -rw-r--r-- | editor/plugins/node_3d_editor_plugin.cpp | 2 | ||||
| -rw-r--r-- | scene/2d/animated_sprite_2d.cpp | 11 | ||||
| -rw-r--r-- | scene/2d/animated_sprite_2d.h | 2 | ||||
| -rw-r--r-- | scene/3d/sprite_3d.cpp | 11 | ||||
| -rw-r--r-- | scene/3d/sprite_3d.h | 2 | 
5 files changed, 27 insertions, 1 deletions
diff --git a/editor/plugins/node_3d_editor_plugin.cpp b/editor/plugins/node_3d_editor_plugin.cpp index e0fc42165b..23ff7fc7d6 100644 --- a/editor/plugins/node_3d_editor_plugin.cpp +++ b/editor/plugins/node_3d_editor_plugin.cpp @@ -1888,7 +1888,7 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) {  		}  		if (EditorSettings::get_singleton()->get("editors/3d/navigation/emulate_numpad")) { -			const Key code = k->get_keycode(); +			const Key code = k->get_physical_keycode();  			if (code >= Key::KEY_0 && code <= Key::KEY_9) {  				k->set_keycode(code - Key::KEY_0 + Key::KP_0);  			} diff --git a/scene/2d/animated_sprite_2d.cpp b/scene/2d/animated_sprite_2d.cpp index d3783aadd1..4734f97e23 100644 --- a/scene/2d/animated_sprite_2d.cpp +++ b/scene/2d/animated_sprite_2d.cpp @@ -443,6 +443,17 @@ TypedArray<String> AnimatedSprite2D::get_configuration_warnings() const {  	return warnings;  } +void AnimatedSprite2D::get_argument_options(const StringName &p_function, int p_idx, List<String> *r_options) const { +	if (p_idx == 0 && p_function == "play" && frames.is_valid()) { +		List<StringName> al; +		frames->get_animation_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 AnimatedSprite2D::_bind_methods() {  	ClassDB::bind_method(D_METHOD("set_sprite_frames", "sprite_frames"), &AnimatedSprite2D::set_sprite_frames);  	ClassDB::bind_method(D_METHOD("get_sprite_frames"), &AnimatedSprite2D::get_sprite_frames); diff --git a/scene/2d/animated_sprite_2d.h b/scene/2d/animated_sprite_2d.h index b3af931ea2..3a41f810dc 100644 --- a/scene/2d/animated_sprite_2d.h +++ b/scene/2d/animated_sprite_2d.h @@ -109,6 +109,8 @@ public:  	bool is_flipped_v() const;  	TypedArray<String> get_configuration_warnings() const override; +	virtual void get_argument_options(const StringName &p_function, int p_idx, List<String> *r_options) const override; +  	AnimatedSprite2D();  }; diff --git a/scene/3d/sprite_3d.cpp b/scene/3d/sprite_3d.cpp index 223da13b71..8cb5081047 100644 --- a/scene/3d/sprite_3d.cpp +++ b/scene/3d/sprite_3d.cpp @@ -1247,6 +1247,17 @@ TypedArray<String> AnimatedSprite3D::get_configuration_warnings() const {  	return warnings;  } +void AnimatedSprite3D::get_argument_options(const StringName &p_function, int p_idx, List<String> *r_options) const { +	if (p_idx == 0 && p_function == "play" && frames.is_valid()) { +		List<StringName> al; +		frames->get_animation_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 AnimatedSprite3D::_bind_methods() {  	ClassDB::bind_method(D_METHOD("set_sprite_frames", "sprite_frames"), &AnimatedSprite3D::set_sprite_frames);  	ClassDB::bind_method(D_METHOD("get_sprite_frames"), &AnimatedSprite3D::get_sprite_frames); diff --git a/scene/3d/sprite_3d.h b/scene/3d/sprite_3d.h index 028720a783..6ac85a7bbc 100644 --- a/scene/3d/sprite_3d.h +++ b/scene/3d/sprite_3d.h @@ -248,6 +248,8 @@ public:  	virtual Rect2 get_item_rect() const override;  	virtual TypedArray<String> get_configuration_warnings() const override; +	virtual void get_argument_options(const StringName &p_function, int p_idx, List<String> *r_options) const override; +  	AnimatedSprite3D();  };  |