自身玩家弃牌

  • 三个玩家都有弃牌的操作,可以提取到基类中
  • 弃牌操作多了些操作,只需要重写即可
  • 在比牌失败以及弃牌按钮的点击事件中调用这个方法

BaseManager_Stand

/// <summary>/// 弃牌/// </summary>protected virtual void GiveUpCard(){isGiveUpCard = true;//是否弃牌设置为truego_CountDown.SetActive(false);//隐藏倒计时txt_GiveUp.SetActive(true);//显示已放弃m_IsStartStakes = false;//自身是否开始下注设置为falsem_ZjhManager.SetNextPlayerStartStakes();//设置下一位玩家下注///删除三张牌foreach (var item in m_SpawnCardLsit){Destroy(item);}}

SelfManager_Stand

 /// <summary>/// 弃牌/// </summary>protected override void GiveUpCard(){base.GiveUpCard();go_CompareButtons.SetActive(false);//隐藏比牌按钮go_BottomButton.SetActive(false);//隐藏底部按钮}

自身玩家加注的处理

  • 在UGUI中所有的按钮的点击范围都是一个长方形
  • 本游戏中的底部按钮为不规则的图片,所以需要进行设置
  • 利用alphaHitTestMinimumThreshold来进行设置UGUI的按钮点击范围
  • 设置倍数的颜色,实现当前的倍数颜色和未点击的倍数颜色不同
  • 加注的点击,确定当前是几倍,在调用ZhjManager_Stand中的下注方法
  • 最后进行设置

SelfManager_Stand

//设置颜色private void FixedUpdate(){if (tgo_2.isOn){tgo_2.GetComponent<Image>().color = Color.gray;tgo_5.GetComponent<Image>().color = Color.white;tgo_10.GetComponent<Image>().color = Color.white;}if (tgo_5.isOn){tgo_5.GetComponent<Image>().color = Color.gray;tgo_2.GetComponent<Image>().color = Color.white;tgo_10.GetComponent<Image>().color = Color.white;}if (tgo_10.isOn){tgo_10.GetComponent<Image>().color = Color.gray;tgo_5.GetComponent<Image>().color = Color.white;tgo_2.GetComponent<Image>().color = Color.white;}}
//设置所有按钮的点击范围btn_LockCard.GetComponent<Image>().alphaHitTestMinimumThreshold = 0.5f;btn_FollowStakes.GetComponent<Image>().alphaHitTestMinimumThreshold = 0.5f;btn_AddStakes.GetComponent<Image>().alphaHitTestMinimumThreshold = 0.5f;btn_ComapreCard.GetComponent<Image>().alphaHitTestMinimumThreshold = 0.5f;btn_GiveUp.GetComponent<Image>().alphaHitTestMinimumThreshold = 0.5f;tgo_2.GetComponent<Image>().alphaHitTestMinimumThreshold = 0.5f;tgo_5.GetComponent<Image>().alphaHitTestMinimumThreshold = 0.5f;tgo_10.GetComponent<Image>().alphaHitTestMinimumThreshold = 0.5f;//加注的方法/// <summary>/// 加注按钮的点击/// </summary>private void OnAddStakesButtonClick(){if (tgo_2.isOn){StakesAffter(m_ZjhManager.Stakes(m_ZjhManager.Stakes(0) * 1), "不看");}if (tgo_5.isOn){StakesAffter(m_ZjhManager.Stakes(m_ZjhManager.Stakes(0) * 5), "不看");}if (tgo_10.isOn){StakesAffter(m_ZjhManager.Stakes(m_ZjhManager.Stakes(0) * 9), "不看");}m_IsStartStakes = false;//是否开始下注设置为falsego_CountDown.SetActive(false);//隐藏倒计时SetBottomButtonInteractable(false);//底部按钮的可交互性设置为falsego_CompareButtons.SetActive(false);//比牌按钮设置为falsem_ZjhManager.SetNextPlayerStartStakes();//设置下一位玩家可以下注}

自身比牌

  • 制作两个按钮,一个和左边玩家进行比牌,一个和右边玩家进行比牌
  • 在ZhjManager_Stand中定义两个属性,Get值为 return左右两边玩家中bool值是否弃牌
  • 在点击比牌按钮时,调用ZhjManager_Stand中的两个属性进行判断左右两边玩家是否弃牌,如果未弃牌则显示比牌按钮
  • 在ZhjManager_Stand中创建自身玩家与两个玩家比牌的方法,广播VSWithSelf这个事件码
  • 给两个按钮添加点击事件,调用ZjhManager_Stand中的比牌方法

SelfManager_Stand

 /// <summary>/// 比牌按钮的点击/// </summary>private void OnCompareButtonClick(){go_CompareButtons.SetActive(true);if (m_ZjhManager.m_LeftIsGiveUp){btn_CompareLeft.gameObject.SetActive(false);}if (m_ZjhManager.m_RightIsGiveUp){btn_CompareRight.gameObject.SetActive(false);}}/// <summary>/// 与左边玩家比牌的按钮点击/// </summary>private void OnCompareLeftButtonClick(){m_ZjhManager.SelfPlayerWithLeftPlayerCompared();SetBottomButtonInteractable(false);}/// <summary>/// 与右边玩家比牌的按钮点击/// </summary>private void OnCompareRightButtonClick(){m_ZjhManager.SelfPlayerWithRightPlayerCompared();SetBottomButtonInteractable(false);}

