public override void Initialise(WorldManager worldManager) { seed = worldSeed + (int)transform.position.x + (int)transform.position.y; System.Random random = new System.Random(seed); if (randomiseDirection) { direction = (Village.Direction)random.Next(0, 4); } if (!usePrefabBuilding) { Array type = Enum.GetValues(typeof(BuildingType)); Array size = Enum.GetValues(typeof(BuildingSize)); buildingType = (BuildingType)type.GetValue(random.Next(type.Length)); buildingSize = (BuildingSize)type.GetValue(random.Next(size.Length)); base.Initialise(worldManager); } else { if (useRandomPrefabBuilding) { prefab = worldManager.buildingPrefabs[random.Next(0, worldManager.buildingPrefabs.Length)]; } Generate(prefab); } StartCoroutine(SpawnCollectable()); }
public GameObject GetBuildingPrefab(BuildingType _t, BuildingSize _s) { for (int i = 0; i < buildings.Length; i++) { if (buildings[i].type == _t && buildings[i].size == _s) { return(buildings[i].prefab); } } return(new GameObject()); }
public void UpgradeBuilding(BuildingSize initialSize, GameObject newBuilding, ref int localVar, int upgradeAmount) { Building_Normal_Residence[] allHouses = FindObjectsOfType <Building_Normal_Residence>(); foreach (Building_Normal_Residence b in allHouses) { if (b.buildingSize == initialSize) { RemoveForUpgradeBuilding(b); localVar++; b.GetComponentInChildren <Collider2D>().enabled = false; Vector2 tempPos = b.transform.position; GameHandler.Instance.ConstructionHandler.CreateNewBuildingAtPosition(tempPos, newBuilding, false); if (localVar >= upgradeAmount) { return; } } } }