Add FSM components for player and enemy state management, including initialization and module resolution

This commit is contained in:
MaddoScientisto 2026-02-26 23:13:57 +01:00
commit b6cc5a00e8
57 changed files with 526 additions and 506 deletions

View file

@ -1,9 +1,11 @@
using Cirno.Scripts.Components.Actors;
using Godot;
using Cirno.Scripts.Resources.Loot;
using System.Collections.Generic;
namespace Cirno.Scripts.Components.FSM._3DPlayer;
public partial class IsoPlayerStorageModule : Node
public partial class IsoPlayerStorageModule : Node, IFSMStorage, IActorStorage
{
[Export] public IsoPlayerFSMProxy Root { get; private set; }
@ -14,4 +16,7 @@ public partial class IsoPlayerStorageModule : Node
public Vector2 FacingDirection { get; set; } = Vector2.Down;
public Vector2 AimingDirection { get; set; } = Vector2.Down;
public Vector2 MovementDirection { get; set; } = Vector2.Zero;
// Implement LootDrops for IFSMStorage (players may not drop loot but expose empty list)
public IEnumerable<LootDrop> LootDrops => new LootDrop[0];
}