summaryrefslogtreecommitdiff
path: root/Penguloon/Levels/Map.cs
diff options
context:
space:
mode:
authoraldrikboy <aldrikboy@gmail.com>2017-12-14 16:39:16 +0100
committeraldrikboy <aldrikboy@gmail.com>2017-12-14 16:39:16 +0100
commitff30178f505c69bc70b0770a3220ebd6d4706c74 (patch)
treef51c85aa9b7728af5e79c26abd9de47228d888fa /Penguloon/Levels/Map.cs
parent60e8e48047e774a711fee35dfc58a7be993c3d88 (diff)
dab
Diffstat (limited to 'Penguloon/Levels/Map.cs')
-rw-r--r--Penguloon/Levels/Map.cs23
1 files changed, 20 insertions, 3 deletions
diff --git a/Penguloon/Levels/Map.cs b/Penguloon/Levels/Map.cs
index 19fd7c0..2ffcea0 100644
--- a/Penguloon/Levels/Map.cs
+++ b/Penguloon/Levels/Map.cs
@@ -4,6 +4,7 @@ using Penguloon.Enemies;
using Penguloon.Scenes;
using System.Collections.Generic;
using System;
+using Penguloon.Objects;
namespace Penguloon.Levels
{
@@ -21,6 +22,7 @@ namespace Penguloon.Levels
public SceneBase ParentScene { get; set; }
public List<EnemyBase> Enemies { get; set; } = new List<EnemyBase>();
+ public List<ObjectBase> Objects { get; set; } = new List<ObjectBase>();
public Vector2 SpawnPoint { get; set; }
public Vector2 SpawnPointTargetPos { get; set; }
@@ -28,9 +30,12 @@ namespace Penguloon.Levels
public WaveManager WaveManager { get; set; }
- public Map(SceneBase parentScene)
+ public LevelBase Level { get; set; }
+
+ public Map(SceneBase parentScene, LevelBase level)
{
this.ParentScene = parentScene;
+ this.Level = level;
MapWidth = (int)(StaticUIValues.ScreenViewport.X - StaticUIValues.IngameUIWidth);
MapHeight = (int)(StaticUIValues.ScreenViewport.Y);
@@ -45,7 +50,7 @@ namespace Penguloon.Levels
public void Draw(float deltaTime)
{
- for(int y = 0; y < TileMap.GetLength(0); y++)
+ for (int y = 0; y < TileMap.GetLength(0); y++)
{
for (int x = 0; x < TileMap.GetLength(1); x++)
{
@@ -60,14 +65,26 @@ namespace Penguloon.Levels
{
if (Enemies[i].Texture != null)
ParentScene.Main.SpriteBatch.Draw(Enemies[i].Texture,
- destinationRectangle: new Rectangle((int)Enemies[i].Position.X, (int)Enemies[i].Position.Y, TileWidth, TileHeight));
+ destinationRectangle: Enemies[i].Box);
+ }
+
+ for (int i = 0; i < Objects.Count; i++)
+ {
+ Objects[i].Draw(deltaTime);
}
}
public void Update(float deltaTime)
{
for (int i = 0; i < Enemies.Count; i++)
+ {
Enemies[i].Update(deltaTime);
+ }
+
+ for (int i = 0; i < Objects.Count; i++)
+ {
+ Objects[i].Update(deltaTime);
+ }
CheckIfRoundCompleted();
}