diff --git a/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.FNA.csprojAssemblyReference.cache b/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.FNA.csprojAssemblyReference.cache index dc855b2be594f621cd761011d7357907d712d101..98fdfa6e217b0957111793cadeff7fd6f5c65c4e GIT binary patch literal 9616 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 diff --git a/isometric-park-fna/FNAGame.cs b/isometric-park-fna/FNAGame.cs --- a/isometric-park-fna/FNAGame.cs +++ b/isometric-park-fna/FNAGame.cs @@ -49,7 +49,7 @@ GraphicsDevice device; - TileMap map; + Simulation simulation; Vector2 mouseGrid; Vector2 original_point; @@ -92,9 +92,9 @@ //gdm.SynchronizeWithVerticalRetrace = false; IsFixedTimeStep = false; - this.map = new TileMap(this.squaresAcross, this.squaresDown); + this.simulation = new Simulation(this.squaresAcross, this.squaresDown); - foreach (List row in this.map.cells) + foreach (List row in this.simulation.map.cells) { foreach (Cell cell in row) { @@ -147,8 +147,7 @@ { CharacterRange.BasicLatin, CharacterRange.Latin1Supplement, - CharacterRange.LatinExtendedA, - CharacterRange.Cyrillic + CharacterRange.LatinExtendedA } ); @@ -162,10 +161,13 @@ CharacterRange.BasicLatin, CharacterRange.Latin1Supplement, CharacterRange.LatinExtendedA, - CharacterRange.Cyrillic + CharacterRange.Cyrillic, + CharacterRange.LatinExtendedB, + new CharacterRange((char) 0x00B7) } ); + #if DEBUG this.debugWindow = new DebugWindow(this._imGuiRenderer, GraphicsDevice); #endif @@ -655,14 +657,21 @@ }//*/ - for (int i = 0; i < this.map.MapHeight; i++) + for (int i = 0; i < this.simulation.map.MapHeight; i++) { - for (int j = 0; j < this.map.MapWidth; j += 1) + for (int j = 0; j < this.simulation.map.MapWidth; j += 1) { - if (this.map.cells[i][j].hasTree) - { - drawTileAt(i, j, 142, 2); + if (this.simulation.map.cells[i][j].hasTree) + { //until we actually simulate: + if((i+j)%8 == 0) + { + drawTileAt(i, j, 141, 2); + } + else + { + drawTileAt(i, j, 142, 2); + } } @@ -686,15 +695,15 @@ bool has_tree = false; if (MathUtils.Between(this.mouseGrid.X, 0, this.squaresAcross) && MathUtils.Between(this.mouseGrid.Y, 0, this.squaresAcross)) { - has_tree = this.map.cells[(int)this.mouseGrid.X][(int)this.mouseGrid.Y].hasTree; + has_tree = this.simulation.map.cells[(int)this.mouseGrid.X][(int)this.mouseGrid.Y].hasTree; //batch.DrawString(font, has_tree.ToString(), new Vector2(500, 33), Color.Black, 0.0f, Vector2.Zero, 1.0f, SpriteEffects.None, 0.5f); //batch.DrawString(font, has_tree.ToString(), new Vector2(499, 32), Color.White, 0.0f, Vector2.Zero, 1.0f, SpriteEffects.None, 0.49f); } //*/ - - String header_left = String.Format("$1000"); - String header_middle = String.Format("January 2020"); + + String header_left = String.Format("${0:}|{1:} trees⚘𐂷🌳", this.simulation.money, this.simulation.map.tree_count); + String header_middle = String.Format("{0:yyyy MMMMM}", this.simulation.DateTime); Vector2 dimensions = monoFont.MeasureString(header_middle); float middle_start = (FNAGame.width / 2) - (dimensions.X / 2); @@ -722,7 +731,7 @@ pastFps = past_fps.ToArray(), cameraPosition = camera.position, drawTime = this.drawTime, - treeCount = this.map.tree_count, + treeCount = this.simulation.map.tree_count, mouseGrid = this.mouseGrid, hasTree = has_tree, tilesDrawn = this.tilesDrawn diff --git a/isometric-park-fna/Simulation.cs b/isometric-park-fna/Simulation.cs new file mode 100644 --- /dev/null +++ b/isometric-park-fna/Simulation.cs @@ -0,0 +1,45 @@ +using System; + +namespace isometricparkfna +{ + public class Simulation + { + public const int START_YEAR = 2020; + public const int START_MONTH = 1; + public const int START_DAY = 1; + + public int Tick + { + get; + + private set; + } + + public DateTime DateTime + { + get; + + private set; + } + + public decimal money; + + public TileMap map; + + public Simulation(int width, int height) + { + this.DateTime = new DateTime(START_YEAR, START_MONTH, START_DAY); + + this.map = new TileMap(width, height); + this.money = 1000; + } + + public void advanceClock() + { + this.Tick++; + + this.DateTime.AddMonths(1); + + } + } +} diff --git a/isometric-park-fna/isometric-park-fna.csproj b/isometric-park-fna/isometric-park-fna.csproj --- a/isometric-park-fna/isometric-park-fna.csproj +++ b/isometric-park-fna/isometric-park-fna.csproj @@ -41,6 +41,7 @@ +