UI_TiliMenu.cs 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. using System;
  6. using DG.Tweening;
  7. /// <summary>
  8. /// 右上角菜单
  9. /// </summary>
  10. public class UI_TiliMenu : MonoBehaviour
  11. {
  12. private static UI_TiliMenu pInit = null;
  13. private GameObject btnTiliAdd = null;
  14. private GameObject resEffect = null;
  15. private Text txt_Tili = null;
  16. private const float _spaceTime = 0.5f;
  17. private float _curTime = 0;
  18. private int lastTili = 0;
  19. private int lastCash = 0;
  20. private int lastGold = 0;
  21. private Text txt_Gem = null;
  22. private Text txt_Gold = null;
  23. private GameObject btnGemAdd = null;
  24. private GameObject btnGoldAdd = null;
  25. private GameObject gemEffect = null;
  26. private GameObject goldEffect = null;
  27. private int MaxTili = 0;
  28. /// <summary>
  29. /// 单例
  30. /// </summary>
  31. public static UI_TiliMenu Instance
  32. {
  33. get
  34. {
  35. return pInit;
  36. }
  37. }
  38. /// <summary>
  39. /// 创建
  40. /// </summary>
  41. /// <param name="parentTran">父Transform</param>
  42. public static void Create(Transform parentTran,bool show = false)
  43. {
  44. if (show == false)
  45. {
  46. return;
  47. }
  48. ResourceHelper.Instance.LoadAssetBundle("UI_TiliMenu", (ab) =>
  49. {
  50. if (ab != null)
  51. {
  52. GameObject uiObj = Instantiate(ab.LoadAsset<GameObject>("UI_TiliMenu"), parentTran);
  53. pInit = uiObj.AddComponent<UI_TiliMenu>();
  54. pInit.Init();
  55. }
  56. });
  57. }
  58. /// <summary>
  59. /// 初始化
  60. /// </summary>
  61. private void Init()
  62. {
  63. _curTime = _spaceTime;
  64. txt_Gem = transform.Find("GemBG/txt_Gem").GetComponent<Text>();
  65. txt_Gold = transform.Find("GoldBG/txt_Gold").GetComponent<Text>();
  66. txt_Tili = transform.Find("ResBG/txt_Res").GetComponent<Text>();
  67. btnGemAdd = transform.Find("GemBG/btn_GemAdd").gameObject;
  68. EventTriggerListener.Get(btnGemAdd).onClick = GemAdd_Click;
  69. btnGoldAdd = transform.Find("GoldBG/btn_GoldAdd").gameObject;
  70. EventTriggerListener.Get(btnGoldAdd).onClick = GoldAdd_Click;
  71. btnTiliAdd = transform.Find("ResBG/btn_ResAdd").gameObject;
  72. EventTriggerListener.Get(btnTiliAdd).onClick = ResAdd_Click;
  73. gemEffect = transform.Find("GemBG/UI_kouchu_saoguang").gameObject;
  74. goldEffect = transform.Find("GoldBG/UI_kouchu_saoguang").gameObject;
  75. resEffect = transform.Find("ResBG/UI_kouchu_saoguang").gameObject;
  76. lastTili = UserProxy.Instance.player.baseInfo.tili;
  77. lastCash = UserProxy.Instance.player.baseInfo.cash;
  78. lastGold = UserProxy.Instance.player.baseInfo.gold;
  79. txt_Gem.text = UserProxy.Instance.player.baseInfo.cash.ToString();
  80. txt_Gold.text = UserProxy.Instance.player.baseInfo.gold.ToString();
  81. MaxTili = int.Parse(GameConfigData.Ins.globalsettings.TiliMaxVal.ToString());
  82. txt_Tili.text = txt_Tili.text = UserProxy.Instance.player.baseInfo.tili.ToString() + " / " + MaxTili;
  83. }
  84. private void Update()
  85. {
  86. _curTime -= Time.deltaTime;
  87. if (_curTime <= 0)
  88. {
  89. _curTime = _spaceTime;
  90. //// 资源点
  91. if (lastTili != UserProxy.Instance.player.baseInfo.tili)
  92. {
  93. lastTili = UserProxy.Instance.player.baseInfo.tili;
  94. txt_Tili.text = UserProxy.Instance.player.baseInfo.tili.ToString()+ " / "+ MaxTili;
  95. resEffect.SetActive(false);
  96. resEffect.SetActive(true);
  97. }
  98. // 宝石
  99. if (lastCash != UserProxy.Instance.player.baseInfo.cash)
  100. {
  101. lastCash = UserProxy.Instance.player.baseInfo.cash;
  102. txt_Gem.text = UserProxy.Instance.player.baseInfo.cash.ToString();
  103. gemEffect.SetActive(false);
  104. gemEffect.SetActive(true);
  105. }
  106. // 金币
  107. if (lastGold != UserProxy.Instance.player.baseInfo.gold)
  108. {
  109. lastGold = UserProxy.Instance.player.baseInfo.gold;
  110. txt_Gold.text = UserProxy.Instance.player.baseInfo.gold.ToString();
  111. goldEffect.SetActive(false);
  112. goldEffect.SetActive(true);
  113. }
  114. }
  115. }
  116. /// <summary>
  117. /// 增加资源点 点击
  118. /// </summary>
  119. /// <param name="go"> 按钮对象 </param>
  120. private void ResAdd_Click(GameObject go)
  121. {
  122. PanelHelper.Instance.ShowPanel("UI_NewBuyTiliWindow", (panel) =>
  123. {
  124. //UI_ShopPrizesPanel shopPrize = panel.GetComponent<UI_ShopPrizesPanel>();
  125. //shopPrize.Init();
  126. //shopPrize.Show(lst);
  127. });
  128. }
  129. /// <summary>
  130. /// 增加钻石 点击
  131. /// </summary>
  132. /// <param name="go"> 按钮对象 </param>
  133. private void GemAdd_Click(GameObject go)
  134. {
  135. LogHelper.Log("点击增加钻石");
  136. }
  137. /// <summary>
  138. /// 增加金币 点击
  139. /// </summary>
  140. /// <param name="go"> 按钮对象 </param>
  141. private void GoldAdd_Click(GameObject go)
  142. {
  143. LogHelper.Log("点击增加金币");
  144. }
  145. }