using System; using System.Collections.Generic; using System.Linq; using UnityEngine; using UnityEngine.UIElements; public class ResourceRegistry { public static ResourceRegistry Instance { get; private set; } private readonly List _items = new List(); public Resource[] Items => _items.ToArray(); public readonly Metal Metal = new Metal(); public readonly Electronics Electronics = new Electronics(); public readonly Energy Energy = new Energy(); public readonly Money Money = new Money(); static ResourceRegistry() { Instance = new ResourceRegistry(); } private ResourceRegistry() { RegisterResource(Metal, true); RegisterResource(Electronics, true); // TODO lock back RegisterResource(Energy, true); // TODO lock back RegisterResource(Money, true); // TODO lock back } private void RegisterResource(Resource resource, bool unlocked = false) { _items.Add(resource); } } public class ResourceStorage : InventoryHolder { public ResourceStorage() { Capacity = -1; } }