123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
- using GameLogic.Combat.CombatTool;
- using GameLogic.Combat.CombatType;
- using UnityEngine;
- namespace GameLogic.Combat.Hero.State
- {
- /// <summary>
- /// 英雄复活状态
- /// </summary>
- public class CombatResurrectionState : CombatHeroStateBasic
- {
- public CombatResurrectionState(CombatHeroEntity combatHeroEntity) : base(combatHeroEntity)
- {
- }
- protected override void ProEnter()
- {
-
- TimeLineEventLogicGroupBasic timeLineEventLogicGroupBasic =
- combatHeroEntity.combatHeroTimeLineControl.AddEventLogicGroup("die_up");
- if (timeLineEventLogicGroupBasic != null)
- {
- timeLineEventLogicGroupBasic.TimeLineUpdateEnd = delegate
- {
- combatHeroEntity.CombatAIBasic.NavMeshAgent.enabled = true;
- if (combatHeroEntity.heroDieNodeId !=
- CombatController.currActiveCombat.CombatTypeBasic.allWinNodeCount)
- {
- Vector3 pos = CombatController.currActiveCombat.CombatTypeBasic.currBannerHero.dotPos;
- if (CombatController.currActiveCombat.CombatHeroController.followTarget != null)
- {
- pos = CombatController.currActiveCombat.CombatHeroController.followTarget.dotPos +
- new Vector3(1, 0, 0);
- }
- combatHeroEntity.combatHeroGameObject.SetPosition(pos);
- combatHeroEntity.CombatAIBasic.NavMeshAgent.Warp(pos);
- }
- CombatController.currActiveCombat.CombatHeroController.ResurrectionDieHero(combatHeroEntity);
- combatHeroEntity.CombatAIBasic.ChangeState(CombatHeroStateType.idle);
- };
- }
- else
- {
- combatHeroEntity.CombatAIBasic.NavMeshAgent.enabled = true;
- if (combatHeroEntity.heroDieNodeId !=
- CombatController.currActiveCombat.CombatTypeBasic.allWinNodeCount)
- {
- Vector3 pos = CombatController.currActiveCombat.CombatTypeBasic.currBannerHero.dotPos;
- if (CombatController.currActiveCombat.CombatHeroController.followTarget != null)
- {
- pos = CombatController.currActiveCombat.CombatHeroController.followTarget.dotPos +
- new Vector3(1, 0, 0);
- }
- combatHeroEntity.combatHeroGameObject.SetPosition(pos);
- combatHeroEntity.CombatAIBasic.NavMeshAgent.Warp(pos);
- }
- CombatController.currActiveCombat.CombatHeroController.ResurrectionDieHero(combatHeroEntity);
- combatHeroEntity.CombatAIBasic.ChangeState(CombatHeroStateType.idle);
- }
- }
- protected override void ProUpdate(float t)
- {
- }
- }
- }
|