mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-05-28 15:01:53 +08:00
d4e5a11e3d
- 新增 MultiplayerState 类管理连接状态和服务器操作 - 在 Starter 面板中添加服务器配置和状态显示 - 实现服务器启动和最大玩家数设置功能
39 lines
1.3 KiB
GDScript
39 lines
1.3 KiB
GDScript
@tool
|
|
extends FullscreenPanelBase
|
|
|
|
@onready var diffEdit: HSlider = $"%diffEdit"
|
|
@onready var startBtn: Button = $"%startBtn"
|
|
@onready var levelShow: Label = $"%levelShow"
|
|
@onready var hostInput: LineEdit = $"%hostInput"
|
|
@onready var portInput: LineEdit = $"%portInput"
|
|
@onready var launchBtn: Button = $"%launchBtn"
|
|
@onready var connectBtn: Button = $"%connectBtn"
|
|
@onready var maxPlayerInput: LineEdit = $"%maxPlayerInput"
|
|
@onready var connectionState: Label = $"%connectionState"
|
|
|
|
func _ready():
|
|
diffEdit.min_value = GameRule.difficultyRange.x
|
|
diffEdit.max_value = GameRule.difficultyRange.y
|
|
startBtn.pressed.connect(
|
|
func():
|
|
Wave.next()
|
|
UIState.closeCurrentPanel()
|
|
)
|
|
maxPlayerInput.text_changed.connect(
|
|
func(text):
|
|
MultiplayerState.maxPlayer = int(text)
|
|
)
|
|
launchBtn.pressed.connect(
|
|
func():
|
|
MultiplayerState.launchServer(int(portInput.text))
|
|
)
|
|
setState(MultiplayerState.ConnectionState.DISCONNECTED)
|
|
func _physics_process(_delta):
|
|
levelShow.text = "%d ∈ [%d, %d]" % [diffEdit.value, diffEdit.min_value, diffEdit.max_value]
|
|
GameRule.difficulty = diffEdit.value
|
|
|
|
func setState(state: MultiplayerState.ConnectionState):
|
|
MultiplayerState.state = state
|
|
connectionState.text = MultiplayerState.stateTextMap[state]
|
|
connectionState.modulate = MultiplayerState.stateColorMap[state]
|