public void Render(EnemyManager enemyManager, Player player, SpriteBatch spriteBatch) { //Draw background square // spriteBatch.Draw(Game1.square, renderTarget, bg); Position playerPos = player.getPosition(); Vector2 pos = GetScaledPosition(getPlanarPosition(playerPos)); renderPosition(spriteBatch, pos, Color.Aquamarine, 32); foreach (Enemy enemy in enemyManager.getEnemies()) { Position enemyPosition = enemy.GetPosition(); Vector2 planarPosition = getPlanarPosition(enemyPosition); //if we are rendering in 1D, the GetSize takes in to account the distance in the y axis float size = 2 * GetSize(enemy); if (IsInRenderFrame(planarPosition, size)) { Vector2 drawPosition = GetScaledPosition(planarPosition); switch (enemy.GetEnemyType()) { case EnemyType.StraightLine: { renderPosition(spriteBatch, drawPosition, Color.Red, size); break; } default: { renderPosition(spriteBatch, drawPosition, Color.Black, size); break; } } } } }