using BriarQueen.Data.Identifiers; using BriarQueen.Framework.Events.UI; using BriarQueen.Framework.Managers.Levels.Data; using BriarQueen.Framework.Managers.Player.Data; using BriarQueen.Framework.Managers.UI; using Cysharp.Threading.Tasks; using UnityEngine; namespace BriarQueen.Game.Items.Environment.General { public class EnvironmentTrigger : BaseItem { [Header("Interaction")] [SerializeField] private EnvironmentInteractKey _interactKey; [SerializeField] private bool _removeTrigger; public override UICursorService.CursorStyle ApplicableCursorStyle => UICursorService.CursorStyle.Inspect; public override async UniTask OnInteract(ItemDataSo item = null) { if (!CheckEmptyHands()) return; EventCoordinator.Publish(new DisplayInteractEvent(InteractEventIDs.Get(_interactKey))); if (_removeTrigger) await Remove(); } } }