| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 | 
							- using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
 
- using Common.Utility.CombatEvent;
 
- using Fort23.Core;
 
- using GameLogic.Combat.CombatTool;
 
- namespace GameLogic.Combat.Hero.State
 
- {
 
-     /// <summary>
 
-     /// 英雄的休眠状态
 
-     /// </summary>
 
-     public class CombatHeroXiuMianState : CombatHeroStateBasic
 
-     {
 
-         private TimerEntity _timerEntity;
 
-         public CombatHeroXiuMianState(CombatHeroEntity combatHeroEntity) : base(combatHeroEntity)
 
-         {
 
-         }
 
-         protected override void ProEnter()
 
-         {
 
-             if (!combatHeroEntity.IsEnemy)
 
-             {
 
-                 combatHeroEntity.CombatAIBasic.ChangeState(CombatHeroStateType.idle);
 
-                 return;
 
-             }
 
-             combatHeroEntity.GetMainHotPoin<CombatHeroHitPoint>(true).IsHide = true;
 
-             CombatEventManager.Instance.AddEventListener(CombatEventType.ActiveCombat, ActiveCombat);
 
-             TimeLineEventLogicGroupBasic timeLineEventLogicGroup =
 
-                 combatHeroEntity.combatHeroTimeLineControl.TimeLineData
 
-                     .GetTimeLineEventLogicGroup<TimeLineEventLogicGroupBasic>("xiumian", null);
 
-             if (timeLineEventLogicGroup != null)
 
-             {
 
-                 timeLineEventLogicGroup.SetCombatInfo(combatHeroEntity, null, null, new TriggerData(), null);
 
-                 timeLineEventLogicGroup.TimeLineUpdateEnd = delegate { FinishTimeLine(); };
 
-                 combatHeroEntity.combatHeroTimeLineControl.AddEventLogicGroup(timeLineEventLogicGroup);
 
-             }
 
-             else
 
-             {
 
-                 FinishTimeLine();
 
-             }
 
-         }
 
-         protected void FinishTimeLine()
 
-         {
 
-             if (CombatController.currActiveCombat.CombatTypeBasic.isActiveCombat)
 
-             {
 
-                 ActiveHero();
 
-             }
 
-         }
 
-         protected void ActiveHero()
 
-         {
 
-             _timerEntity= TimerComponent.Instance.AddTimer(CombatCalculateTool.Instance.GetOdd(0, 2000),
 
-                 delegate
 
-                 {
 
-                     combatHeroEntity.CombatAIBasic.ChangeState(CombatHeroStateType.Active);
 
-                 });
 
-         }
 
-         private void ActiveCombat(IEventData eventData)
 
-         {
 
-             CombatEventManager.Instance.RemoveEventListener(CombatEventType.ActiveCombat, ActiveCombat);
 
-             ActiveHero();
 
-         }
 
-         protected override void ProExit()
 
-         {
 
-             CombatEventManager.Instance.RemoveEventListener(CombatEventType.ActiveCombat, ActiveCombat);
 
-         }
 
-         protected override void ProDispose()
 
-         {
 
-             TimerComponent.Instance.Remove(_timerEntity);
 
-             CombatEventManager.Instance.RemoveEventListener(CombatEventType.ActiveCombat, ActiveCombat);
 
-         }
 
-     }
 
- }
 
 
  |