// Start is called before the first frame update protected override void setEffect(Structure s) { if (s is ResidencBulding) { ResidencBulding rb = ((ResidencBulding)s); rb.addHappines(Strenth); } }
public void addPopulation() { List <Structure> r = GridManager.Instance.getTypeOfObject <ResidencBulding>(); List <ResidencBulding> rr = new List <ResidencBulding>(); int maxAddedPopulation = 0; for (int i = 0; i < r.Count; i++) { ResidencBulding a = (ResidencBulding)r[i]; maxAddedPopulation += a.maxPopulation - a.population; rr.Add(a); } int populationAdded = (int)(((GlobalVariables.population / 10f) + 10) * (residentDemand / 100)); if (populationAdded > maxAddedPopulation) { populationAdded = maxAddedPopulation; } while (true) { foreach (ResidencBulding rb in rr) { if (rb.population < rb.maxPopulation) { rb.population++; populationAdded--; } if (populationAdded <= 0) { break; } } if (populationAdded <= 0) { break; } } }