feat: add GameState autoload — overlay states and player positions

This commit is contained in:
2026-04-14 03:08:04 +02:00
parent f847facd9e
commit 9efced2ac8
2 changed files with 22 additions and 0 deletions

View File

@@ -20,6 +20,7 @@ config/icon="res://icon.svg"
MCPGameBridge="res://addons/godot_mcp/game_bridge/mcp_game_bridge.gd"
NetworkManager="*res://scripts/network_manager.gd"
SceneManager="*res://scripts/scene_manager.gd"
GameState="*res://scripts/game_state.gd"
[editor_plugins]

View File

@@ -0,0 +1,21 @@
extends Node
# Overlay-Zustand pro Spieler (nur auf dem DM-Client befüllt via RPC)
# "default" = kein Overlay aktiv
var overlay_states: Dictionary = {} # peer_id (int) → String
# Spieler-Positionen (nur auf dem DM-Client befüllt via sync_player_position)
var player_positions: Dictionary = {} # peer_id (int) → {position: Vector3, rotation: Vector3}
func get_overlay(peer_id: int) -> String:
return overlay_states.get(peer_id, "default")
func set_overlay_local(peer_id: int, overlay_name: String) -> void:
overlay_states[peer_id] = overlay_name
print("[GameState] Overlay für %d%s" % [peer_id, overlay_name])
func update_player_transform(peer_id: int, position: Vector3, rotation: Vector3) -> void:
player_positions[peer_id] = {position = position, rotation = rotation}