1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-06-01 17:01:53 +08:00

feat(多人游戏): 实现多人游戏状态同步和单机/多人模式切换

添加多人游戏状态管理,包括连接状态和玩家名称同步
修改WorldManager和EntityBase以支持多人游戏逻辑
在Starter面板中实现单机和多人游戏启动功能
This commit is contained in:
2025-11-13 22:23:39 +08:00
parent bdc9201dba
commit 8ed0837c9d
5 changed files with 29 additions and 9 deletions
@@ -20,9 +20,12 @@ static var stateColorMap = {
ConnectionState.CONNECTED_CLIENT: Color.GREEN,
}
static var isMultiplayer: bool = false
static var state: ConnectionState = ConnectionState.DISCONNECTED
static var playerName: String
static var connection: ENetMultiplayerPeer
static var maxPlayer: int = 10
static func isConnected():
+5 -4
View File
@@ -1,7 +1,7 @@
extends Node2D
class_name WorldManager
static var rootNode: Node2D
static var rootNode: WorldManager
static var tree: SceneTree
static var runningTime: int = 0
static var peer: ENetMultiplayerPeer
@@ -10,11 +10,12 @@ func _ready():
tree = get_tree()
rootNode = self
ComponentManager.init()
peer = ENetMultiplayerPeer.new()
func _physics_process(delta):
runningTime += delta * 1000
if EntityBase.mobCount() == 0 and runningTime > 3000:
UIState.setPanel("MakeFeed")
if multiplayer.is_server() or not MultiplayerState.isMultiplayer:
if EntityBase.mobCount() == 0 and runningTime > 3000:
Wave.next()
UIState.setPanel("MakeFeed")
static func getTime():
return runningTime