41 lines
1010 B
C#
41 lines
1010 B
C#
using RoR2;
|
|
using UnityEngine;
|
|
|
|
namespace EntityStates.SurvivorPod;
|
|
|
|
public class Landed : SurvivorPodBaseState
|
|
{
|
|
private static int IdleStateHash = Animator.StringToHash("Idle");
|
|
|
|
public override void OnEnter()
|
|
{
|
|
base.OnEnter();
|
|
PlayAnimation("Base", IdleStateHash);
|
|
Util.PlaySound("Play_UI_podSteamLoop", base.gameObject);
|
|
base.vehicleSeat.handleVehicleExitRequestServer.AddCallback(HandleVehicleExitRequest);
|
|
}
|
|
|
|
public override void FixedUpdate()
|
|
{
|
|
if (base.fixedAge > 0f)
|
|
{
|
|
base.survivorPodController.exitAllowed = true;
|
|
}
|
|
base.FixedUpdate();
|
|
}
|
|
|
|
private void HandleVehicleExitRequest(GameObject gameObject, ref bool? result)
|
|
{
|
|
base.survivorPodController.exitAllowed = false;
|
|
outer.SetNextState(new PreRelease());
|
|
result = true;
|
|
}
|
|
|
|
public override void OnExit()
|
|
{
|
|
base.vehicleSeat.handleVehicleExitRequestServer.RemoveCallback(HandleVehicleExitRequest);
|
|
base.survivorPodController.exitAllowed = false;
|
|
Util.PlaySound("Stop_UI_podSteamLoop", base.gameObject);
|
|
}
|
|
}
|