private Citizen AddCitizen(ResidentialCityBlock home) { GameObject go = Instantiate(citizenPrefab, citizenContainer.transform); Citizen citizen = go.GetComponent <Citizen>(); citizen.SetHome(home); citizen.SetPathPlanner(this); Coordinate workCoord; // If no work buildings exist or 25% chance if (occupiedIndustrialBlocks.Count == 0 || Random.Range(0, 100) < 25) { // Occupy new work building int r = Random.Range(0, unoccupiedIndustrialBlocks.Count - 1); workCoord = unoccupiedIndustrialBlocks[r]; unoccupiedIndustrialBlocks.RemoveAt(r); occupiedIndustrialBlocks.Add(workCoord); } else { // Occupy existing work building int r = Random.Range(0, occupiedIndustrialBlocks.Count - 1); workCoord = occupiedIndustrialBlocks[r]; } IndustrialCityBlock workBlock = GetBlock(workCoord).GetComponent <IndustrialCityBlock>(); citizen.SetWork(workBlock); return(citizen); }
public void SetWork(IndustrialCityBlock work) { this.work = work; }