feat: expand progression and multiplayer systems
Add named save slots, progression import/export, and a unified play flow. Add live friend requests, presence, invitations, and relationship controls without durable discovery-server social storage. Advance the network protocol with isolated channels, movement reconciliation, late-join recovery, fishing replication, and animation synchronization. Preserve per-species catch totals, refine generated-world startup and water recovery, and complete the related input and interface improvements.
This commit is contained in:
parent
1db1a5b754
commit
3b84bfe3a0
97 changed files with 7869 additions and 982 deletions
|
|
@ -40,6 +40,10 @@ func _ready() -> void:
|
|||
return
|
||||
body_entered.connect(_on_body_entered)
|
||||
body_exited.connect(_on_body_exited)
|
||||
# Generated worlds can contain many independent water volumes. Keep an
|
||||
# empty trigger completely asleep instead of polling an empty array on every
|
||||
# physics tick.
|
||||
set_physics_process(false)
|
||||
|
||||
|
||||
func _physics_process(_delta: float) -> void:
|
||||
|
|
@ -57,6 +61,8 @@ func _physics_process(_delta: float) -> void:
|
|||
if entry_height <= active_surface_height - entry_depth_threshold:
|
||||
_triggered_players[player_key] = true
|
||||
recovery_requested.emit(player, active_surface_height)
|
||||
if _tracked_players.is_empty():
|
||||
set_physics_process(false)
|
||||
|
||||
|
||||
func get_surface_height() -> float:
|
||||
|
|
@ -80,6 +86,7 @@ func _on_body_entered(body: Node3D) -> void:
|
|||
if player == null or player in _tracked_players:
|
||||
return
|
||||
_tracked_players.append(player)
|
||||
set_physics_process(true)
|
||||
|
||||
|
||||
func _on_body_exited(body: Node3D) -> void:
|
||||
|
|
@ -88,3 +95,5 @@ func _on_body_exited(body: Node3D) -> void:
|
|||
return
|
||||
_tracked_players.erase(player)
|
||||
_triggered_players.erase(StringName(str(player.get_instance_id())))
|
||||
if _tracked_players.is_empty():
|
||||
set_physics_process(false)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue