Files
VillageBuilder/Assets/Scripts/GameManager.cs

74 lines
2.2 KiB
C#

using UnityEngine;
using System.Collections.Generic;
public class GameManager : MonoBehaviour
{
public Dictionary<Resource.ResourceType, int> statistics = new Dictionary<Resource.ResourceType, int>();
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;
}
}
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<NPC>(FindObjectsSortMode.None);
AddResource(Resource.ResourceType.Population, npcs.Length);
}
public Building[] CountBuildings()
{
Building[] buildings = FindObjectsByType<Building>(FindObjectsSortMode.None);
return buildings;
}
}