36 lines
1.0 KiB
C#
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);
|
|
}
|
|
|
|
}
|
|
}
|