public override void Update(GameTime gameTime) { switch (aiType) { case AIType.AngleLeft: { currentFrame = EnemyAnimFrame.Left; xPos -= speed / 2; yPos += speed; break; } case AIType.AngleRight: { currentFrame = EnemyAnimFrame.Right; xPos += speed / 2; yPos += speed; break; } case AIType.Basic: { yPos += speed; if (fireCooldownRemaining <= 0.0f) { Vector2 bulletPosition = new Vector2((float)xPos + gunBarrelOffset.X, (float)yPos + gunBarrelOffset.Y); game.AddNewBullet(BulletType.FireBall, Direction.South, Team.Enemy, bulletPosition); fireCooldownRemaining = fireDelay; } else { fireCooldownRemaining -= gameTime.ElapsedGameTime.TotalSeconds; } break; } case AIType.ZigZag: default: { yPos += speed; break; } } // end switch }
public override void Update(GameTime gameTime) { switch (aiType) { case AIType.AngleLeft: { currentFrame = EnemyAnimFrame.Left; xPos -= speed / 2; yPos += speed; break; } case AIType.AngleRight: { currentFrame = EnemyAnimFrame.Right; xPos += speed / 2; yPos += speed; break; } case AIType.Basic: { yPos += speed; if (fireCooldownRemaining <= 0.0f) { Vector2 bulletPosition = new Vector2((float)xPos + gunBarrelOffset.X, (float)yPos + gunBarrelOffset.Y); game.AddNewBullet(BulletType.FireBall, Direction.South, Team.Enemy, bulletPosition); fireCooldownRemaining = fireDelay; } else { fireCooldownRemaining -= gameTime.ElapsedGameTime.TotalSeconds; } break; } case AIType.ZigZag: default: { yPos += speed; break; } } // end switch }