using UnityEngine; using System.Collections.Generic; public class GameManager : MonoBehaviour { public Dictionary statistics = new Dictionary(); public static GameManager Instance; [SerializeField]private float money, population, wood, stone, metal; // Start is called once before the first execution of Update after the MonoBehaviour is created void Awake() { Instance = this; CalculatePopulation(); } void Start() { } // Update is called once per frame void Update() { } public void AddResource(Resource.ResourceType resourceToAdd, int amountToAdd) { switch (resourceToAdd) { case Resource.ResourceType.Wood: wood += amountToAdd; break; case Resource.ResourceType.Stone: stone += amountToAdd; break; case Resource.ResourceType.Metal: metal += amountToAdd; break; case Resource.ResourceType.Money: money += amountToAdd; break; case Resource.ResourceType.Population: population += amountToAdd; break; } statistics[resourceToAdd] += amountToAdd; UIController.Instance.UpdateStats(); } public float GetResource(Resource.ResourceType resourceToGet) { switch (resourceToGet) { case Resource.ResourceType.Wood: return wood; case Resource.ResourceType.Stone: return stone; case Resource.ResourceType.Metal: return metal; case Resource.ResourceType.Money: return money; case Resource.ResourceType.Population: return population; } return 0; } public void CalculatePopulation() { NPC[] npcs = FindObjectsByType(FindObjectsSortMode.None); AddResource(Resource.ResourceType.Population, npcs.Length); } public Building[] CountBuildings() { Building[] buildings = FindObjectsByType(FindObjectsSortMode.None); return buildings; } }