ZhjManager_Stand

     public bool m_LeftIsGiveUp { get { return m_LeftManager.isGiveUpCard; } }public bool m_RightIsGiveUp { get { return m_RightManager.isGiveUpCard; } }/// <summary>/// self玩家与左边玩家比牌/// </summary>public void SelfPlayerWithLeftPlayerCompared(){EventCenter.Broadcast(EventDefine.VSWithSelf, (BaseManager_Stand)m_SelfManager, (BaseManager_Stand)m_LeftManager, "我", "左边玩家");} /// <summary>/// self玩家与右边玩家比牌/// </summary>public void SelfPlayerWithRightPlayerCompared(){EventCenter.Broadcast(EventDefine.VSWithSelf, (BaseManager_Stand)m_SelfManager, (BaseManager_Stand)m_RightManager, "我", "右边玩家");}

Zjh游戏(二十三)自身弃牌、比牌以及加注的处理相关推荐

  1. Zjh游戏(十三)获取用户信息

    添加获取用户信息的子操作码 using System; using System.Collections.Generic; using System.Linq; using System.Text;n ...

  2. 【Visual C++】游戏开发五十六 浅墨DirectX教程二十三 打造游戏GUI界面(一)

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/16384009 作者:毛星 ...

  3. [系统安全] 二十三.逆向分析之OllyDbg动态调试复习及TraceMe案例分析

    您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...

  4. 『牛角书』基于JS实现的鸿蒙游戏——二十四点纸牌

    目录 前言 概述 正式开始 一.创建项目 二.编码 1.项目结构 2.实现思路 3.主要代码块 三.页面及功能展示 1.运算正确 2.运算错误 3.换一批及重置 本人项目仓库链接 前言 相信大家都有玩 ...

  5. 深入理解常见的二十三种设计模式

    深入理解常见的二十三种设计模式 文章目录 深入理解常见的二十三种设计模式 一.设计模式的分类 1.1 创建型(五种) 1.2 结构型(七种) 1.3 行为型(十一种) 二.创建型 2.1 单例模式 2 ...

  6. z490 linux raid,PC硬件与外设 篇二十三:光威弈系列Pro Z490平台装机评测(含raid模式)...

    PC硬件与外设 篇二十三:光威弈系列Pro Z490平台装机评测(含raid模式) 2020-06-16 09:53:51 0点赞 0收藏 0评论 创作立场声明:raid模式值得体验 存储颗粒与主控的 ...

  7. 2021-07-06美学心得(第二百二十三集) 罗国正 (2021年6月)

    美学心得(第二百二十三集) 罗国正 (2021年6月) 2984.清朝画家.画论家布颜图,满洲镶白旗人,官绥远副都统,能画.善诗.好琴.他的主要美学观点如下: 1.绘画分"为人画" ...

  8. Java代码设计模式讲解二十三种设计模式

    设计模式 文章目录 设计模式 一.创造型设计模式 1.1 单例模式 1.1.1 饿汉式单例模式 1.1.2 懒汉式单例模式 (1)线程不安全的情况 (2)线程安全的情况 1. 实例化的方法上加sync ...

  9. Java实现二十三种设计模式(五)—— 十一种行为型模式 (中)——解释器模式、迭代器模式、中介者模式、备忘录模式

    Java实现二十三种设计模式(五)-- 十一种行为型模式 (中)--解释器模式.迭代器模式.中介者模式.备忘录模式 一.解释器模式 我国 IT 界历来有一个汉语编程梦,虽然各方对于汉语编程争论不休,甚 ...

  10. 云计算设计模式(二十三)——Throttling节流模式

    云计算设计模式(二十三)--Throttling节流模式 控制由应用程序使用,一个单独的租户或整个服务的一个实例的资源的消耗.这样的模式能够同意系统继续执行并满足服务水平协议.即使当添加需求的资源放置 ...

最新文章

  1. Redis官方的高可用性解决方案
  2. linux杀死tomcat进程6,Linux下启动停止查看杀死Tomcat进程(示例代码)
  3. Linux命令——expr
  4. 一个人最重要的是跌倒了爬起来的能力
  5. 4个月高效备考信息系统项目管理师经验分享【57,49,49】
  6. LeetCode:Sudoku Solver Valid Sudouku
  7. 授权(Authentication)
  8. Lugre摩擦模型的Stribeck曲线仿真
  9. 编写Python高质量代码,资深程序员的 91 个建议
  10. 获取文本上字符出现的次数,把数据写入文件
  11. 圣诞祝福网页_圣诞营销H5的多种趣味玩法(案例+模板)
  12. SQL2016发布订阅热备操作手册
  13. Java性能优化的35种方法
  14. 学制两年的计算机考研院校,研究生学制三年合适还是两年实用
  15. 迅雷手机版苹果版_iOS迅雷2019内测版重磅发布,果粉们珍藏好这份详细下载教程...
  16. 服务器部署方案文档,IBM目录服务器部署方案
  17. ae 渲染 计算机内存不足,AE内存不足怎么办? After Effects内存不足【解决方法】...
  18. React React组件之间的通信方式
  19. 竟然可以用Python操作 Word 文档,这么多的骚操作!
  20. 手机Web前端调试页面之——Chrome DevTools(谷歌浏览器)的模拟手机调试

热门文章

  1. 真的要转到云IDE了吗?VS Code的开源IDE
  2. 取消烦人的自动代理配置
  3. 微信订阅号内测大改版,这一次更像「今日头条」了
  4. Java算法基础:使用递归算法实现,平方相加1^2 + 2^2 + 3^2 +...+ n^2。
  5. Python中机器学习神器——sklearn模块
  6. 中学生应该如何选择零食
  7. 26岁,转行Python,是这辈子最成功的一件事......
  8. linux 清屏命令(3种方式),Linux 清屏命令
  9. 吊打面试官之一面自我介绍
  10. python绘制月亮_用Python写一个嫦娥奔月,中秋快乐