MagicWeaponWidget.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using GameLogic.Combat.Hero;
  2. namespace Fort23.Mono
  3. {
  4. [UIBinding(prefab = "MagicWeaponWidget")]
  5. public partial class MagicWeaponWidget : UIComponent
  6. {
  7. private CombatMagicWeaponEntity combatMagicWeaponEntity;
  8. private void Init()
  9. {
  10. }
  11. public override void AddEvent()
  12. {
  13. StaticUpdater.Instance.AddLateUpdateCallBack(Update);
  14. }
  15. public override void DelEvent()
  16. {
  17. StaticUpdater.Instance.RemoveRenderUpdateCallBack(Update);
  18. }
  19. public override void AddButtonEvent()
  20. {
  21. myButton.onClick.AddListener(() =>
  22. {
  23. if (combatMagicWeaponEntity.IsEnemy)
  24. {
  25. return;
  26. }
  27. if (combatMagicWeaponEntity == null || combatMagicWeaponEntity.cd > 0)
  28. {
  29. return;
  30. }
  31. combatMagicWeaponEntity.UseMagicWeapon();
  32. });
  33. }
  34. public void InitWidget(CombatMagicWeaponEntity combatMagicWeaponEntity)
  35. {
  36. this.combatMagicWeaponEntity = combatMagicWeaponEntity;
  37. }
  38. private void Update()
  39. {
  40. if (combatMagicWeaponEntity == null)
  41. {
  42. return;
  43. }
  44. float d = combatMagicWeaponEntity.cd / combatMagicWeaponEntity.MaxCd;
  45. cd.fillAmount = d;
  46. }
  47. }
  48. }