首页 > 其他分享 >41. 抽卡面板的实际逻辑

41. 抽卡面板的实际逻辑

时间:2024-03-12 21:38:13浏览次数:21  
标签:finishPickCardEvent 卡牌 41 添加 抽卡 UIManager 面板

本节目标

打开抽卡面板之后,显示三张可以抽取的卡牌,点击选择卡牌之后将卡牌添加到牌堆中,然后游戏胜利面板隐藏抽卡按钮

实现方法

添加卡牌的 UI Document

需要给 Card 也添加turnbutton样式,这样鼠标移动过去的时候会有放大的效果

抽卡面板调试布局

调试的时候,我们可以把 Project 里面额 CardTemplate.uxml 添加到 Container 里面看看效果,等调试没问题了再把它们删掉

打开抽卡面板的时候添加卡牌

游戏胜利的时候,点击选择卡牌按钮,会触发PickCardEvent事件

UIManager 在收到PickCardEvent事件之后,会调用UIManager.OnPickCardEvent方法,然后会将pickCardPanel显示出来

pickCardPanelOnEnable的时候,会往Container里面添加三张卡牌

其中CardManager里面添加了一个新方法GetNewCardData(),它的实现内容如下所示。这段代码的意思是获取一个随机的卡牌数据,但是数据内容不能和上一张卡牌数据一致

PickCardManager也添加了InitCard方法,它会根据传递过来的CardDataSO数据,将数据赋值到对应的UI组件上面去

当卡牌被点击的时候,会将当前点击的卡牌禁用,并让另外两张卡牌启用

点击确定按钮之后,会通过cardManager往牌库中添加卡牌,并广播finishPickCardEvent事件

CardManager.UnlockCard代码如下

finishPickCardEventGameWinPanelUIManager监听

GameWinPanel在收到finishPickCardEvent事件之后,会调用GameWinPanel.OnFinishPickCardEvent,然后它就会把pickCardButton隐藏掉

UIManager在收到finishPickCardEvent事件之后,会调用UIManager.OnFinishPickCardEvent,然后它会把pickCardPanel隐藏掉

项目相关代码

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

标签:20240312_2012

标签:finishPickCardEvent,卡牌,41,添加,抽卡,UIManager,面板
From: https://www.cnblogs.com/hellozjf/p/18069323

相关文章

  • PLSQL登录ora_12541无法识别连接符
       tnsnames.ora文件配置时,有一定的格式要求,一般从其他地方粘贴时,地址端口服务名都不会有什么问题,这时粘贴时要注意各行的格式要求:<ATOMICSCHEMANAME>=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=<HOSTNAME>)(PORT=<PORTNUMBER>)))(CON......
  • 当你的公司要你用数据来证明41种蓝色到底哪一种更好,或者为一个边栏宽 度是3,4,或5而争执
    首先,我会听取各方的意见和理由,了解他们为什么坚持选择特定的蓝色或边栏宽度。然后,我会告诉他们,虽然数据很重要,但在某些情况下,过于依赖数据可能会忽视其他重要因素。接下来,我会提出一个折衷的方案。对于蓝色选择,我们可以进行一个小型的用户调研,看看用户更喜欢哪种蓝色。首先,收集这......
  • 当你的公司要你用数据来证明41种蓝色到底哪一种更好,或者为一个边栏宽度是3,4,或5而争执
    在这种情况下,可以采取以下步骤来解决争议:理解背景和目标:首先,需要了解为什么会对41种蓝色或边栏宽度产生争执。这通常是因为团队成员对设计的视觉效果、用户体验或品牌一致性有不同的看法。收集用户反馈:与其争论不休,不如进行用户测试。设计几种不同的版本(包括不同的蓝色和边栏宽......
  • 416. 分割等和子集c
    22号就要复试了,专业课,英语都还没搞,我的吗,先每天刷10道旧题在刷新题把。intmax(inti,intj){if(i>j)returni;returnj;}boolcanPartition(int*nums,intnumsSize){intsum=0;for(inti=0;i<numsSize;i++){sum+=nums[i];}if(su......
  • 40. 制作胜利和抽卡面板
    本节目标绘制出游戏胜利的面板,以及抽卡面板。当游戏胜利的时候弹出游戏胜利面板,然后游戏胜利面板上面有个抽卡按钮,点击抽卡按钮之后进入抽卡面板实现绘制面板首先在UI文件夹下面添加两个UIDocument文件第一个是GameWinPanel,注意需要给按钮添加样式,以便它有放大的效果......
  • 洛谷题单指南-线性表-P1241 括号序列
    原题链接:https://www.luogu.com.cn/problem/P1241题意解读:括号配对问题,直观上是堆栈的应用。关键的匹配策略是读懂该句:考察它与它左侧离它最近的未匹配的的左括号。解题思路:本题所需核心数据结构是堆栈,由于要实现从栈顶找到第一个未匹配的左括号,所以堆栈中只存所有左括号。从......
  • 代码随想录算法训练营第四十一天 | 416. 分割等和子集,● 01背包问题,你该了解这些! 滚
     46.携带研究材料(第六期模拟笔试)时间限制:5.000S空间限制:128MB题目描述小明是一位科学家,他需要参加一场重要的国际科学大会,以展示自己的最新研究成果。他需要带一些研究材料,但是他的行李箱空间有限。这些研究材料包括实验设备、文献资料和实验样本等等,它们各自占据......
  • P4147 玉蟾宫
    原题链接题解太巧妙了把每个点上方的连续f长度记录下来,然后求每行的柱状图构成的矩形的最大面积code#include<bits/stdc++.h>usingnamespacestd;intf[1005][1005]={0};intn,m;structnode{inth,cnt;};intsolve(introw)//每一行列上的高度,如果全部使用,......
  • 3416:【例72.1】 二进制转化为十进制
    3416:【例72.1】二进制转化为十进制时间限制:1000ms内存限制:65536KB提交数:544通过数:318【题目描述】把一个二进制数转化为十进制数。【输入】第一行一个正整数n(1≤n≤30),表示二进制数的长度。第二行一个二进制数。【输出】输出一个整数,表示对应......
  • 我们有这么多各式各样的工具,互联网给我们带来了这么多用户和数据,这是好事,也有副作用。
    当公司过度依赖数据分析来做出决策,甚至到了对微小设计决策也要进行详尽测试的地步,这可能会导致创意和直觉的空间受到限制,从而影响工作效率和创新。面对这种情况,可以考虑以下几个策略:沟通与教育:与决策者沟通,解释设计不仅仅是关于数据,还涉及到用户体验、品牌价值和审美。提供案例......