Description:
Add initial version of money.
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r51:09bd57319dcf -

@@ -829,7 +829,15
829 829 additionalInfo.Add("mouse delta", delta.ToString());
830 830
831 831 additionalInfo.Add("Tracery Test", this.output);
832 debugWindow.Layout(debugInfo, additionalInfo, ref show_another_window);
832
833 additionalInfo.Add("Budget Money", this.simulation.latestBudget.money.ToString());
834 additionalInfo.Add("Budget Subsidy", this.simulation.latestBudget.subsidy.ToString());
835 additionalInfo.Add("Budget Upkeep", this.simulation.latestBudget.upkeep.ToString());
836 additionalInfo.Add("Budget Money Prior", this.simulation.previousBudget.money.ToString());
837 additionalInfo.Add("Budget Subsidy Prior", this.simulation.previousBudget.subsidy.ToString());
838 additionalInfo.Add("Budget Upkeep Prior", this.simulation.previousBudget.upkeep.ToString());
839
840 debugWindow.Layout(debugInfo, additionalInfo, ref show_another_window);
833 841
834 842
835 843 debugWindow.ImGuiLayout();
@@ -1,8 +1,27
1 1 using System;
2 using System.Collections.Generic;
2 3 using static isometricparkfna.TileMap;
3 4
4 5 namespace isometricparkfna
5 6 {
7 public struct Budget
8 {
9 public DateTime DateTime;
10 public decimal money;
11
12
13 //revenue
14 public decimal subsidy;
15
16 //expenses
17 public decimal upkeep;
18
19
20 //misc
21 public int trees;
22
23 }
24
6 25 public class Simulation
7 26 {
8 27 public const int START_YEAR = 2020;
@@ -37,6 +56,39
37 56
38 57 public decimal money;
39 58
59 private List<Budget> budgets;
60
61
62 public Budget latestBudget
63 {
64 get
65 {
66 if (this.budgets.Count >= 1) {
67 return this.budgets[this.budgets.Count - 1];
68
69 }
70 else
71 {
72 return new Budget { };
73 }
74 }
75 }
76
77 public Budget previousBudget
78 {
79 get
80 {
81 if (this.budgets.Count >= 2) {
82 return this.budgets[this.budgets.Count - 2];
83
84 }
85 else
86 {
87 return new Budget { };
88 }
89 }
90 }
91
40 92 public float millisecondsPerAdvance { get; private set; }
41 93 public String Season { get
42 94 {
@@ -65,7 +117,9
65 117 private float lastAdvance;
66 118 public bool paused;
67 119
68 private Random random;
120 private Random random;
121
122
69 123
70 124 public Simulation(int width, int height, float millisecondsPerAdvance)
71 125 {
@@ -74,10 +128,12
74 128 this.DateTime = new DateTime(START_YEAR, START_MONTH, START_DAY);
75 129
76 130 this.map = new TileMap(width, height);
77 this.money = 1000;
131 this.money = 100000;
78 132 this.millisecondsPerAdvance = millisecondsPerAdvance;
79 133
80 134 this.paused = true;
135
136 this.budgets = new List<Budget>();
81 137 }
82 138
83 139 private void advanceSimulation()
@@ -108,7 +164,33
108 164 cell.hasTree = false;
109 165 }
110 166 }
167
168
169 //this.money -= (this.map.tree_count * 1);
170 //this.money += 1000;
171
172 Budget newBudget = new Budget
173 {
174 DateTime = this.DateTime,
175 money = this.money,
176 trees = this.map.tree_count,
177 subsidy = 1000,
178 upkeep = this.map.tree_count * 1
179 };
180
181 this.budgets.Add(newBudget);
182
183 this.applyBudget(newBudget); ;
111 184 }
185
186 public void applyBudget(Budget budget)
187 {
188
189 this.money = budget.money
190 - (budget.upkeep)
191 + (budget.subsidy);
192 }
193
112 194 public void update(TimeSpan deltaTime)
113 195 {
114 196 //this.Tick++;
You need to be logged in to leave comments. Login now