using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic; using Fort23.UTool; using UnityEngine; namespace GameLogic.Combat.Hero.State { public class CombatHeroActiveState : CombatHeroStateBasic { private Vector3 stratPos; private Vector3 endpos; private float currTime; private ParticleSystemPool loopFx; public CombatHeroActiveState(CombatHeroEntity combatHeroEntity) : base(combatHeroEntity) { } public override bool IsUpdateLockTarget() { return false; } protected override void ProEnter() { stratPos = combatHeroEntity.dotPos; currTime = 0; // endpos GObjectPool.Instance.FetchAsync("fx_gw_dunguang_loop.prefab", delegate(ParticleSystemPool obj) { loopFx = obj; obj.own.transform.position = stratPos; }); // combatHeroEntity.GetMainHotPoin(true).IsHide = false; // // TimeLineEventLogicGroupBasic timeLineEventLogicGroup = // // combatHeroEntity.combatHeroTimeLineControl.TimeLineData // // .GetTimeLineEventLogicGroup("jihuo", null); // // if (timeLineEventLogicGroup != null) // // { // // timeLineEventLogicGroup.SetCombatInfo(combatHeroEntity, null, null, new TriggerData(), null); // // timeLineEventLogicGroup.TimeLineUpdateEnd = delegate // // { // // // combatHeroEntity.GetMainHotPoin(true).IsHide = false; // // combatHeroEntity.CombatAIBasic.ChangeState(CombatHeroStateType.idle); // // combatHeroEntity.CombatAIBasic.isAlert = false; // // }; // // combatHeroEntity.combatHeroTimeLineControl.AddEventLogicGroup(timeLineEventLogicGroup); // // } // // else // // { // // // combatHeroEntity.GetMainHotPoin(true).IsHide = false; // // combatHeroEntity.CombatAIBasic.isAlert = false; // // combatHeroEntity.CombatAIBasic.ChangeState(CombatHeroStateType.idle); // // } } protected override void ProUpdate(float t) { currTime += t; if (currTime > 2) { GObjectPool.Instance.FetchAsync("fx_gw_dunguang_show.prefab", delegate(ParticleSystemPool obj) { obj.own.transform.position = stratPos; }); GObjectPool.Instance.Recycle(loopFx); combatHeroEntity.CombatAIBasic.ChangeState(CombatHeroStateType.idle); } } } }