MagicWeaponWidget.cs 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. using Core.Language;
  2. using Excel2Json;
  3. using GameLogic.Combat.Buff;
  4. using GameLogic.Combat.CombatTool;
  5. using GameLogic.Combat.Hero;
  6. namespace Fort23.Mono
  7. {
  8. [UIBinding(prefab = "MagicWeaponWidget")]
  9. public partial class MagicWeaponWidget : UIComponent
  10. {
  11. private CombatMagicWeaponEntity combatMagicWeaponEntity;
  12. private void Init()
  13. {
  14. }
  15. public override void AddEvent()
  16. {
  17. StaticUpdater.Instance.AddLateUpdateCallBack(Update);
  18. }
  19. public override void DelEvent()
  20. {
  21. StaticUpdater.Instance.RemoveLateUpdateCallBack(Update);
  22. }
  23. public override void AddButtonEvent()
  24. {
  25. myButton.onClick.AddListener(() =>
  26. {
  27. if (combatMagicWeaponEntity.IsEnemy)
  28. {
  29. // SkillConfig skillConfig = SkillBasic.SelfSkillConfig;
  30. CombatController.currActiveCombat.isUpdate = false;
  31. SkillMassgePanel.OpenSkillSelectPanel(LanguageManager.Instance.Text(combatMagicWeaponEntity.FaBaoInfo.FabaoConfig.name), LanguageManager.Instance.Text(combatMagicWeaponEntity.FaBaoInfo.FabaoConfig.model),
  32. delegate()
  33. {
  34. CombatController.currActiveCombat.isUpdate = true;
  35. });
  36. return;
  37. }
  38. if (combatMagicWeaponEntity == null || combatMagicWeaponEntity.cd > 0)
  39. {
  40. return;
  41. }
  42. b_1008 b1008= combatMagicWeaponEntity.BuffControl.GetBuffBasicForType<b_1008>();
  43. if (b1008 != null)
  44. {
  45. return;
  46. }
  47. combatMagicWeaponEntity.UseMagicWeapon();
  48. });
  49. }
  50. public void InitWidget(CombatMagicWeaponEntity combatMagicWeaponEntity)
  51. {
  52. this.combatMagicWeaponEntity = combatMagicWeaponEntity;
  53. }
  54. private void Update()
  55. {
  56. if (combatMagicWeaponEntity == null)
  57. {
  58. return;
  59. }
  60. float d = combatMagicWeaponEntity.cd / combatMagicWeaponEntity.MaxCd;
  61. cd.fillAmount = d;
  62. }
  63. }
  64. }