|
@ -91,6 +91,8 @@ namespace SemiColinGames { |
|
|
readonly Tile[] tiles; |
|
|
readonly Tile[] tiles; |
|
|
readonly Tile[] decorations; |
|
|
readonly Tile[] decorations; |
|
|
|
|
|
|
|
|
|
|
|
readonly NPC[] npcs = new NPC[1]; |
|
|
|
|
|
|
|
|
// Size of World in terms of tile grid.
|
|
|
// Size of World in terms of tile grid.
|
|
|
private readonly int tileWidth; |
|
|
private readonly int tileWidth; |
|
|
private readonly int tileHeight; |
|
|
private readonly int tileHeight; |
|
@ -105,6 +107,7 @@ namespace SemiColinGames { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public World(string levelSpecification) { |
|
|
public World(string levelSpecification) { |
|
|
|
|
|
npcs[0] = new NPC(new Point(16 * 38, 16 * 12)); |
|
|
var tilesList = new List<Tile>(); |
|
|
var tilesList = new List<Tile>(); |
|
|
var decorationsList = new List<Tile>(); |
|
|
var decorationsList = new List<Tile>(); |
|
|
string[] worldDesc = levelSpecification.Substring(1).Split('\n'); |
|
|
string[] worldDesc = levelSpecification.Substring(1).Split('\n'); |
|
@ -152,10 +155,19 @@ namespace SemiColinGames { |
|
|
new Vector2(Width + 1, 0), new Vector2(1, float.MaxValue)); |
|
|
new Vector2(Width + 1, 0), new Vector2(1, float.MaxValue)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public void Update(float modelTime) { |
|
|
|
|
|
foreach (NPC npc in npcs) { |
|
|
|
|
|
npc.Update(modelTime); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
public void DrawBackground(SpriteBatch spriteBatch) { |
|
|
public void DrawBackground(SpriteBatch spriteBatch) { |
|
|
foreach (Tile t in decorations) { |
|
|
foreach (Tile t in decorations) { |
|
|
t.Draw(spriteBatch); |
|
|
t.Draw(spriteBatch); |
|
|
} |
|
|
} |
|
|
|
|
|
foreach (NPC npc in npcs) { |
|
|
|
|
|
npc.Draw(spriteBatch); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public void DrawForeground(SpriteBatch spriteBatch) { |
|
|
public void DrawForeground(SpriteBatch spriteBatch) { |
|
|