Add Node.is_node_ready

This commit is contained in:
Haoyu Qiu 2024-04-08 17:44:23 +08:00 committed by Relintai
parent 1be165639d
commit 1d18b076de
3 changed files with 13 additions and 0 deletions

View File

@ -444,6 +444,13 @@
<description> <description>
</description> </description>
</method> </method>
<method name="is_node_ready" qualifiers="const">
<return type="bool" />
<description>
Returns [code]true[/code] if the node is ready, i.e. it's inside scene tree and all its children are initialized.
[method request_ready] resets it back to [code]false[/code].
</description>
</method>
<method name="is_physics_interpolated" qualifiers="const"> <method name="is_physics_interpolated" qualifiers="const">
<return type="bool" /> <return type="bool" />
<description> <description>

View File

@ -3487,6 +3487,10 @@ bool Node::is_displayed_folded() const {
return data.display_folded; return data.display_folded;
} }
bool Node::is_node_ready() const {
return !data.ready_first;
}
void Node::request_ready() { void Node::request_ready() {
data.ready_first = true; data.ready_first = true;
} }
@ -3602,6 +3606,7 @@ void Node::_bind_methods() {
ClassDB::bind_method(D_METHOD("queue_free"), &Node::queue_delete); ClassDB::bind_method(D_METHOD("queue_free"), &Node::queue_delete);
ClassDB::bind_method(D_METHOD("request_ready"), &Node::request_ready); ClassDB::bind_method(D_METHOD("request_ready"), &Node::request_ready);
ClassDB::bind_method(D_METHOD("is_node_ready"), &Node::is_node_ready);
ClassDB::bind_method(D_METHOD("set_network_master", "id", "recursive"), &Node::set_network_master, DEFVAL(true)); ClassDB::bind_method(D_METHOD("set_network_master", "id", "recursive"), &Node::set_network_master, DEFVAL(true));
ClassDB::bind_method(D_METHOD("get_network_master"), &Node::get_network_master); ClassDB::bind_method(D_METHOD("get_network_master"), &Node::get_network_master);

View File

@ -547,6 +547,7 @@ public:
} }
void reset_physics_interpolation(); void reset_physics_interpolation();
bool is_node_ready() const;
void request_ready(); void request_ready();
static void print_stray_nodes(); static void print_stray_nodes();