42. GameOver 及 Menu 面板

本节目标

实现 GameOver 面板,并且在点击返回菜单之后进入 Menu 场景,点击 Menu 场景中的 New Game 进入游戏

开始实现

GameOver 面板

记得给 BackToStartButton 添加 turnbutton 样式

添加 GameOver 对象

当点击 醒来 按钮的时候,会调用GameOverPanel.BackToStart()方法,然后广播loadMenuEvent事件

SceneLoadManager 监听 LoadMenuEvent 事件

LoadMenu方法中,如果当前场景不为null,那么就卸载当前场景,然后再加载新的 menu 场景

UIManager 监听 LoadMenuEvent 事件

当 UIManager 收到 LoadMenuEvent 之后,会把所有面板隐藏掉

绘制 Menu 面板

同样也要给 NewGameButton 和 QuitGameButton 添加 turnbutton 样式

添加 Menu 对象

当点击 新的旅程 按钮时,会触发OnNewGameButtonClicked方法,会广播newGameEvent事件

当点击 退出游戏 按钮时,会触发OnQuitGameButtonClicked方法

SceneLoadManager 监听 newGameEvent 事件

LoadMap 方法会先卸载当前的场景,然后加载 Map 场景

TurnBaseManager 监听 newGameEvent 事件

TurnBaseManager 收到 newGameEvent 事件之后,会调用TurnBaseManager.NewGame,然后再调用Player.NewGame,然后会重置玩家的血量、是否死亡、buff层数、mana

GameManager 监听 newGameEvent 事件

GameManager 收到 newGameEvent 之后,会将 房间和线条 都删掉

项目相关代码

代码仓库:https://gitee.com/nbda1121440/DreamOfTheKingdom.git

标签:20240313_0926

posted @   hellozjf  阅读(50)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示