Add process_mode property to PTY

Adds process_mode property to PTY which can be set to IDLE or PHYSICS.
Determines whether the PTY will be updated in the `_process()` or
`_physics_process()` step. Defaults to PHYSICS.
This commit is contained in:
Leroy Hopson 2022-08-06 15:47:17 +12:00
parent 2acb93f8ff
commit 3378e6ff8f
No known key found for this signature in database
GPG key ID: D2747312A6DB51AA
7 changed files with 55 additions and 28 deletions

View file

@ -23,6 +23,13 @@ const Signal = _PTYUnix.Signal
signal data_received(data)
signal exited(exit_code, signum)
enum ProcessMode {
IDLE,
PHYSICS,
}
export(ProcessMode) var process_mode := ProcessMode.IDLE
export(NodePath) var terminal_path := NodePath() setget set_terminal_path
var _terminal: _Terminal = null setget _set_terminal
@ -150,6 +157,16 @@ func get_master():
return _pty_native.get_master()
func _process(delta: float):
if process_mode == ProcessMode.IDLE:
_pty_native.run_process(delta)
func _physics_process(delta: float):
if process_mode == ProcessMode.PHYSICS:
_pty_native.run_process(delta)
func _on_pty_native_data_received(data):
emit_signal("data_received", data)