public Terrain(List <GameObject> objects, ResourceHolder resources, Wind wind) { trees = new List <Tree>(); houses = new List <House>(); lakes = new List <Lake>(); rocks = new List <Rock>(); this.wind = wind; foreach (GameObject item in objects) { // Создаем деревья if (item.name == "tree") { Tree tree = new Tree(Textures.ID.Tree, resources); tree.Position = new Vector2f(item.rect.Left + Utilities.GetInstance().TILE_SIZE / 2, item.rect.Top - Utilities.GetInstance().TILE_SIZE / 2); if (item.GetPropertyBool("burns")) { // TODO: Такое себе место (чтобы подожглось, нужно сделать так) tree.state.currentTimeToSpread = TreeState.timeToSpread; tree.Fire(1); } tree.SetHitpoints(item.GetPropertyInt("hitpoints")); trees.Add(tree); } // Создаем дома if (item.name == "house") { House house = new House(Textures.ID.House, resources); house.Position = new Vector2f(item.rect.Left + Utilities.GetInstance().TILE_SIZE / 2, item.rect.Top - Utilities.GetInstance().TILE_SIZE / 2); if (item.GetPropertyBool("burns")) { // TODO: Такое себе место (чтобы подожглось, нужно сделать так) house.state.currentTimeToSpread = house.state.timeToSpread; house.Fire(1); } house.SetHitpoints(item.GetPropertyInt("hitpoints")); houses.Add(house); } // Создаем озера if (item.name == "lake") { Lake lake = new Lake(Textures.ID.Lake, resources); lake.Position = new Vector2f(item.rect.Left + Utilities.GetInstance().TILE_SIZE / 2, item.rect.Top - Utilities.GetInstance().TILE_SIZE / 2); lakes.Add(lake); } // Создаем скалы if (item.name == "rock") { Rock rock = new Rock(Textures.ID.Rock, resources); rock.Position = new Vector2f(item.rect.Left + Utilities.GetInstance().TILE_SIZE / 2, item.rect.Top - Utilities.GetInstance().TILE_SIZE / 2); rocks.Add(rock); } } }
public void SetLake(int index, Lake lake) { lakes[index] = lake; }