public void Update(GameTime gameTime, TileMap tileMap) { for (int i = 0; i < Enemies.Count; ++i) { Enemy enemy = Enemies[i]; if (enemy.Alive) enemy.Update(gameTime, tileMap); else { this.Enemies.RemoveAt(i); drops++; } } }
public void ReinitializeMap(int levelID) { tileMap = new TileMap(levelID); tileMap.initializeMap(); }
protected override void LoadContent() { for (int i = 0; i < 9; i++) { RuneManager.InsertRune(i, 100); } initializeLevel(); enemyTexture = Content.Load<Texture2D>("Graphics/Enemy/_Robo1"); MapArrays.mapListInit(); tileMap = new TileMap(0); tileMap.initializeMap(); hud.InitializeInterface(this.Content); foreach (Infinity_TD.Tiles.Waypoint waypoint in tileMap.WaypointList) { waypoint.teste = Content.Load<Texture2D>("Graphics/Stuff/Cursor1"); } stageTexture = Content.Load<Texture2D>(@"Graphics\Scenes\floresta"); font = Content.Load<SpriteFont>("Fonts/menu_font"); enemyManager = new EnemyManager(); //for (int i = 0; i < 4; ++i) //{ // enemyManager.Add(new Enemy(tileMap.SpawnPointList[0].position, enemyTexture)); //} //enemyManager.generateEnemiesWave(tileMap.SpawnPointList[0].position, Content, new EnemyWave(Infinity_TD.GameManager.currentLevel)); font = Content.Load<SpriteFont>("Fonts/hud_font"); initializeLevel(); base.LoadContent(); }
public void Update(GameTime gameTime, TileMap tileMap) { if (consumeEffects(gameTime)) return; //if(damageCircle.Intersects(new BoundingSphere(new Vector3(this.Position, 0.0f), enemyAnimation.larguraFrame))) //{ // this.life = damage; //} //if (damageTime > 0.0f) //{ // damageTime += (float)gameTime.ElapsedGameTime.TotalSeconds; // if (damageTime < 15.0f) // { // this.life -= damage; // } // else // { // damageTime = 0.0f; // } //} //if (isLow()) //{ // elapsedTime += (float) gameTime.ElapsedGameTime.TotalSeconds; // if (elapsedTime > stopTime) // { // stopTime = 0.0f; // elapsedTime = 0.0f; // } // else // return; //} #region UpdateWaypoints foreach (Tiles.Waypoint waypoint in tileMap.WaypointList) { if (waypoint.area.Contains(this.BoundRect)) { Infinity_TD.Tiles.Waypoint.Directions directions = waypoint.getDirection(); switch (directions) { case Tiles.Waypoint.Directions.UP: if (speed.X != 0) { speed.Y = 0 - Math.Abs(speed.X); speed.X = 0; rotation = MathHelper.ToRadians(0f); } break; case Tiles.Waypoint.Directions.DOWN: if (speed.X != 0) { speed.Y = 0 + Math.Abs(speed.X); speed.X = 0; rotation = MathHelper.ToRadians(180f); } break; case Tiles.Waypoint.Directions.LEFT: if (speed.Y != 0) { speed.X = 0 - Math.Abs(speed.Y); speed.Y = 0; rotation = MathHelper.ToRadians(270f); } break; case Tiles.Waypoint.Directions.RIGHT: if (speed.Y != 0) { speed.X = 0 + Math.Abs(speed.Y); speed.Y = 0; rotation = MathHelper.ToRadians(90f); } break; } } } #endregion //UPDATE NEXUS foreach (Nexus nexus in tileMap.NexusList) { if (nexus.area.Contains(BoundRect)) { GameManager.vidas--; this.life = 0.0f; } } if (life <= 0) this.alive = false; enemyAnimation.Update(gameTime, Position); Position += speed; }