CombatHeroActiveState.cs 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
  2. using Fort23.UTool;
  3. using UnityEngine;
  4. namespace GameLogic.Combat.Hero.State
  5. {
  6. public class CombatHeroActiveState : CombatHeroStateBasic
  7. {
  8. private Vector3 stratPos;
  9. private Vector3 endpos;
  10. private float currTime;
  11. private ParticleSystemPool loopFx;
  12. public CombatHeroActiveState(CombatHeroEntity combatHeroEntity) : base(combatHeroEntity)
  13. {
  14. }
  15. public override bool IsUpdateLockTarget()
  16. {
  17. return false;
  18. }
  19. protected override void ProEnter()
  20. {
  21. stratPos = combatHeroEntity.dotPos;
  22. currTime = 0;
  23. // endpos
  24. GObjectPool.Instance.FetchAsync<ParticleSystemPool>("fx_gw_dunguang_loop.prefab",
  25. delegate(ParticleSystemPool obj)
  26. {
  27. loopFx = obj;
  28. obj.own.transform.position = stratPos;
  29. });
  30. // combatHeroEntity.GetMainHotPoin<CombatHeroHitPoint>(true).IsHide = false;
  31. // // TimeLineEventLogicGroupBasic timeLineEventLogicGroup =
  32. // // combatHeroEntity.combatHeroTimeLineControl.TimeLineData
  33. // // .GetTimeLineEventLogicGroup<TimeLineEventLogicGroupBasic>("jihuo", null);
  34. // // if (timeLineEventLogicGroup != null)
  35. // // {
  36. // // timeLineEventLogicGroup.SetCombatInfo(combatHeroEntity, null, null, new TriggerData(), null);
  37. // // timeLineEventLogicGroup.TimeLineUpdateEnd = delegate
  38. // // {
  39. // // // combatHeroEntity.GetMainHotPoin<CombatHeroHitPoint>(true).IsHide = false;
  40. // // combatHeroEntity.CombatAIBasic.ChangeState(CombatHeroStateType.idle);
  41. // // combatHeroEntity.CombatAIBasic.isAlert = false;
  42. // // };
  43. // // combatHeroEntity.combatHeroTimeLineControl.AddEventLogicGroup(timeLineEventLogicGroup);
  44. // // }
  45. // // else
  46. // // {
  47. // // // combatHeroEntity.GetMainHotPoin<CombatHeroHitPoint>(true).IsHide = false;
  48. // // combatHeroEntity.CombatAIBasic.isAlert = false;
  49. // // combatHeroEntity.CombatAIBasic.ChangeState(CombatHeroStateType.idle);
  50. // // }
  51. }
  52. protected override void ProUpdate(float t)
  53. {
  54. currTime += t;
  55. if (currTime > 2)
  56. {
  57. GObjectPool.Instance.FetchAsync<ParticleSystemPool>("fx_gw_dunguang_show.prefab",
  58. delegate(ParticleSystemPool obj) { obj.own.transform.position = stratPos; });
  59. GObjectPool.Instance.Recycle(loopFx);
  60. combatHeroEntity.CombatAIBasic.ChangeState(CombatHeroStateType.idle);
  61. }
  62. }
  63. }
  64. }