private void InitializeBuildings() { buildings = new Building[numBuildings]; for (int i = 0; i < units.Length; i++) { int x = GameEngine.random.Next(0, SIZE); int y = GameEngine.random.Next(0, SIZE); int factionIndex = GameEngine.random.Next(0, 2); int buildingType = GameEngine.random.Next(0, 2); while (map[x, y] != null) { x = GameEngine.random.Next(0, SIZE); y = GameEngine.random.Next(0, SIZE); } if (buildingType == 0) { buildings[i] = new ResourceBuilding(x, y, factions[factionIndex]); } else { buildings[i] = new FactoryBuilding(x, y, factions[factionIndex]); } map[x, y] = buildings[i].Faction[0] + "/" + buildings[i].Symbol; } }
private void InitializeBuildings() { buildings = new Building[numBuildings]; for (int i = 0; i < buildings.Length; i++) { int x = GameEngine.random.Next(0, width); int y = GameEngine.random.Next(0, height); int factionIndex = GameEngine.random.Next(0, 2); int buildingType = GameEngine.random.Next(0, 2); while (map[x, y] != null) { x = GameEngine.random.Next(0, width); y = GameEngine.random.Next(0, height); } if (buildingType == 0) { buildings[i] = new ResourceBuilding(x, y, factions[factionIndex]); } else { /*FactoryBuilding tempFact = new FactoryBuilding(x, y, factions[factionIndex]); * if (tempFact.Y >= height - 1) * { * buildings[i].SpawnY = buildings[i].Y - 1; * } * else * { * buildings[i].SpawnY = buildings[i].Y + 1; * }*/ //buildings[i] = tempFact; buildings[i] = new FactoryBuilding(x, y, factions[factionIndex]); if (buildings[i].Y >= height - 1) { buildings[i].SpawnY = buildings[i].Y - 1; } else { buildings[i].SpawnY = buildings[i].Y + 1; } } map[x, y] = buildings[i].Faction[0] + "/" + buildings[i].Symbol; } }
void UpdateBuildings() { foreach (Building building in map.Buildings) { ResourceBuilding resBuild = building as ResourceBuilding; if (resBuild != null) { resBuild.GenerateResources(); } FactoryBuilding facBuild = building as FactoryBuilding; if (facBuild != null) { Unit newUnit = facBuild.SpawnUnit(); map.AddUnit(newUnit); } } }
void UpdateBuildings() { foreach (Building building in map.Buildings) { if (building is FactoryBuilding) { FactoryBuilding factoryBuilding = (FactoryBuilding)building; //if factory, cast to factory building if (round % factoryBuilding.ProductionSpeed == 0) // spawning condition { Unit newUnit = factoryBuilding.SpawnUnit(); map.AddUnit(newUnit); } //need to cast to use it as the specific building type } else if (building is ResourceBuilding) { ResourceBuilding resourceBuilding = (ResourceBuilding)building; resourceBuilding.GenerateResources(); } } }