mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-05-28 06:51:54 +08:00
feat(多人游戏): 实现多人游戏状态同步和单机/多人模式切换
添加多人游戏状态管理,包括连接状态和玩家名称同步 修改WorldManager和EntityBase以支持多人游戏逻辑 在Starter面板中实现单机和多人游戏启动功能
This commit is contained in:
@@ -53,9 +53,16 @@ func rebuildAllPlayers(playerNames: Array[String]):
|
||||
addPlayerName(i)
|
||||
@rpc("any_peer")
|
||||
func startMultiplayerGame():
|
||||
MultiplayerState.isMultiplayer = true
|
||||
WorldManager.rootNode.multiplayer.multiplayer_peer = MultiplayerState.connection
|
||||
MultiplayerState.playerName = playerNameInput.text
|
||||
MultiplayerState.connection = multiplayer.multiplayer_peer
|
||||
for i in getPlayerNames():
|
||||
EntityBase.generatePlayer(i)
|
||||
UIState.closeCurrentPanel()
|
||||
func startSingleplayerGame():
|
||||
MultiplayerState.isMultiplayer = false
|
||||
EntityBase.generatePlayer(playerNameInput.text)
|
||||
Wave.next()
|
||||
UIState.closeCurrentPanel()
|
||||
|
||||
@@ -74,9 +81,7 @@ func _ready():
|
||||
)
|
||||
startSingleplayerBtn.pressed.connect(
|
||||
func():
|
||||
EntityBase.generatePlayer(playerNameInput.text)
|
||||
Wave.next()
|
||||
UIState.closeCurrentPanel()
|
||||
startSingleplayerGame()
|
||||
)
|
||||
startMultiplayerBtn.pressed.connect(
|
||||
func():
|
||||
|
||||
Reference in New Issue
Block a user