cirnogodot/Scripts/Components/FSM/3DPlayer/PlayerAcidDeathModule.cs

40 lines
No EOL
821 B
C#

using Godot;
namespace Cirno.Scripts.Components.FSM._3DPlayer;
public partial class PlayerAcidDeathModule : ModuleBase<PlayerState, CharacterBody3D>
{
private bool _enabled = false;
public override void EnterState(PlayerState state)
{
_enabled = true;
}
public override void ExitState(PlayerState state)
{
_enabled = false;
}
public override void Init(IStateMachine<PlayerState, CharacterBody3D> machine)
{
base.Init(machine);
}
public override void Process(double delta)
{
}
public override void PhysicsProcess(double delta)
{
}
public void OnAcidCollision(Area3D area)
{
if (!_enabled) return;
GD.Print("Oh no acid");
StateMachine.SetState(PlayerState.Dead);
}
}