1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-05-28 06:51:54 +08:00

feat: 添加游戏启动界面和着色器效果

- 新增启动界面背景和logo
- 实现顶部和底部阴影着色器
- 添加难度选择滑块和角色名输入框
- 优化多人游戏按钮交互
- 修复编译提示面板的动画效果
- 更新UI主题样式
This commit is contained in:
2026-05-03 11:09:12 +08:00
parent 9966fd0b58
commit 44699d4302
28 changed files with 841 additions and 191 deletions
+2 -1
View File
@@ -4,10 +4,11 @@ extends FullscreenPanelBase
func afterOpen(_args: Array = []):
if WorldManager.isRelease():
for key in ComponentManager.effects:
var effect = EffectController.create(ComponentManager.getEffect(key), Vector2.ZERO, self)
var effect = EffectController.create(ComponentManager.getEffect(key), Vector2.ZERO, self )
effect.modulate.a = 0.01
(effect.sounds.get_node("spawn") as AudioStreamPlayer2D).volume_db = - INF
effect.shot()
await TickTool.millseconds(3000)
await TickTool.frame()
UIState.setPanel("SelectInitialFeed")
StarterPanel.buildingShader = false
+8 -4
View File
@@ -1,5 +1,6 @@
@tool
extends FullscreenPanelBase
class_name StarterPanel
@onready var diffEdit: HSlider = $"%diffEdit"
@onready var startSingleplayerBtn: Button = $"%startSingleplayerBtn"
@@ -18,6 +19,8 @@ var historyStack
@onready var players: VBoxContainer = $"%players"
@onready var playersList: VBoxContainer = $"%list"
static var buildingShader: bool = true
@rpc("any_peer")
func mutexPlayer(player: String):
if multiplayer.is_server():
@@ -63,7 +66,7 @@ func startMultiplayerGame():
func startSingleplayerGame():
MultiplayerState.isMultiplayer = false
MultiplayerState.playerName = playerNameInput.text
EntityBase.generatePlayer(playerNameInput.text)
UIState.player = EntityBase.generatePlayer(playerNameInput.text)
WorldManager.rootNode.spawnWave(Vector2.ZERO)
UIState.setPanel("CompilingTip")
@@ -87,8 +90,9 @@ func _ready():
)
startMultiplayerBtn.pressed.connect(
func():
startMultiplayerGame.rpc()
startMultiplayerGame()
# startMultiplayerGame.rpc()
# startMultiplayerGame()
UIState.showTip("敬请期待!", TipBox.MessageType.ERROR)
)
maxPlayerInput.text_changed.connect(
func(text):
@@ -127,7 +131,7 @@ func setState(state: MultiplayerState.ConnectionState):
connectionState.text = "状态:%s" % MultiplayerState.stateTextMap[state]
connectionState.modulate = MultiplayerState.stateColorMap[state]
disconnectBtn.disabled = not MultiplayerState.isConnected()
startMultiplayerBtn.disabled = not MultiplayerState.isConnected() || !multiplayer.is_server()
# startMultiplayerBtn.disabled = not MultiplayerState.isConnected() || !multiplayer.is_server()
serverConfig.visible = MultiplayerState.state == MultiplayerState.ConnectionState.CONNECTED_HOST
players.visible = MultiplayerState.isConnected()
func addPlayerName(playerName: String):