using System.Collections; using System.Collections.Generic; using UnityEngine; public class DarkworldInventory : MonoBehaviour { public List PlayerInventory = new List(); public List PlayerKeyItems = new List(); private static DarkworldInventory instance; [Header("- Shared References -")] [SerializeField] private AudioClip snd_garbagenoise; public static DarkworldInventory Instance => instance; private void Awake() { if (instance != null && instance != this) { Object.Destroy(base.gameObject); } else { instance = this; } } public void ClearInventory() { PlayerInventory.Clear(); PlayerKeyItems.Clear(); } public void SetupNewInventory(InventoryItem[] items) { if (items.Length == 0) { return; } foreach (InventoryItem inventoryItem in items) { if (inventoryItem != null) { PlayerInventory.Add(inventoryItem); } } } public void SetupKeyItems(InventoryItem[] items) { if (items.Length == 0) { return; } foreach (InventoryItem inventoryItem in items) { if (inventoryItem != null) { PlayerKeyItems.Add(inventoryItem); } } } public void PlayGarbagePhoneSequence() { ChatboxManager.Instance.AllowInput = false; StartCoroutine(GarbagePhoneSequence()); } private IEnumerator GarbagePhoneSequence() { while (ChatboxManager.Instance.TextIsCurrentlyTyping) { yield return null; } MusicManager.PauseMusic(); CutsceneUtils.PlaySound(snd_garbagenoise); yield return new WaitForSeconds(snd_garbagenoise.length + 0.5f); ChatboxManager.Instance.MimicInput_Confirm(); ChatboxManager.Instance.AllowInput = true; MusicManager.ResumeMusic(); } }