NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/Gameplay/Vehicle/State/VehicleStateEvacuate.cs

36 lines
1.0 KiB
C#

using Framework;
using Gameplay.Area;
using Gameplay.Common;
using Gameplay.Effect;
using Gameplay.Level;
using Gameplay.Vehicle.Impl;
using LTGame;
namespace Gameplay.Vehicle.State
{
public class VehicleStateEvacuate : BaseVehicleState
{
public VehicleStateEvacuate(NormalVehicle vehicle) : base(vehicle, EVehicleState.Evacuate)
{
}
protected override void _OnEnter(NBaseState exitState,
object param)
{
base._OnEnter(exitState, param);
isFinished = true;
nextState = EVehicleState.FadeOut;
++LevelManager.Instance.CurrentLevel.RetreatCount;
EventManager.Instance.Send(EventManager.EventName.INFIGHT_UNIT_EVACUATE_FINISH, owner);
var cellIndex = owner.transData.cellIndex;
var worldPos = AreaManager.instance.GetWorldPosByIndex(cellIndex);
EffectManager.instance.PlayEffectById(CodeDefine.Fight.Evacuate.EFFECT_ID_SUCCESS, worldPos);
}
}
}