MagicWeaponAttState.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. using Common.Utility.CombatEvent;
  2. using Core.Utility;
  3. using Fort23.Core;
  4. using GameLogic.Combat.Skill;
  5. using UnityEngine;
  6. namespace GameLogic.Combat.Hero.State
  7. {
  8. public class MagicWeaponAttState : CombatHeroStateBasic
  9. {
  10. private CombatMagicWeaponEntity myCombatMagicWeaponEntity;
  11. public MagicWeaponAttState(CombatHeroEntity combatHeroEntity) : base(combatHeroEntity)
  12. {
  13. myCombatMagicWeaponEntity = combatHeroEntity as CombatMagicWeaponEntity;
  14. }
  15. /// <summary>
  16. /// 开始攻击
  17. /// </summary>
  18. protected override void ProEnter()
  19. {
  20. if (myCombatMagicWeaponEntity.CombatHeroSkillControl.allSkill.Count <= 0)
  21. {
  22. Finish();
  23. return;
  24. }
  25. SkillBasic skillBasic = myCombatMagicWeaponEntity.CombatHeroSkillControl.allSkill[0];
  26. if (skillBasic == null)
  27. {
  28. Finish();
  29. return;
  30. }
  31. skillBasic.SetSkillFinishCallBack(delegate(SkillBasic sb) { Finish(); });
  32. skillBasic.UseSkill();
  33. }
  34. private void Finish()
  35. {
  36. HeroDieEventData heroDieEventData = HeroDieEventData.Create();
  37. heroDieEventData.combatHeroEntity = myCombatMagicWeaponEntity;
  38. CombatEventManager.Instance.Dispatch(CombatEventType.MagicWeaponDie,
  39. heroDieEventData);
  40. myCombatMagicWeaponEntity.CombatAIBasic.ChangeState(CombatHeroStateType.XiuMian);
  41. }
  42. private void SetTargetPos()
  43. {
  44. }
  45. protected override void ProExit()
  46. {
  47. }
  48. }
  49. }