MagicWeaponWidget.cs 1.6 KB

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