46 lines
1.3 KiB
C#
46 lines
1.3 KiB
C#
using Core.SaveLoad;
|
|
using Interactions;
|
|
using UnityEngine;
|
|
|
|
namespace StateMachines.Quarry.SoundBird
|
|
{
|
|
/// <summary>
|
|
/// Idle state for the Sound Bird - bird is landed and slot is interactable
|
|
/// </summary>
|
|
public class IdleState : AppleState
|
|
{
|
|
[Header("Slot Reference")]
|
|
[Tooltip("The item slot that should be enabled when the bird is idle")]
|
|
[SerializeField] private ItemSlot itemSlot;
|
|
|
|
public override void OnEnterState()
|
|
{
|
|
// Enable the slot when the bird lands (enters idle)
|
|
if (itemSlot != null)
|
|
{
|
|
itemSlot.SetActive(true);
|
|
Debug.Log($"[IdleState] Enabled ItemSlot: {itemSlot.gameObject.name}");
|
|
}
|
|
else
|
|
{
|
|
Debug.LogWarning("[IdleState] ItemSlot reference is null - cannot enable slot");
|
|
}
|
|
}
|
|
|
|
private void OnDisable()
|
|
{
|
|
// Disable the slot when the bird takes off
|
|
if (itemSlot != null)
|
|
{
|
|
itemSlot.SetActive(false);
|
|
Debug.Log($"[IdleState] Disabled ItemSlot: {itemSlot.gameObject.name}");
|
|
}
|
|
else
|
|
{
|
|
Debug.LogWarning("[IdleState] ItemSlot reference is null - cannot disable slot");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|