Separate Node editor dock

This commit is contained in:
Break 2025-11-08 12:22:34 +08:00
parent 235a32ad11
commit ef9738005a
19 changed files with 268 additions and 223 deletions

View file

@ -109,7 +109,7 @@
<constant name="FEATURE_SCENE_TREE" value="3" enum="Feature">
Scene tree editing. If this feature is disabled, the Scene tree dock will still be visible but will be read-only.
</constant>
<constant name="FEATURE_NODE_DOCK" value="4" enum="Feature">
<constant name="FEATURE_NODE_DOCK" value="4" enum="Feature" deprecated="Replaced by the Signals and Groups docks.">
The Node dock. If this feature is disabled, signals and groups won't be visible and modifiable from the editor.
</constant>
<constant name="FEATURE_FILESYSTEM_DOCK" value="5" enum="Feature">
@ -124,7 +124,13 @@
<constant name="FEATURE_GAME" value="8" enum="Feature">
The Game tab, which allows embedding the game window and selecting nodes by clicking inside of it. If this feature is disabled, the Game tab won't display.
</constant>
<constant name="FEATURE_MAX" value="9" enum="Feature">
<constant name="FEATURE_SIGNALS_DOCK" value="9" enum="Feature">
The Signals dock. If this feature is disabled, signals won't be visible and modifiable from the editor.
</constant>
<constant name="FEATURE_GROUPS_DOCK" value="10" enum="Feature">
The Groups dock. If this feature is disabled, groups won't be visible and modifiable from the editor.
</constant>
<constant name="FEATURE_MAX" value="11" enum="Feature">
Represents the size of the [enum Feature] enum.
</constant>
</constants>

View file

@ -1453,7 +1453,7 @@
If [code]true[/code], the caret will be moved when right-clicking somewhere in the script editor (like when left-clicking or middle-clicking). If [code]false[/code], the caret will only be moved when left-clicking or middle-clicking somewhere.
</member>
<member name="text_editor/behavior/navigation/open_script_when_connecting_signal_to_existing_method" type="bool" setter="" getter="">
If [code]true[/code], opens the script editor when connecting a signal to an existing script method from the Node dock.
If [code]true[/code], opens the script editor when connecting a signal to an existing script method from the Signals dock.
</member>
<member name="text_editor/behavior/navigation/scroll_past_end_of_file" type="bool" setter="" getter="">
If [code]true[/code], allows scrolling past the end of the file.
@ -1485,7 +1485,7 @@
If [code]true[/code], automatically adds [url=$DOCS_URL/tutorials/scripting/gdscript/static_typing.html]GDScript static typing[/url] (such as [code]-&gt; void[/code] and [code]: int[/code]) in many situations where it's possible to, including when:
- Accepting a suggestion from code autocompletion;
- Creating a new script from a template;
- Connecting signals from the Node dock;
- Connecting signals from the Signals dock;
- Creating variables prefixed with [annotation @GDScript.@onready], by dropping nodes from the Scene dock into the script editor while holding [kbd]Ctrl[/kbd].
</member>
<member name="text_editor/completion/auto_brace_complete" type="bool" setter="" getter="">

View file

@ -196,7 +196,7 @@
<param index="1" name="persistent" type="bool" default="false" />
<description>
Adds the node to the [param group]. Groups can be helpful to organize a subset of nodes, for example [code]"enemies"[/code] or [code]"collectables"[/code]. See notes in the description, and the group methods in [SceneTree].
If [param persistent] is [code]true[/code], the group will be stored when saved inside a [PackedScene]. All groups created and displayed in the Node dock are persistent.
If [param persistent] is [code]true[/code], the group will be stored when saved inside a [PackedScene]. All groups created and displayed in the Groups dock are persistent.
[b]Note:[/b] To improve performance, the order of group names is [i]not[/i] guaranteed and may vary between project runs. Therefore, do not rely on the group order.
[b]Note:[/b] [SceneTree]'s group methods will [i]not[/i] work on this node if not inside the tree (see [method is_inside_tree]).
</description>

View file

@ -1040,7 +1040,7 @@
Deferred connections trigger their [Callable]s on idle time (at the end of the frame), rather than instantly.
</constant>
<constant name="CONNECT_PERSIST" value="2" enum="ConnectFlags">
Persisting connections are stored when the object is serialized (such as when using [method PackedScene.pack]). In the editor, connections created through the Node dock are always persisting.
Persisting connections are stored when the object is serialized (such as when using [method PackedScene.pack]). In the editor, connections created through the Signals dock are always persisting.
</constant>
<constant name="CONNECT_ONE_SHOT" value="4" enum="ConnectFlags">
One-shot connections disconnect themselves after emission.

View file

@ -6,7 +6,7 @@
<description>
The [Timer] node is a countdown timer and is the simplest way to handle time-based logic in the engine. When a timer reaches the end of its [member wait_time], it will emit the [signal timeout] signal.
After a timer enters the scene tree, it can be manually started with [method start]. A timer node is also started automatically if [member autostart] is [code]true[/code].
Without requiring much code, a timer node can be added and configured in the editor. The [signal timeout] signal it emits can also be connected through the Node dock in the editor:
Without requiring much code, a timer node can be added and configured in the editor. The [signal timeout] signal it emits can also be connected through the Signals dock in the editor:
[codeblock]
func _on_timer_timeout():
print("Time to attack!")