diff --git a/src/props/bulkhead/bulkhead.gd b/src/props/bulkhead/bulkhead.gd index bf4c8f8..3b7fbb6 100644 --- a/src/props/bulkhead/bulkhead.gd +++ b/src/props/bulkhead/bulkhead.gd @@ -19,6 +19,10 @@ extends Node3D func _ready() -> void: + _deferred_init.call_deferred() + + +func _deferred_init() -> void: if start_open: _instant_open() @@ -59,7 +63,4 @@ func serialize() -> Dictionary: func deserialize(state: Dictionary) -> void: - if state["open"]: - _instant_open() - else: - _instant_close() # unneccessary? + start_open = state["open"] diff --git a/src/props/retinal_scanner/retinal_scanner.gd b/src/props/retinal_scanner/retinal_scanner.gd index 4044eee..42c2b47 100644 --- a/src/props/retinal_scanner/retinal_scanner.gd +++ b/src/props/retinal_scanner/retinal_scanner.gd @@ -8,6 +8,10 @@ signal activated func _ready() -> void: + _deferred_init.call_deferred() + + +func _deferred_init() -> void: if enabled: enable() else: @@ -47,5 +51,4 @@ func serialize() -> Dictionary: func deserialize(state: Dictionary) -> void: - if state["enabled"]: - enable() + enabled = state["enabled"] diff --git a/src/props/wall_switch/wall_switch.gd b/src/props/wall_switch/wall_switch.gd index 839ec8a..8bf39c9 100644 --- a/src/props/wall_switch/wall_switch.gd +++ b/src/props/wall_switch/wall_switch.gd @@ -22,6 +22,10 @@ const CLEAN_THRESHOLD := 1400 func _ready() -> void: interactive.label = label + _deferred_init.call_deferred() + + +func _deferred_init() -> void: if clean: gunk_body.clear_all() _on_clean() @@ -88,11 +92,12 @@ func _on_action_delay_timeout() -> void: func serialize() -> Dictionary: - return {"enabled": enabled} + return { + "clean": clean, + "enabled": enabled, + } func deserialize(state: Dictionary) -> void: - if state["enabled"]: - enable() - else: - disable() + clean = state["clean"] + enabled = state["enabled"]