private void ConstructionDone() { isBuilding = false; buildingAnimator.Play("BuildingIdle"); parentTile.RemoveProgressBar(); isBuilt = true; foreach (LifeNeeds need in providedNeeds) { if (need.providedRequirements == LivingRequirements.People) { LivingResourcesManager.AddLivingSpace(need.amount); LivingResourcesManager.AddWorkers(need.amount); } } if (parentTile.IsHighlighted) { TileInfoController.main.CurrentTile = parentTile; } if (IsProducing) { parentTile.CreateProgressBar(); } }
// Use this for initialization void Start() { Debug.Log(GetComponent <Text>()); LivingResourcesManager.personCount = GetComponent <Text>(); LivingResourcesManager.AddLivingSpace(5); LivingResourcesManager.AddWorkers(5); }
public void RemovePersonFromResource() { if (currentObject.PeopleWorking > 0) { currentObject.PeopleWorking -= 1; LivingResourcesManager.AddWorkers(1); } UpdatePeopleAmount(); }
protected void HarvestDone() { foreach (Resource resource in resources) { ItemBarController.main.Add(resource.ResourceType, resource.Amount); } parentTile.RemoveProgressBar(); if (parentTile.IsHighlighted) { Tile tile = parentTile; tile.ChildObject = null; TileInfoController.main.CurrentTile = tile; } LivingResourcesManager.AddWorkers(peopleWorking); Destroy(gameObject); }
// Use this for initialization void Start() { LivingResourcesManager.waterCount = GetComponent <Text>(); LivingResourcesManager.AddWater(150); }
// Use this for initialization void Start() { LivingResourcesManager.powerText = GetComponent <Text>(); LivingResourcesManager.AddPower(0); }
public void Update() { if (isBuilding) { constructionTime += Time.deltaTime; parentTile.ProgressBar.GetComponent <Slider>().value = constructionTime / totalConstructionTime; if (constructionTime >= totalConstructionTime) { ConstructionDone(); } } bool hasResources = true; foreach (ResourceType need in resourceNeeds) { hasResources = ItemBarController.main.AmountOf(need) > 0; if (!hasResources) { Debug.Log("Doesn't have resources"); break; } } bool hasRequirements = true; // if there are resources, check the living foreach (LifeNeeds need in requiredNeeds) { switch (need.providedRequirements) { case LivingRequirements.Energy: Debug.Log("Doesnt have power: " + need.amount); hasRequirements = LivingResourcesManager.CheckPower(need.amount); break; case LivingRequirements.Food: Debug.Log("Doesnt have food: " + need.amount); hasRequirements = LivingResourcesManager.CheckFood(need.amount); break; case LivingRequirements.Water: Debug.Log("Doesnt have water: " + need.amount); hasRequirements = LivingResourcesManager.CheckWater(need.amount); break; default: break; } if (!hasRequirements) { Debug.Log("Doesn't have requirements"); break; } } if (isBuilt && IsProducing && (hasResources && hasRequirements)) { productionTime += Time.deltaTime; parentTile.ProgressBar.GetComponent <Slider>().value = productionTime / totalProductionTime; // Check somewhere that resourceNeeds are met if (productionTime >= totalProductionTime) { productionTime = 0.0f; foreach (ResourceProduction production in resourceOutput) { if (Random.value <= production.chance) { ItemBarController.main.Add(production.resource, production.amount); } } foreach (ResourceType need in resourceNeeds) { ItemBarController.main.Add(need, -1); } foreach (LifeNeeds need in requiredNeeds) { switch (need.providedRequirements) { case LivingRequirements.Energy: LivingResourcesManager.GetPower(need.amount); break; case LivingRequirements.Food: LivingResourcesManager.GetFood(need.amount); break; case LivingRequirements.Water: LivingResourcesManager.GetWater(need.amount); break; default: break; } } foreach (LifeNeeds need in providedNeeds) { switch (need.providedRequirements) { case LivingRequirements.Energy: LivingResourcesManager.AddPower(need.amount); break; case LivingRequirements.Food: LivingResourcesManager.AddFood(need.amount); break; case LivingRequirements.Water: LivingResourcesManager.AddWater(need.amount); break; default: break; } } Debug.Log("Getting up keep for: " + PeopleRequired); LivingResourcesManager.GetUpKeep(PeopleRequired); } //Provide the needs to needs manager. } }
// Use this for initialization void Start() { LivingResourcesManager.foodCount = GetComponent <Text>(); LivingResourcesManager.AddFood(150); }
public void AssignPersonToResource() { if (currentObject != null && currentObject.PeopleWorking < currentObject.PeopleRequired && LivingResourcesManager.GetWorkers(1)) { currentObject.PeopleWorking += 1; } UpdatePeopleAmount(); }