Description:
Factor out some details into Simulation.
Commit status:
[Not Reviewed]
References:
Diff options:
Comments:
0 Commit comments
0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
@@ -0,0 +1,45 | |||||
|
|
1 | using System; | ||
|
|
2 | |||
|
|
3 | namespace isometricparkfna | ||
|
|
4 | { | ||
|
|
5 | public class Simulation | ||
|
|
6 | { | ||
|
|
7 | public const int START_YEAR = 2020; | ||
|
|
8 | public const int START_MONTH = 1; | ||
|
|
9 | public const int START_DAY = 1; | ||
|
|
10 | |||
|
|
11 | public int Tick | ||
|
|
12 | { | ||
|
|
13 | get; | ||
|
|
14 | |||
|
|
15 | private set; | ||
|
|
16 | } | ||
|
|
17 | |||
|
|
18 | public DateTime DateTime | ||
|
|
19 | { | ||
|
|
20 | get; | ||
|
|
21 | |||
|
|
22 | private set; | ||
|
|
23 | } | ||
|
|
24 | |||
|
|
25 | public decimal money; | ||
|
|
26 | |||
|
|
27 | public TileMap map; | ||
|
|
28 | |||
|
|
29 | public Simulation(int width, int height) | ||
|
|
30 | { | ||
|
|
31 | this.DateTime = new DateTime(START_YEAR, START_MONTH, START_DAY); | ||
|
|
32 | |||
|
|
33 | this.map = new TileMap(width, height); | ||
|
|
34 | this.money = 1000; | ||
|
|
35 | } | ||
|
|
36 | |||
|
|
37 | public void advanceClock() | ||
|
|
38 | { | ||
|
|
39 | this.Tick++; | ||
|
|
40 | |||
|
|
41 | this.DateTime.AddMonths(1); | ||
|
|
42 | |||
|
|
43 | } | ||
|
|
44 | } | ||
|
|
45 | } |
|
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
|
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
@@ -49,7 +49,7 | |||||
|
49 |
|
49 | ||
|
50 | GraphicsDevice device; |
|
50 | GraphicsDevice device; |
|
51 |
|
51 | ||
|
52 | TileMap map; |
|
52 | Simulation simulation; |
|
53 |
|
53 | ||
|
54 | Vector2 mouseGrid; |
|
54 | Vector2 mouseGrid; |
|
55 | Vector2 original_point; |
|
55 | Vector2 original_point; |
@@ -92,9 +92,9 | |||||
|
92 | //gdm.SynchronizeWithVerticalRetrace = false; |
|
92 | //gdm.SynchronizeWithVerticalRetrace = false; |
|
93 | IsFixedTimeStep = false; |
|
93 | IsFixedTimeStep = false; |
|
94 |
|
94 | ||
|
95 |
this. |
|
95 | this.simulation = new Simulation(this.squaresAcross, this.squaresDown); |
|
96 |
|
96 | ||
|
97 | foreach (List<Cell> row in this.map.cells) |
|
97 | foreach (List<Cell> row in this.simulation.map.cells) |
|
98 | { |
|
98 | { |
|
99 | foreach (Cell cell in row) |
|
99 | foreach (Cell cell in row) |
|
100 | { |
|
100 | { |
@@ -147,8 +147,7 | |||||
|
147 | { |
|
147 | { |
|
148 | CharacterRange.BasicLatin, |
|
148 | CharacterRange.BasicLatin, |
|
149 | CharacterRange.Latin1Supplement, |
|
149 | CharacterRange.Latin1Supplement, |
|
150 |
CharacterRange.LatinExtendedA |
|
150 | CharacterRange.LatinExtendedA |
|
151 | CharacterRange.Cyrillic |
|
||
|
152 | } |
|
151 | } |
|
153 | ); |
|
152 | ); |
|
154 |
|
153 | ||
@@ -162,10 +161,13 | |||||
|
162 | CharacterRange.BasicLatin, |
|
161 | CharacterRange.BasicLatin, |
|
163 | CharacterRange.Latin1Supplement, |
|
162 | CharacterRange.Latin1Supplement, |
|
164 | CharacterRange.LatinExtendedA, |
|
163 | CharacterRange.LatinExtendedA, |
|
165 | CharacterRange.Cyrillic |
|
164 | CharacterRange.Cyrillic, |
|
|
165 | CharacterRange.LatinExtendedB, | ||
|
|
166 | new CharacterRange((char) 0x00B7) | ||
|
166 | } |
|
167 | } |
|
167 | ); |
|
168 | ); |
|
168 |
|
169 | ||
|
|
170 | |||
|
169 | #if DEBUG |
|
171 | #if DEBUG |
|
170 | this.debugWindow = new DebugWindow(this._imGuiRenderer, GraphicsDevice); |
|
172 | this.debugWindow = new DebugWindow(this._imGuiRenderer, GraphicsDevice); |
|
171 | #endif |
|
173 | #endif |
@@ -655,14 +657,21 | |||||
|
655 | }//*/ |
|
657 | }//*/ |
|
656 |
|
658 | ||
|
657 |
|
659 | ||
|
658 | for (int i = 0; i < this.map.MapHeight; i++) |
|
660 | for (int i = 0; i < this.simulation.map.MapHeight; i++) |
|
659 | { |
|
661 | { |
|
660 | for (int j = 0; j < this.map.MapWidth; j += 1) |
|
662 | for (int j = 0; j < this.simulation.map.MapWidth; j += 1) |
|
661 | { |
|
663 | { |
|
662 |
|
664 | ||
|
663 | if (this.map.cells[i][j].hasTree) |
|
665 | if (this.simulation.map.cells[i][j].hasTree) |
|
664 | { |
|
666 | { //until we actually simulate: |
|
665 | drawTileAt(i, j, 142, 2); |
|
667 | if((i+j)%8 == 0) |
|
|
668 | { | ||
|
|
669 | drawTileAt(i, j, 141, 2); | ||
|
|
670 | } | ||
|
|
671 | else | ||
|
|
672 | { | ||
|
|
673 | drawTileAt(i, j, 142, 2); | ||
|
|
674 | } | ||
|
666 |
|
675 | ||
|
667 | } |
|
676 | } |
|
668 |
|
677 | ||
@@ -686,15 +695,15 | |||||
|
686 | bool has_tree = false; |
|
695 | bool has_tree = false; |
|
687 | if (MathUtils.Between(this.mouseGrid.X, 0, this.squaresAcross) && MathUtils.Between(this.mouseGrid.Y, 0, this.squaresAcross)) |
|
696 | if (MathUtils.Between(this.mouseGrid.X, 0, this.squaresAcross) && MathUtils.Between(this.mouseGrid.Y, 0, this.squaresAcross)) |
|
688 | { |
|
697 | { |
|
689 | has_tree = this.map.cells[(int)this.mouseGrid.X][(int)this.mouseGrid.Y].hasTree; |
|
698 | has_tree = this.simulation.map.cells[(int)this.mouseGrid.X][(int)this.mouseGrid.Y].hasTree; |
|
690 | //batch.DrawString(font, has_tree.ToString(), new Vector2(500, 33), Color.Black, 0.0f, Vector2.Zero, 1.0f, SpriteEffects.None, 0.5f); |
|
699 | //batch.DrawString(font, has_tree.ToString(), new Vector2(500, 33), Color.Black, 0.0f, Vector2.Zero, 1.0f, SpriteEffects.None, 0.5f); |
|
691 | //batch.DrawString(font, has_tree.ToString(), new Vector2(499, 32), Color.White, 0.0f, Vector2.Zero, 1.0f, SpriteEffects.None, 0.49f); |
|
700 | //batch.DrawString(font, has_tree.ToString(), new Vector2(499, 32), Color.White, 0.0f, Vector2.Zero, 1.0f, SpriteEffects.None, 0.49f); |
|
692 | } |
|
701 | } |
|
693 | //*/ |
|
702 | //*/ |
|
694 |
|
703 | ||
|
695 |
|
704 | ||
|
696 | String header_left = String.Format("$1000"); |
|
705 | String header_left = String.Format("${0:}|{1:} trees⚘𐂷🌳", this.simulation.money, this.simulation.map.tree_count); |
|
697 |
String header_middle = String.Format(" |
|
706 | String header_middle = String.Format("{0:yyyy MMMMM}", this.simulation.DateTime); |
|
698 | Vector2 dimensions = monoFont.MeasureString(header_middle); |
|
707 | Vector2 dimensions = monoFont.MeasureString(header_middle); |
|
699 |
|
708 | ||
|
700 | float middle_start = (FNAGame.width / 2) - (dimensions.X / 2); |
|
709 | float middle_start = (FNAGame.width / 2) - (dimensions.X / 2); |
@@ -722,7 +731,7 | |||||
|
722 | pastFps = past_fps.ToArray(), |
|
731 | pastFps = past_fps.ToArray(), |
|
723 | cameraPosition = camera.position, |
|
732 | cameraPosition = camera.position, |
|
724 | drawTime = this.drawTime, |
|
733 | drawTime = this.drawTime, |
|
725 | treeCount = this.map.tree_count, |
|
734 | treeCount = this.simulation.map.tree_count, |
|
726 | mouseGrid = this.mouseGrid, |
|
735 | mouseGrid = this.mouseGrid, |
|
727 | hasTree = has_tree, |
|
736 | hasTree = has_tree, |
|
728 | tilesDrawn = this.tilesDrawn |
|
737 | tilesDrawn = this.tilesDrawn |
@@ -41,6 +41,7 | |||||
|
41 | <Compile Include="ImGuiRenderer.cs" /> |
|
41 | <Compile Include="ImGuiRenderer.cs" /> |
|
42 | <Compile Include="DebugWindow.cs" /> |
|
42 | <Compile Include="DebugWindow.cs" /> |
|
43 | <Compile Include="FilledRectangle.cs" /> |
|
43 | <Compile Include="FilledRectangle.cs" /> |
|
|
44 | <Compile Include="Simulation.cs" /> | ||
|
44 | </ItemGroup> |
|
45 | </ItemGroup> |
|
45 | <ItemGroup> |
|
46 | <ItemGroup> |
|
46 | <ProjectReference Include="..\FNA\FNA.csproj"> |
|
47 | <ProjectReference Include="..\FNA\FNA.csproj"> |
You need to be logged in to leave comments.
Login now