using Cirno.Scripts.AttackPatterns;
using Cirno.Scripts.Components.FSM.Enemy;
using Cirno.Scripts.Enums;
using Godot;

namespace Cirno.Scripts.Components.FSM.Boss;

public partial class BossScriptHostModule : ModuleBase<EnemyState, CharacterBody2D>, IScriptHost
{
    [Export]
    public EnemyStorageModule StorageModule { get; private set; }

    public Node2D ParentObject => _machine.MainObject;
    public Vector2 HomePosition => StorageModule.HomePosition;

    private IStateMachine<EnemyState, CharacterBody2D> _machine;
    
    public void ChangeSpriteDirection(Vector2 direction)
    {
        
    }

    public override void EnterState(EnemyState state)
    {
        
    }

    public override void ExitState(EnemyState state)
    {
        
    }

    public override void Init(IStateMachine<EnemyState, CharacterBody2D> machine)
    {
        _machine = machine;
    }

    public override void Process(double delta)
    {
        
    }

    public override void PhysicsProcess(double delta)
    {
        
    }
}