1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-05-28 06:51:54 +08:00
Files
Dog-Lynx-And-HCN/scripts/Contents/Panels/Starter.gd
T
fallingshrimp 00c56484f4 feat: 为MultiplayerState添加@tool注解并更新状态显示格式
为MultiplayerState类添加@tool注解以支持编辑器功能
在Starter面板中为连接状态文本添加"状态:"前缀
2025-11-09 15:20:54 +08:00

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 = "状态:%s" % MultiplayerState.stateTextMap[state]
connectionState.modulate = MultiplayerState.stateColorMap[state]