UseQuqueSkill.cs 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. using Common.Utility.CombatEvent;
  2. using Fort23.Core;
  3. using GameLogic.Combat.Skill;
  4. namespace Fort23.Mono
  5. {
  6. [UIBinding(prefab = "UseQuqueSkill")]
  7. public partial class UseQuqueSkill : UIComponent
  8. {
  9. private SkillBasic skillBasic;
  10. private void Init()
  11. {
  12. }
  13. public override void AddEvent()
  14. {
  15. CombatEventManager.Instance.AddEventListener(CombatEventType.UseSkillFinish, UseSkillFinish);
  16. CombatEventManager.Instance.AddEventListener(CombatEventType.UseSkill, UseSkill);
  17. StaticUpdater.Instance.AddRenderUpdateCallBack(Update);
  18. }
  19. public override void DelEvent()
  20. {
  21. StaticUpdater.Instance.RemoveRenderUpdateCallBack(Update);
  22. CombatEventManager.Instance.RemoveEventListener(CombatEventType.UseSkill, UseSkill);
  23. }
  24. public override void AddButtonEvent()
  25. {
  26. }
  27. private void UseSkill(IEventData ieveDtat)
  28. {
  29. CombatUseSkillEventData eventData = ieveDtat as CombatUseSkillEventData;
  30. if (eventData.useSkill==skillBasic)
  31. {
  32. UIManager.Instance.DormancyGComponent(this);
  33. return;
  34. }
  35. }
  36. private void UseSkillFinish(IEventData ieveDtat)
  37. {
  38. UseSkillFinishEventData useSkillFinishEventData = ieveDtat as UseSkillFinishEventData;
  39. if (useSkillFinishEventData.SkillBasic == skillBasic)
  40. {
  41. UIManager.Instance.DormancyGComponent(this);
  42. }
  43. }
  44. private void Update()
  45. {
  46. if (!transform.gameObject.activeSelf)
  47. {
  48. if (skillBasic.DelayUseSkillCd < 0)
  49. {
  50. transform.gameObject.SetActive(true);
  51. }
  52. }
  53. }
  54. public override void DormancyObj()
  55. {
  56. base.DormancyObj();
  57. skillBasic = null;
  58. }
  59. public void ShowWidget(SkillBasic skillBasic)
  60. {
  61. if (skillBasic.DelayUseSkillCd > 0)
  62. {
  63. transform.gameObject.SetActive(false);
  64. }
  65. useSkillIcon.icon_name=skillBasic.SelfSkillConfig.icon;
  66. this.skillBasic = skillBasic;
  67. }
  68. }
  69. }