mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 13:41:03 +00:00 
			
		
		
		
	Merge pull request #33663 from Calinou/add-node-get-process-priority
Implement `Node::get_process_priority()` and its associated property
This commit is contained in:
		
						commit
						cc025fc8e7
					
				
					 4 changed files with 11 additions and 10 deletions
				
			
		|  | @ -783,15 +783,6 @@ | |||
| 				Enables or disabled internal processing for this node. Internal processing happens in isolation from the normal [method _process] calls and is used by some nodes internally to guarantee proper functioning even if the node is paused or processing is disabled for scripting ([method set_process]). Only useful for advanced uses to manipulate built-in nodes' behaviour. | ||||
| 			</description> | ||||
| 		</method> | ||||
| 		<method name="set_process_priority"> | ||||
| 			<return type="void"> | ||||
| 			</return> | ||||
| 			<argument index="0" name="priority" type="int"> | ||||
| 			</argument> | ||||
| 			<description> | ||||
| 				Sets 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 with a higher process priority will have their processing callbacks executed first. | ||||
| 			</description> | ||||
| 		</method> | ||||
| 		<method name="set_process_unhandled_input"> | ||||
| 			<return type="void"> | ||||
| 			</return> | ||||
|  | @ -847,6 +838,9 @@ | |||
| 		<member name="pause_mode" type="int" setter="set_pause_mode" getter="get_pause_mode" enum="Node.PauseMode" default="0"> | ||||
| 			Pause mode. How the node will behave if the [SceneTree] is paused. | ||||
| 		</member> | ||||
| 		<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 with a higher process priority will have their processing callbacks executed first. | ||||
| 		</member> | ||||
| 	</members> | ||||
| 	<signals> | ||||
| 		<signal name="ready"> | ||||
|  |  | |||
|  | @ -752,7 +752,6 @@ | |||
| 				print(some_array[0]) # Prints "Four" | ||||
| 				print(some_array[1]) # Prints "Three,Two,One" | ||||
| 				[/codeblock] | ||||
| 
 | ||||
| 			</description> | ||||
| 		</method> | ||||
| 		<method name="rstrip"> | ||||
|  |  | |||
|  | @ -850,6 +850,11 @@ void Node::set_process_priority(int p_priority) { | |||
| 		data.tree->make_group_changed("physics_process_internal"); | ||||
| } | ||||
| 
 | ||||
| int Node::get_process_priority() const { | ||||
| 
 | ||||
| 	return data.process_priority; | ||||
| } | ||||
| 
 | ||||
| void Node::set_process_input(bool p_enable) { | ||||
| 
 | ||||
| 	if (p_enable == data.input) | ||||
|  | @ -2754,6 +2759,7 @@ void Node::_bind_methods() { | |||
| 	ClassDB::bind_method(D_METHOD("get_process_delta_time"), &Node::get_process_delta_time); | ||||
| 	ClassDB::bind_method(D_METHOD("set_process", "enable"), &Node::set_process); | ||||
| 	ClassDB::bind_method(D_METHOD("set_process_priority", "priority"), &Node::set_process_priority); | ||||
| 	ClassDB::bind_method(D_METHOD("get_process_priority"), &Node::get_process_priority); | ||||
| 	ClassDB::bind_method(D_METHOD("is_processing"), &Node::is_processing); | ||||
| 	ClassDB::bind_method(D_METHOD("set_process_input", "enable"), &Node::set_process_input); | ||||
| 	ClassDB::bind_method(D_METHOD("is_processing_input"), &Node::is_processing_input); | ||||
|  | @ -2894,6 +2900,7 @@ void Node::_bind_methods() { | |||
| 	ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "owner", PROPERTY_HINT_RESOURCE_TYPE, "Node", 0), "set_owner", "get_owner"); | ||||
| 	ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "multiplayer", PROPERTY_HINT_RESOURCE_TYPE, "MultiplayerAPI", 0), "", "get_multiplayer"); | ||||
| 	ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "custom_multiplayer", PROPERTY_HINT_RESOURCE_TYPE, "MultiplayerAPI", 0), "set_custom_multiplayer", "get_custom_multiplayer"); | ||||
| 	ADD_PROPERTY(PropertyInfo(Variant::INT, "process_priority"), "set_process_priority", "get_process_priority"); | ||||
| 
 | ||||
| 	BIND_VMETHOD(MethodInfo("_process", PropertyInfo(Variant::REAL, "delta"))); | ||||
| 	BIND_VMETHOD(MethodInfo("_physics_process", PropertyInfo(Variant::REAL, "delta"))); | ||||
|  |  | |||
|  | @ -350,6 +350,7 @@ public: | |||
| 	bool is_processing_internal() const; | ||||
| 
 | ||||
| 	void set_process_priority(int p_priority); | ||||
| 	int get_process_priority() const; | ||||
| 
 | ||||
| 	void set_process_input(bool p_enable); | ||||
| 	bool is_processing_input() const; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Rémi Verschelde
						Rémi Verschelde