MagicWeaponIdleState.cs 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
  2. using Common.Utility.CombatEvent;
  3. using Fort23.Core;
  4. using GameLogic.Combat.CombatTool;
  5. using GameLogic.Combat.Hero.State;
  6. using UnityEngine;
  7. namespace GameLogic.Combat.Hero
  8. {
  9. public class MagicWeaponIdleState : CombatHeroStateBasic
  10. {
  11. private CombatMagicWeaponEntity myCombatMagicWeaponEntity;
  12. private Vector3 startPos;
  13. private Vector3 endPos;
  14. private float _addTime;
  15. private float _currTime;
  16. private float _awaitTime;
  17. public MagicWeaponIdleState(CombatHeroEntity combatHeroEntity) : base(combatHeroEntity)
  18. {
  19. myCombatMagicWeaponEntity = combatHeroEntity as CombatMagicWeaponEntity;
  20. }
  21. protected override void ProEnter()
  22. {
  23. TimeLineEventLogicGroupBasic timeLineEventLogicGroup =
  24. combatHeroEntity.combatHeroTimeLineControl.AddEventLogicGroup("run");
  25. _awaitTime = 1.0f;
  26. }
  27. protected override void ProUpdate(float t)
  28. {
  29. if (myCombatMagicWeaponEntity.MagicWeaponCollisionId >= 0)
  30. {
  31. MagicWeaponCollisionInfo nMagicWeaponCollisionInfo =
  32. CombatController.currActiveCombat.MagicWeaponCombatSence.FindMagicWeaponCollisionInfo(
  33. myCombatMagicWeaponEntity.MagicWeaponCollisionId);
  34. if (!nMagicWeaponCollisionInfo.a.isCombatState || !nMagicWeaponCollisionInfo.b.isCombatState)
  35. {
  36. Quaternion newQuaternion = Quaternion.identity;
  37. myCombatMagicWeaponEntity.GameObject.transform.rotation = Quaternion.RotateTowards(
  38. myCombatMagicWeaponEntity.GameObject.transform.rotation,
  39. newQuaternion, 5);
  40. }
  41. // else
  42. // {
  43. // myCombatMagicWeaponEntity.CombatAIBasic.ChangeState(CombatHeroStateType.move);
  44. // }
  45. return;
  46. }
  47. else
  48. {
  49. myCombatMagicWeaponEntity.CombatAIBasic.ChangeState(CombatHeroStateType.att);
  50. }
  51. }
  52. protected override void ProExit()
  53. {
  54. }
  55. public override bool IsUpdateLockTarget()
  56. {
  57. return false;
  58. }
  59. protected override void ProDispose()
  60. {
  61. }
  62. }
  63. }