despawn runner or chaser on disconnect

This commit is contained in:
2025-02-21 17:59:23 +09:00
parent 591225996d
commit ca63d4594c
15 changed files with 85 additions and 97 deletions
+9 -11
View File
@@ -43,8 +43,7 @@ var predicted_rotation := Vector3.ZERO
func _ready() -> void:
state_machine.set_subject(self)
if multiplayer.is_server():
return
if multiplayer.is_server(): return
if multiplayer.get_unique_id() == player_id:
%Camera.make_current()
@@ -52,8 +51,7 @@ func _ready() -> void:
%Camera.clear_current(false)
func _input(event: InputEvent) -> void:
if multiplayer.get_unique_id() != player_id:
return
if multiplayer.get_unique_id() != player_id: return
if event.is_action_pressed("mouse_capture"):
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
@@ -65,13 +63,14 @@ func _input(event: InputEvent) -> void:
camera_input_direction += event.screen_relative * mouse_sensitivity
func _process(delta: float) -> void:
if multiplayer.get_unique_id() == player_id:
_camera_platform.global_rotation = _camera_pivot.global_rotation
if multiplayer.get_unique_id() != player_id: return
if smooth_camera:
_camera_platform.global_position = lerp(_camera_platform.global_position, _camera_pivot.global_position, camera_follow_speed * delta)
else:
_camera_platform.global_position = _camera_pivot.global_position
_camera_platform.global_rotation = _camera_pivot.global_rotation
if smooth_camera:
_camera_platform.global_position = lerp(_camera_platform.global_position, _camera_pivot.global_position, camera_follow_speed * delta)
else:
_camera_platform.global_position = _camera_pivot.global_position
func _physics_process(delta: float) -> void:
state_machine.process_physics(delta)
@@ -100,7 +99,6 @@ func _physics_process(delta: float) -> void:
if multiplayer.is_server():
server_position = position
server_rotation = skin.global_rotation
pass
func _on_sync_delta_synchronized() -> void:
if client_prediction and server_position.distance_to(predicted_position) > client_prediction_tolerance: