using UnityEngine; /// /// Sert d'inventaire et gère l'accès aux ressources /// public class ResourceManager : Singleton { private int _rockAmount = 0; private int _woodAmount = 0; private int _foodAmount = 50; private const int MAX = int.MaxValue; private const int MIN = 0; 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; _woodAmount = (_woodAmount - wood) < MIN ? MIN : _woodAmount - wood; _foodAmount = (_foodAmount - food) < MIN ? MIN : _foodAmount - food; } public bool EnoughFor(int rock, int wood, int food = 0) { if (_rockAmount >= rock && _woodAmount >= wood && _foodAmount >= food) { return true; } return false; } }