gf_widget.cs 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. using Common.Utility.CombatEvent;
  2. using Fort23.Core;
  3. using GameLogic.Combat.Hero.Turntable;
  4. using GameLogic.Combat.Skill;
  5. using UnityEngine;
  6. namespace Fort23.Mono
  7. {
  8. [UIBinding(prefab = "gf_widget")]
  9. public partial class gf_widget : UIComponent
  10. {
  11. public SkillSlots SkillSlots;
  12. public SkillBasic SkillBasic;
  13. public float jd;
  14. public int useCount;
  15. private void Init()
  16. {
  17. }
  18. public override void AddEvent()
  19. {
  20. CombatEventManager.Instance.AddEventListener(CombatEventType.SkillSlotsAlter, SkillSlotsAlter);
  21. }
  22. public override void DelEvent()
  23. {
  24. CombatEventManager.Instance.RemoveEventListener(CombatEventType.SkillSlotsAlter, SkillSlotsAlter);
  25. }
  26. public void SkillSlotsAlter(IEventData eventData)
  27. {
  28. SkillSlotsAlterEventData skillSlotsAlterEventData = (SkillSlotsAlterEventData)eventData;
  29. if (skillSlotsAlterEventData.SkillSlots == SkillSlots)
  30. {
  31. SkillBasic = SkillSlots.SkillBasic;
  32. SetUIInfo();
  33. }
  34. }
  35. public override void AddButtonEvent()
  36. {
  37. }
  38. private void SetUIInfo()
  39. {
  40. if (SkillBasic == null)
  41. {
  42. useSkillIcon.transform.parent.gameObject.SetActive(false);
  43. quan.color = Color.white;
  44. return;
  45. }
  46. useSkillIcon.transform.parent.gameObject.SetActive(true);
  47. useSkillIcon.icon_name = SkillBasic.SelfSkillConfig.icon;
  48. cd.fillAmount = 0;
  49. if (SkillBasic.SelfSkillConfig.SkillType == 2)
  50. {
  51. quan.color = new Color(0.81f, 0.21f, 1f);
  52. return;
  53. }
  54. // useCount= SkillBasic.UseCount;
  55. switch (SkillBasic.SelfSkillConfig.attribute)
  56. {
  57. case 1:
  58. quan.color = new Color(1f, 0.98f, 0.09f);
  59. break;
  60. case 2:
  61. quan.color = new Color(0.17f, 1f, 0.35f);
  62. break;
  63. case 4:
  64. quan.color = new Color(0.19f, 0.51f, 1f);
  65. break;
  66. case 8:
  67. quan.color = new Color(1f, 0.19f, 0.04f);
  68. break;
  69. case 16:
  70. quan.color = new Color(1f, 0.65f, 0.17f);
  71. break;
  72. }
  73. }
  74. public void Update()
  75. {
  76. if (SkillSlots == null|| SkillBasic == null)
  77. {
  78. return;
  79. }
  80. SkillBasic skillBasic = SkillBasic;
  81. if (skillBasic.SelfSkillConfig.SkillType != 1)
  82. {
  83. return;
  84. }
  85. float bl = 1 - SkillSlots.GetFinishBl();
  86. cd.fillAmount = bl;
  87. }
  88. public void InitSkillWidget(SkillBasic SkillBasic)
  89. {
  90. this.SkillBasic = SkillBasic;
  91. this.SkillSlots = null;
  92. SetUIInfo();
  93. }
  94. public void InitWidget(SkillSlots skillSlots)
  95. {
  96. this.SkillSlots = skillSlots;
  97. SkillBasic = skillSlots.SkillBasic;
  98. SetUIInfo();
  99. }
  100. }
  101. }