### Godot version

v4.0.beta17.mono.official [c40020513]

### System information

Windows11,Godot Mobile backend

### Issue description


https://user-images.githubusercontent.com/15378256/216791307-138e2206-f841-42b4-a9b2-b374da97affc.mp4

When selecting different CollisionShape2Ds, only the first selected gizmo is active and can be used even when selecting different   CollisionShape2D

### Steps to reproduce

Same root, 2 or more CollisionShape2Ds.

Minimal reproduction project uploaded, simply run editor and select between the CollisionShape2Ds.

### Minimal reproduction project

[bug1.zip](https://github.com/godotengine/godot/files/10609753/bug1.zip)
void stop_child_process(OS::ProcessID p_pid);
	Ref<Theme> get_editor_theme() const { return theme; }
	Ref<Script> get_object_custom_type_base(const Object *p_object) const;
	StringName get_object_custom_type_name(const Object *p_object) const;
	Ref<Texture2D> get_object_icon(const Object *p_object, const String &p_fallback = "Object");
	Ref<Texture2D> get_class_icon(const String &p_class, const String &p_fallback = "Object") const;
	bool is_object_of_custom_type(const Object *p_object, const StringName &p_class);
	void show_accept(const String &p_text, const String &p_title);
	void show_save_accept(const String &p_text, const String &p_title);
	void show_warning(const String &p_text, const String &p_title = TTR("Warning!"));
	void _copy_warning(const String &p_str);
	void set_use_startup_benchmark(bool p_use_startup_benchmark, const String &p_startup_benchmark_file);
	Error export_preset(const String &p_preset, const String &p_path, bool p_debug, bool p_pack_only);
	Control *get_gui_base() { return gui_base; }
	Control *get_theme_base() { return gui_base->get_parent_control(); }
	void save_scene_to_path(String p_file, bool p_with_preview = true) {
		if (p_with_preview) {
			_save_scene_with_preview(p_file);
		} else {
			_save_scene(p_file);
		}
	}
	bool is_scene_in_use(const String &p_path);
	void save_layout();
	void open_export_template_manager();
	void reload_scene(const String &p_path);
	void find_all_instances_inheriting_path_in_node(Node *p_root, Node *p_node, const String &p_instance_path, List<Node *> &p_instance_list);
	void reload_instances_with_path_in_edited_scenes(const String &p_path);
	bool is_exiting() const { return exiting; }