首页 > 其他分享 >42. GameOver 及 Menu 面板

42. GameOver 及 Menu 面板

时间:2024-03-13 10:16:10浏览次数:28  
标签:场景 Menu 42 newGameEvent GameOver 面板 监听

本节目标

实现 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

标签:场景,Menu,42,newGameEvent,GameOver,面板,监听
From: https://www.cnblogs.com/hellozjf/p/18069971

相关文章

  • CF 1842 H
    给自己的博客引流:3.15解除密码这个是这篇中最认真写的题。CF1842H妙妙题!!!太牛了。首先,\(x_i\in[0,1]\),可以有两种:\(x_i<0.5,x_i\ge0.5\)。因为在\([0,1]\)中抽出\(0.5\)的几率为\(0\),就可以分成\(x_i<0.5,x_i>0.5\)。如果这样分,那么\(x_i,x_j<0.5\impliesx_i+x......
  • CVE-2023-49442 利用分析
    1.漏洞介绍JEECG(J2EECodeGeneration)是开源的代码生成平台,目前官方已停止维护。JEECG4.0及之前版本中,由于/api接口鉴权时未过滤路径遍历,攻击者可构造包含 ../的url绕过鉴权。攻击者可构造恶意请求利用 jeecgFormDemoController.do?interfaceTest接口进行jndi注入攻击实现......
  • 代码随想录算法训练营第六天| 242. 有效的字母异位词
    242.有效的字母异位词https://leetcode.cn/problems/valid-anagram/description/publicbooleanisAnagram(Strings,Stringt){char[]sChar=s.toCharArray();char[]tChar=t.toCharArray();Arrays.sort(sChar);Arrays.sort(tChar......
  • 第142篇:原生js实现响应式原理
    好家伙,狠狠地补一下代码量 本篇我们来尝试使用原生js实现vue的响应式使用原生js,即代表没有v-bind,v-on,也没有v-model,所有语法糖我们都用原生实现 1.给输入框绑个变量<body><inputid="input_1"></input></body><script>letdatavalue="66666"const......
  • Vue学习笔记42--ref
    Vue==>refref属性被用来给元素或子组件注册引用信息(id的替代者)应用在html标签上获取的是真实的DOM元素,应用在组件标签上是组件实例对象(vc)使用方式:声明标识:<h1ref="xxx">。。。。。。</h1>或<Schoolref="xxx"></School>——School为组件获取方式:this.$refs.xxx......
  • LeetCodeHot100 283. 移动零 11. 盛最多水的容器 15. 三数之和 42. 接雨水
    283.移动零https://leetcode.cn/problems/move-zeroes/description/?envType=study-plan-v2&envId=top-100-likedpublicvoidmoveZeroes(int[]nums){intr=0;for(inti=0;i<nums.length;i++){if(nums[i]!=0){......
  • LeetCodeHot100 283. 移动零 11. 盛最多水的容器 42. 接雨水 15. 三数之和
    283.移动零https://leetcode.cn/problems/move-zeroes/description/?envType=study-plan-v2&envId=top-100-likedpublicvoidmoveZeroes(int[]nums){intr=0;for(inti=0;i<nums.length;i++){if(nums[i]!=0){......
  • 代码随想录算法训练营第四天| 24. 两两交换链表中的节点 19.删除链表的倒数第N个节点
    24.两两交换链表中的节点https://leetcode.cn/problems/swap-nodes-in-pairs/description/publicListNodeswapPairs(ListNodehead){if(head==null||head.next==null)returnhead;ListNoderes=head.next;ListNodepre=newListNod......
  • abc342D 乘积为完全平方数的对数
    题面:给定长为n的数组A,问有多少对下标(i,j)满足A[i]*A[j]为完全平方数?范围:n<=2E5;A[i]<=2E5思路:完全平方数即质因子的个数为偶数,因此对元素进行化简,把偶次质因子都去掉,再统计即可。另外,0乘任何数都为0,需要单独处理。#include<bits/stdc++.h>usingnamespacestd;#defineint......
  • P4542 [ZJOI2011] 营救皮卡丘
    P4542[ZJOI2011]营救皮卡丘注意到什么叫两面包夹芝士这个是最优解这个是最劣解这究竟是怎么一回事呢?请看下文挺有趣的这道题,我们先来分析一下限制最基础的就是每个点都需要经过这一点,并且要求总路程最小很容易想到的就是路径覆盖问题,进而可以尝试费用......