public class PlayerState : MonoBehaviour { public int Lives = 3; public int TotalCoins { get; private set; } public bool HasKey { get; private set; } public event EventHandler OnPlayerTakeItem; public void AddCoin() { TotalCoins++; OnPlayerTakeItem?.Invoke(this, TreasureType.Coin); Debug.Log($"Player has {TotalCoins} coins"); } public void SetKey() { HasKey = true; OnPlayerTakeItem?.Invoke(this, TreasureType.Key); Debug.Log("Player has key"); } public void RemoveKey() { HasKey = false; } }