1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-05-28 15:01:53 +08:00
Files
Dog-Lynx-And-HCN/scripts/Tools/Managers/MultiplayerState.gd
T
fallingshrimp d4e5a11e3d feat(多人游戏): 添加多人游戏状态管理和服务器配置功能
- 新增 MultiplayerState 类管理连接状态和服务器操作
- 在 Starter 面板中添加服务器配置和状态显示
- 实现服务器启动和最大玩家数设置功能
2025-11-09 15:19:21 +08:00

32 lines
871 B
GDScript

class_name MultiplayerState
enum ConnectionState {
DISCONNECTED,
CONNECTING,
CONNECTED_HOST,
CONNECTED_CLIENT,
}
static var stateTextMap = {
ConnectionState.DISCONNECTED: "未连接到服务器。",
ConnectionState.CONNECTING: "连接中...",
ConnectionState.CONNECTED_HOST: "服务器启动成功!",
ConnectionState.CONNECTED_CLIENT: "已连接到服务器!",
}
static var stateColorMap = {
ConnectionState.DISCONNECTED: Color.RED,
ConnectionState.CONNECTING: Color.YELLOW,
ConnectionState.CONNECTED_HOST: Color.GREEN,
ConnectionState.CONNECTED_CLIENT: Color.GREEN,
}
static var state: ConnectionState = ConnectionState.DISCONNECTED
static var isMultiplayer: bool = false
static var maxPlayer: int = 10
static func launchServer(port: int):
isMultiplayer = true
var peer = ENetMultiplayerPeer.new()
peer.create_server(port, maxPlayer)
return peer