cirnogodot/Scripts/Components/FSM/PlayerArea2DModule.cs

21 lines
661 B
C#
Raw Normal View History

2025-03-05 10:55:14 +01:00
using Godot;
namespace Cirno.Scripts.Components.FSM;
public abstract partial class PlayerArea2DModule : Area2D, IModule<PlayerState, CharacterBody2D>
{
public IStateMachine<PlayerState, CharacterBody2D> StateMachine { get; private set; }
public CharacterBody2D CharacterBody => StateMachine.MainObject;
2025-03-08 11:33:26 +01:00
public abstract void EnterState(PlayerState state);
public abstract void ExitState(PlayerState state);
2025-03-05 10:55:14 +01:00
public virtual void Init(IStateMachine<PlayerState, CharacterBody2D> machine)
{
StateMachine = machine;
}
public abstract void Process(double delta);
public abstract void PhysicsProcess(double delta);
}