Update documentation for the new ProcessMode
This commit is contained in:
parent
6d0c502ee4
commit
78de8a762b
|
@ -46,6 +46,7 @@
|
||||||
The path to the [AnimationPlayer] used for animating.
|
The path to the [AnimationPlayer] used for animating.
|
||||||
</member>
|
</member>
|
||||||
<member name="process_callback" type="int" setter="set_process_callback" getter="get_process_callback" enum="AnimationTree.AnimationProcessCallback" default="1">
|
<member name="process_callback" type="int" setter="set_process_callback" getter="get_process_callback" enum="AnimationTree.AnimationProcessCallback" default="1">
|
||||||
|
The process mode of this [AnimationTree]. See [enum AnimationProcessCallback] for available modes.
|
||||||
</member>
|
</member>
|
||||||
<member name="root_motion_track" type="NodePath" setter="set_root_motion_track" getter="get_root_motion_track" default="NodePath("")">
|
<member name="root_motion_track" type="NodePath" setter="set_root_motion_track" getter="get_root_motion_track" default="NodePath("")">
|
||||||
The path to the Animation track used for root motion. Paths must be valid scene-tree paths to a node, and must be specified starting from the parent node of the node that will reproduce the animation. To specify a track that controls properties or bones, append its name after the path, separated by [code]":"[/code]. For example, [code]"character/skeleton:ankle"[/code] or [code]"character/mesh:transform/local"[/code].
|
The path to the Animation track used for root motion. Paths must be valid scene-tree paths to a node, and must be specified starting from the parent node of the node that will reproduce the animation. To specify a track that controls properties or bones, append its name after the path, separated by [code]":"[/code]. For example, [code]"character/skeleton:ankle"[/code] or [code]"character/mesh:transform/local"[/code].
|
||||||
|
|
|
@ -883,6 +883,7 @@
|
||||||
The node owner. A node can have any other node as owner (as long as it is a valid parent, grandparent, etc. ascending in the tree). When saving a node (using [PackedScene]), all the nodes it owns will be saved with it. This allows for the creation of complex [SceneTree]s, with instancing and subinstancing.
|
The node owner. A node can have any other node as owner (as long as it is a valid parent, grandparent, etc. ascending in the tree). When saving a node (using [PackedScene]), all the nodes it owns will be saved with it. This allows for the creation of complex [SceneTree]s, with instancing and subinstancing.
|
||||||
</member>
|
</member>
|
||||||
<member name="process_mode" type="int" setter="set_process_mode" getter="get_process_mode" enum="Node.ProcessMode" default="0">
|
<member name="process_mode" type="int" setter="set_process_mode" getter="get_process_mode" enum="Node.ProcessMode" default="0">
|
||||||
|
Can be used to pause or unpause the node, or make the node paused based on the [SceneTree], or make it inherit the process mode from its parent (default).
|
||||||
</member>
|
</member>
|
||||||
<member name="process_priority" type="int" setter="set_process_priority" getter="get_process_priority" default="0">
|
<member name="process_priority" type="int" setter="set_process_priority" getter="get_process_priority" default="0">
|
||||||
The node's priority in the execution order of the enabled processing callbacks (i.e. [constant NOTIFICATION_PROCESS], [constant NOTIFICATION_PHYSICS_PROCESS] and their internal counterparts). Nodes whose process priority value is [i]lower[/i] will have their processing callbacks executed first.
|
The node's priority in the execution order of the enabled processing callbacks (i.e. [constant NOTIFICATION_PROCESS], [constant NOTIFICATION_PHYSICS_PROCESS] and their internal counterparts). Nodes whose process priority value is [i]lower[/i] will have their processing callbacks executed first.
|
||||||
|
@ -1031,14 +1032,19 @@
|
||||||
Notification received when text server is changed.
|
Notification received when text server is changed.
|
||||||
</constant>
|
</constant>
|
||||||
<constant name="PROCESS_MODE_INHERIT" value="0" enum="ProcessMode">
|
<constant name="PROCESS_MODE_INHERIT" value="0" enum="ProcessMode">
|
||||||
|
Inherits process mode from the node's parent. For the root node, it is equivalent to [constant PROCESS_MODE_PAUSABLE]. Default.
|
||||||
</constant>
|
</constant>
|
||||||
<constant name="PROCESS_MODE_PAUSABLE" value="1" enum="ProcessMode">
|
<constant name="PROCESS_MODE_PAUSABLE" value="1" enum="ProcessMode">
|
||||||
|
Stops processing when the [SceneTree] is paused (process when unpaused). This is the inverse of [constant PROCESS_MODE_WHEN_PAUSED].
|
||||||
</constant>
|
</constant>
|
||||||
<constant name="PROCESS_MODE_WHEN_PAUSED" value="2" enum="ProcessMode">
|
<constant name="PROCESS_MODE_WHEN_PAUSED" value="2" enum="ProcessMode">
|
||||||
|
Only process when the [SceneTree] is paused (don't process when unpaused). This is the inverse of [constant PROCESS_MODE_PAUSABLE].
|
||||||
</constant>
|
</constant>
|
||||||
<constant name="PROCESS_MODE_ALWAYS" value="3" enum="ProcessMode">
|
<constant name="PROCESS_MODE_ALWAYS" value="3" enum="ProcessMode">
|
||||||
|
Always process. Continue processing always, ignoring the [SceneTree]'s paused property. This is the inverse of [constant PROCESS_MODE_DISABLED].
|
||||||
</constant>
|
</constant>
|
||||||
<constant name="PROCESS_MODE_DISABLED" value="4" enum="ProcessMode">
|
<constant name="PROCESS_MODE_DISABLED" value="4" enum="ProcessMode">
|
||||||
|
Never process. Completely disables processing, ignoring the [SceneTree]'s paused property. This is the inverse of [constant PROCESS_MODE_ALWAYS].
|
||||||
</constant>
|
</constant>
|
||||||
<constant name="DUPLICATE_SIGNALS" value="1" enum="DuplicateFlags">
|
<constant name="DUPLICATE_SIGNALS" value="1" enum="DuplicateFlags">
|
||||||
Duplicate the node's signals.
|
Duplicate the node's signals.
|
||||||
|
|
|
@ -64,10 +64,10 @@
|
||||||
</return>
|
</return>
|
||||||
<argument index="0" name="time_sec" type="float">
|
<argument index="0" name="time_sec" type="float">
|
||||||
</argument>
|
</argument>
|
||||||
<argument index="1" name="pause_mode_process" type="bool" default="true">
|
<argument index="1" name="process_always" type="bool" default="true">
|
||||||
</argument>
|
</argument>
|
||||||
<description>
|
<description>
|
||||||
Returns a [SceneTreeTimer] which will [signal SceneTreeTimer.timeout] after the given time in seconds elapsed in this [SceneTree]. If [code]pause_mode_process[/code] is set to [code]false[/code], pausing the [SceneTree] will also pause the timer.
|
Returns a [SceneTreeTimer] which will [signal SceneTreeTimer.timeout] after the given time in seconds elapsed in this [SceneTree]. If [code]process_always[/code] is set to [code]false[/code], pausing the [SceneTree] will also pause the timer.
|
||||||
Commonly used to create a one-shot delay timer as in the following example:
|
Commonly used to create a one-shot delay timer as in the following example:
|
||||||
[codeblock]
|
[codeblock]
|
||||||
func some_function():
|
func some_function():
|
||||||
|
@ -363,6 +363,7 @@
|
||||||
</signal>
|
</signal>
|
||||||
<signal name="tree_process_mode_changed">
|
<signal name="tree_process_mode_changed">
|
||||||
<description>
|
<description>
|
||||||
|
This signal is only emitted in the editor, it allows the editor to update the visibility of disabled nodes. Emitted whenever any node's [member Node.process_mode] is changed.
|
||||||
</description>
|
</description>
|
||||||
</signal>
|
</signal>
|
||||||
</signals>
|
</signals>
|
||||||
|
|
1
doc/translations/README.md
Normal file
1
doc/translations/README.md
Normal file
|
@ -0,0 +1 @@
|
||||||
|
These `.po` and `.pot` files come from Weblate. Do not modify them manually.
|
|
@ -72,12 +72,12 @@ float SceneTreeTimer::get_time_left() const {
|
||||||
return time_left;
|
return time_left;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SceneTreeTimer::set_pause_mode_process(bool p_pause_mode_process) {
|
void SceneTreeTimer::set_process_always(bool p_process_always) {
|
||||||
process_pause = p_pause_mode_process;
|
process_always = p_process_always;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SceneTreeTimer::is_pause_mode_process() {
|
bool SceneTreeTimer::is_process_always() {
|
||||||
return process_pause;
|
return process_always;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SceneTreeTimer::release_connections() {
|
void SceneTreeTimer::release_connections() {
|
||||||
|
@ -455,7 +455,7 @@ bool SceneTree::process(float p_time) {
|
||||||
|
|
||||||
for (List<Ref<SceneTreeTimer>>::Element *E = timers.front(); E;) {
|
for (List<Ref<SceneTreeTimer>>::Element *E = timers.front(); E;) {
|
||||||
List<Ref<SceneTreeTimer>>::Element *N = E->next();
|
List<Ref<SceneTreeTimer>>::Element *N = E->next();
|
||||||
if (pause && !E->get()->is_pause_mode_process()) {
|
if (paused && !E->get()->is_process_always()) {
|
||||||
if (E == L) {
|
if (E == L) {
|
||||||
break; //break on last, so if new timers were added during list traversal, ignore them.
|
break; //break on last, so if new timers were added during list traversal, ignore them.
|
||||||
}
|
}
|
||||||
|
@ -759,10 +759,10 @@ Ref<ArrayMesh> SceneTree::get_debug_contact_mesh() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void SceneTree::set_pause(bool p_enabled) {
|
void SceneTree::set_pause(bool p_enabled) {
|
||||||
if (p_enabled == pause) {
|
if (p_enabled == paused) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
pause = p_enabled;
|
paused = p_enabled;
|
||||||
NavigationServer3D::get_singleton()->set_active(!p_enabled);
|
NavigationServer3D::get_singleton()->set_active(!p_enabled);
|
||||||
PhysicsServer3D::get_singleton()->set_active(!p_enabled);
|
PhysicsServer3D::get_singleton()->set_active(!p_enabled);
|
||||||
PhysicsServer2D::get_singleton()->set_active(!p_enabled);
|
PhysicsServer2D::get_singleton()->set_active(!p_enabled);
|
||||||
|
@ -772,7 +772,7 @@ void SceneTree::set_pause(bool p_enabled) {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SceneTree::is_paused() const {
|
bool SceneTree::is_paused() const {
|
||||||
return pause;
|
return paused;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SceneTree::_notify_group_pause(const StringName &p_group, int p_notification) {
|
void SceneTree::_notify_group_pause(const StringName &p_group, int p_notification) {
|
||||||
|
@ -1070,10 +1070,10 @@ void SceneTree::add_current_scene(Node *p_current) {
|
||||||
root->add_child(p_current);
|
root->add_child(p_current);
|
||||||
}
|
}
|
||||||
|
|
||||||
Ref<SceneTreeTimer> SceneTree::create_timer(float p_delay_sec, bool p_process_pause) {
|
Ref<SceneTreeTimer> SceneTree::create_timer(float p_delay_sec, bool p_process_always) {
|
||||||
Ref<SceneTreeTimer> stt;
|
Ref<SceneTreeTimer> stt;
|
||||||
stt.instance();
|
stt.instance();
|
||||||
stt->set_pause_mode_process(p_process_pause);
|
stt->set_process_always(p_process_always);
|
||||||
stt->set_time_left(p_delay_sec);
|
stt->set_time_left(p_delay_sec);
|
||||||
timers.push_back(stt);
|
timers.push_back(stt);
|
||||||
return stt;
|
return stt;
|
||||||
|
@ -1186,7 +1186,7 @@ void SceneTree::_bind_methods() {
|
||||||
ClassDB::bind_method(D_METHOD("set_pause", "enable"), &SceneTree::set_pause);
|
ClassDB::bind_method(D_METHOD("set_pause", "enable"), &SceneTree::set_pause);
|
||||||
ClassDB::bind_method(D_METHOD("is_paused"), &SceneTree::is_paused);
|
ClassDB::bind_method(D_METHOD("is_paused"), &SceneTree::is_paused);
|
||||||
|
|
||||||
ClassDB::bind_method(D_METHOD("create_timer", "time_sec", "pause_mode_process"), &SceneTree::create_timer, DEFVAL(true));
|
ClassDB::bind_method(D_METHOD("create_timer", "time_sec", "process_always"), &SceneTree::create_timer, DEFVAL(true));
|
||||||
|
|
||||||
ClassDB::bind_method(D_METHOD("get_node_count"), &SceneTree::get_node_count);
|
ClassDB::bind_method(D_METHOD("get_node_count"), &SceneTree::get_node_count);
|
||||||
ClassDB::bind_method(D_METHOD("get_frame"), &SceneTree::get_frame);
|
ClassDB::bind_method(D_METHOD("get_frame"), &SceneTree::get_frame);
|
||||||
|
|
|
@ -52,7 +52,7 @@ class SceneTreeTimer : public Reference {
|
||||||
GDCLASS(SceneTreeTimer, Reference);
|
GDCLASS(SceneTreeTimer, Reference);
|
||||||
|
|
||||||
float time_left = 0.0;
|
float time_left = 0.0;
|
||||||
bool process_pause = true;
|
bool process_always = true;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
static void _bind_methods();
|
static void _bind_methods();
|
||||||
|
@ -61,8 +61,8 @@ public:
|
||||||
void set_time_left(float p_time);
|
void set_time_left(float p_time);
|
||||||
float get_time_left() const;
|
float get_time_left() const;
|
||||||
|
|
||||||
void set_pause_mode_process(bool p_pause_mode_process);
|
void set_process_always(bool p_process_always);
|
||||||
bool is_pause_mode_process();
|
bool is_process_always();
|
||||||
|
|
||||||
void release_connections();
|
void release_connections();
|
||||||
|
|
||||||
|
@ -95,7 +95,7 @@ private:
|
||||||
bool debug_collisions_hint = false;
|
bool debug_collisions_hint = false;
|
||||||
bool debug_navigation_hint = false;
|
bool debug_navigation_hint = false;
|
||||||
#endif
|
#endif
|
||||||
bool pause = false;
|
bool paused = false;
|
||||||
int root_lock = 0;
|
int root_lock = 0;
|
||||||
|
|
||||||
Map<StringName, Group> group_map;
|
Map<StringName, Group> group_map;
|
||||||
|
@ -316,7 +316,7 @@ public:
|
||||||
Error change_scene_to(const Ref<PackedScene> &p_scene);
|
Error change_scene_to(const Ref<PackedScene> &p_scene);
|
||||||
Error reload_current_scene();
|
Error reload_current_scene();
|
||||||
|
|
||||||
Ref<SceneTreeTimer> create_timer(float p_delay_sec, bool p_process_pause = true);
|
Ref<SceneTreeTimer> create_timer(float p_delay_sec, bool p_process_always = true);
|
||||||
|
|
||||||
//used by Main::start, don't use otherwise
|
//used by Main::start, don't use otherwise
|
||||||
void add_current_scene(Node *p_current);
|
void add_current_scene(Node *p_current);
|
||||||
|
|
Loading…
Reference in a new issue