feat: Implement a new portal door game mode with arena partitioning, dynamic connections, and multiplayer synchronization.
This commit is contained in:
@@ -58,6 +58,14 @@ func _ready():
|
||||
if multiplayer.is_server():
|
||||
randomize_game_grid()
|
||||
|
||||
@rpc("any_peer", "call_local", "reliable")
|
||||
func sync_portal_configs(configs: Array):
|
||||
if portal_mode_manager:
|
||||
# Temporarily store the configs and trigger spawn
|
||||
# Note: We use a custom property in manager to pass this
|
||||
portal_mode_manager.set_meta("door_configs", configs)
|
||||
portal_mode_manager._spawn_portal_doors()
|
||||
|
||||
# Force gridmap cell size to match player logic (1, 0.05, 1) - >0.001 to avoid errors
|
||||
var em = $EnhancedGridMap
|
||||
if em:
|
||||
|
||||
@@ -21,7 +21,7 @@ emission = Color(0.0, 0.4, 1.0, 1)
|
||||
emission_energy_multiplier = 2.0
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_trigger"]
|
||||
size = Vector3(1.4, 2.1, 0.5)
|
||||
size = Vector3(1.4, 2.1, 0.8)
|
||||
|
||||
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_portal"]
|
||||
properties/0/path = NodePath(":target_room_id")
|
||||
|
||||
Reference in New Issue
Block a user