using UnityEngine; /// /// Sert d'inventaire et gère l'accès aux ressources /// public class ResourceManager : MonoBehaviour { private static ResourceManager _instance = null; private int _rockAmount = 0; private int _woodAmount = 0; private int _foodAmount = 0; private const int MAX = 100; private const int MIN = 0; public ResourceManager() { } public static ResourceManager Instance { get { return _instance; } } private void Awake() { if (_instance != null && _instance != this) { Destroy(this); } else { _instance = this; } } public int RockAmount { set { if (_rockAmount + value < MAX) { _rockAmount += value; } } get { return _rockAmount; } } public int WoodAmount { set { if (_woodAmount + value < MAX) { _woodAmount += value; } } get { return _woodAmount; } } public int FoodAmount { set { if (_foodAmount + value < MAX) { _foodAmount += value; } } get { return _foodAmount; } } public void Remove(int rock, int wood, int food) { _rockAmount = _rockAmount - rock < MIN ? MIN : _rockAmount - rock; _rockAmount = _rockAmount - wood < MIN ? MIN : _rockAmount - wood; _foodAmount = _foodAmount - food < MIN ? MIN : _foodAmount - food; } public bool EnoughFor(int rock, int wood, int food = 0) { if (rock > _rockAmount || wood > _woodAmount || food > _foodAmount) { return false; } return true; } }