@@ -131,12 +131,7 @@ func process_authority():
131131 _auth_input_property_entries .push_back (property_entry )
132132 _record_input_property_entries .push_back (property_entry )
133133
134- func _ready ():
135- if not NetworkTime .is_initial_sync_done ():
136- # Wait for time sync to complete
137- await NetworkTime .after_sync
138- process_settings .call_deferred ()
139-
134+ func _connect_signals ():
140135 NetworkTime .before_tick .connect (_before_tick )
141136 NetworkTime .after_tick .connect (_after_tick )
142137 NetworkRollback .before_loop .connect (_before_loop )
@@ -145,6 +140,26 @@ func _ready():
145140 NetworkRollback .on_record_tick .connect (_record_tick )
146141 NetworkRollback .after_loop .connect (_after_loop )
147142
143+ func _disconnect_signals ():
144+ NetworkTime .before_tick .disconnect (_before_tick )
145+ NetworkTime .after_tick .disconnect (_after_tick )
146+ NetworkRollback .before_loop .disconnect (_before_loop )
147+ NetworkRollback .on_prepare_tick .disconnect (_prepare_tick )
148+ NetworkRollback .on_process_tick .disconnect (_process_tick )
149+ NetworkRollback .on_record_tick .disconnect (_record_tick )
150+ NetworkRollback .after_loop .disconnect (_after_loop )
151+
152+ func _enter_tree ():
153+ if not NetworkTime .is_initial_sync_done ():
154+ # Wait for time sync to complete
155+ await NetworkTime .after_sync
156+ _connect_signals .call_deferred ()
157+ process_settings .call_deferred ()
158+
159+ func _exit_tree ():
160+ _is_initialized = false
161+ _disconnect_signals ()
162+
148163func _before_loop ():
149164 if _auth_input_property_entries .is_empty ():
150165 # We don't have any inputs we own, simulate from earliest we've received
0 commit comments