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

53 lines
1 KiB
C#
Raw Normal View History

2025-06-12 16:26:11 +02:00
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)
{
}
}