mirror of
https://gitlab.com/MaddoScientisto/cirnogodot.git
synced 2026-06-01 11:15:33 +00:00
53 lines
No EOL
1 KiB
C#
53 lines
No EOL
1 KiB
C#
using Godot;
|
|
|
|
namespace Cirno.Scripts.Components.FSM._3DPlayer;
|
|
|
|
public partial class IsoInteractionController : Area3D, IModule<PlayerState, CharacterBody3D>
|
|
{
|
|
|
|
private bool _enabled = false;
|
|
|
|
public bool Enabled
|
|
{
|
|
get => _enabled;
|
|
set
|
|
{
|
|
if (_enabled == value) return;
|
|
_enabled = value;
|
|
if (_enabled)
|
|
{
|
|
EmitSignal(SignalName.InteractionStarted);
|
|
}
|
|
}
|
|
}
|
|
|
|
[Signal]
|
|
public delegate void InteractionStartedEventHandler();
|
|
|
|
public IStateMachine<PlayerState, CharacterBody3D> StateMachine { get; private set; }
|
|
|
|
public void EnterState(PlayerState state)
|
|
{
|
|
Enabled = true;
|
|
}
|
|
|
|
public void ExitState(PlayerState state)
|
|
{
|
|
Enabled = false;
|
|
}
|
|
|
|
public void Init(IStateMachine<PlayerState, CharacterBody3D> machine)
|
|
{
|
|
StateMachine = machine;
|
|
}
|
|
|
|
public void Process(double delta)
|
|
{
|
|
|
|
}
|
|
|
|
public void PhysicsProcess(double delta)
|
|
{
|
|
|
|
}
|
|
} |