using Cirno.Scripts.Components.Actors;
using Cirno.Scripts.Enums;
using Godot;

namespace Cirno.Scripts.Components.FSM.Enemy;

public partial class Init : EnemyStateBase
{
    public override EnemyState StateId => EnemyState.Init;

    [Export]
    public GenericDamageReceiver DamageReceiver { get; private set; }
    
    [Export]
    public EnemyStorageModule StorageModule { get; private set; }
    
    public override void EnterState()
    {
        DamageReceiver.HealthProvider.MaxResource = StorageModule.Root.EnemyResource.MaxHealth;

        StorageModule.AiState = StorageModule.Root.StartingAiState;

        StorageModule.HomePosition = MainObject.GlobalPosition;
        // TODO: Hide wings
        // TODO: Hide aiming reticule
        
        StateMachine.SetState(EnemyState.Idle);
    }
    
    public override void PhysicsProcessState(double delta)
    {

    }

    public override void ProcessState(double delta)
    {

    }
    
}