public void Update(GameTime gameTime) { Enemies.AddRange(_enemiesToAdd); _enemiesToAdd.Clear(); _elements.AddRange(_elementsToAdd); _elementsToAdd.Clear(); Tiles.AddRange(_tilesToAdd); _tilesToAdd.Clear(); _engine.Update(gameTime); foreach (Drawable d in _enemiesToRemove) { Enemies.Remove(d); } _enemiesToRemove.Clear(); foreach (Drawable d in _elementsToRemove) { _elements.Remove(d); } _elementsToRemove.Clear(); foreach (Drawable d in _tilesToRemove) { Tiles.Remove(d); } _tilesToRemove.Clear(); }
/// <summary> /// Spawns enemies on this map using provided Spawner object. /// Enemies are spawned only when there are no enemies left on the map. /// </summary> public void SpawnEnemies() { if (Enemies.Count == 0) { Enemies.AddRange(spawner.Spawn()); } }
public void Initialize(IPlayer player, List <IEnemy> enemies, List <IItem> receivedItems, List <IItem> obtainedItems, List <IBlock> blocks) { Player = player; Enemies.AddRange(enemies); ReceivedItems.AddRange(receivedItems); ObtainedItems.AddRange(obtainedItems); Block.AddRange(blocks); }
void LoadMap() { using (var stream = new System.IO.FileStream("./Content/Levels/Level_01.png", System.IO.FileMode.Open)) { Map.Load(Texture2D.FromStream(Game.Graphics.GraphicsDevice, stream)); Objects.Clear(); Objects.AddRange(Map.GetObstacles()); Enemies.Clear(); Enemies.AddRange(Map.GetEnemies()); } }
private void Awake() { if (Instance != null && Instance != this) { Destroy(this.gameObject); } else { Instance = this; } Enemies.AddRange(GetComponents <Enemy>()); Debug.LogFormat("Found {0} enemies!", Enemies.Count); foreach (Enemy enemy in GetComponents <Enemy>()) { Debug.Log("Found enemy!"); Enemies.Add(enemy); } }