Description:
Add updates.
Commit status:
[Not Reviewed]
References:
Diff options:
Comments:
0 Commit comments
0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
@@ -19,9 +19,9 | |||
|
19 | 19 | - Write a small number of testing @done(2021-03-15) |
|
20 | 20 | - Write five stories for each source |
|
21 | 21 | - Arborist |
|
22 | - Wire | |
|
22 | - Wire @done(2021-03-22) | |
|
23 | 23 | - True |
|
24 | - Figure out update interval | |
|
24 | - Figure out update interval @done(2021-03-22) | |
|
25 | 25 | - Better NEWS tab |
|
26 | 26 | - Images for some stories |
|
27 | 27 | - More stories—a dozen for each source? |
@@ -208,15 +208,17 | |||
|
208 | 208 | |
|
209 | 209 | this.newsItems = newItems.ToList(); |
|
210 | 210 | |
|
211 |
|
|
|
212 | { | |
|
213 |
|
|
|
214 | } | |
|
215 |
|
|
|
216 | { | |
|
217 |
|
|
|
218 | } | |
|
219 | this.newsItems = this.newsItems.Select(s => s.Flatten(this.grammar)).ToList().Shuffle(); | |
|
211 | using (var sr = new StreamReader(@"Content/news_items.yaml")) | |
|
212 | { | |
|
213 | this.newsItems.AddRange(NewsItem.FromYaml(sr.ReadToEnd())); | |
|
214 | } | |
|
215 | using (var sr_pregenerated = new StreamReader(@"Content/news_items_pregenerated.yaml")) | |
|
216 | { | |
|
217 | this.newsItems.AddRange(NewsItem.FromYaml(sr_pregenerated.ReadToEnd())); | |
|
218 | } | |
|
219 | this.simulation.LoadContent(this.newsItems, this.grammar); | |
|
220 | // this.newsItems = this.newsItems.Select(s => s.Flatten(this.grammar)).ToList().Shuffle(); | |
|
221 | ||
|
220 | 222 | |
|
221 | 223 | this.remainingDialog = new Queue<Node<DialogOption>>(); |
|
222 | 224 | |
@@ -905,7 +907,7 | |||
|
905 | 907 | |
|
906 | 908 | if (this.showNews) |
|
907 | 909 | { |
|
908 |
NewsWindow.Render(ref this.showNews, debugWindow.monoFont, this.simulation |
|
|
910 | NewsWindow.Render(ref this.showNews, debugWindow.monoFont, this.simulation); | |
|
909 | 911 | } |
|
910 | 912 | |
|
911 | 913 | bool quit = false; |
@@ -3,6 +3,10 | |||
|
3 | 3 | using static isometricparkfna.CellMap; |
|
4 | 4 | using System.Linq; |
|
5 | 5 | |
|
6 | using isometricparkfna.UI; //purely for news item | |
|
7 | ||
|
8 | using TraceryNet; | |
|
9 | ||
|
6 | 10 | namespace isometricparkfna |
|
7 | 11 | { |
|
8 | 12 | public struct Budget |
@@ -109,18 +113,23 | |||
|
109 | 113 | } |
|
110 | 114 | } |
|
111 | 115 | |
|
116 | ||
|
117 | private Grammar grammar; | |
|
118 | private List<NewsItem> sourceNewsItems; | |
|
119 | public List<NewsItem> latestNewsItems; | |
|
120 | ||
|
112 | 121 | public float[] millisecondsPerAdvance { get; private set; } |
|
113 | 122 | public String Season { get |
|
114 | 123 | { |
|
115 | if (MathUtils.Between(this.DateTime.Month, 3, 5)) | |
|
124 | if (MathUtils.BetweenInclusive(this.DateTime.Month, 3, 5)) | |
|
116 | 125 | { |
|
117 | 126 | return "Spring"; |
|
118 | 127 | } |
|
119 | else if (MathUtils.Between(this.DateTime.Month, 6, 8)) | |
|
128 | else if (MathUtils.BetweenInclusive(this.DateTime.Month, 6, 8)) | |
|
120 | 129 | { |
|
121 | 130 | return "Summer"; |
|
122 | 131 | } |
|
123 | else if (MathUtils.Between(this.DateTime.Month, 9, 11)) | |
|
132 | else if (MathUtils.BetweenInclusive(this.DateTime.Month, 9, 11)) | |
|
124 | 133 | { |
|
125 | 134 | return "Fall"; |
|
126 | 135 | } |
@@ -213,7 +222,12 | |||
|
213 | 222 | private void advanceSimulation() |
|
214 | 223 | { |
|
215 | 224 | |
|
225 | var oldSeason = this.Season; | |
|
216 | 226 | this.DateTime = this.DateTime.AddMonths(1); |
|
227 | var newSeason = this.Season; | |
|
228 | var seasonChanged = oldSeason != newSeason; | |
|
229 | ||
|
230 | ||
|
217 | 231 | |
|
218 | 232 | |
|
219 | 233 | foreach (Cell cell in this.map.iterate_cells()) |
@@ -281,6 +295,10 | |||
|
281 | 295 | |
|
282 | 296 | newBudget = this.applyBudget(newBudget); ; |
|
283 | 297 | this.budgets.Add(newBudget); |
|
298 | ||
|
299 | if (seasonChanged) { | |
|
300 | this.updateNews(); | |
|
301 | } | |
|
284 | 302 | } |
|
285 | 303 | |
|
286 | 304 | public Budget applyBudget(Budget budget) |
@@ -302,6 +320,19 | |||
|
302 | 320 | this.currentRate = newRate; |
|
303 | 321 | } |
|
304 | 322 | } |
|
323 | ||
|
324 | public void updateNews() { | |
|
325 | this.latestNewsItems = this.sourceNewsItems.Select(s => s.Flatten(this.grammar)).ToList().Shuffle(); | |
|
326 | } | |
|
327 | ||
|
328 | public void LoadContent(List<NewsItem> sourceNewsItems, Grammar grammar) { | |
|
329 | this.sourceNewsItems = sourceNewsItems; | |
|
330 | this.grammar = grammar; | |
|
331 | ||
|
332 | this.updateNews(); | |
|
333 | ||
|
334 | ||
|
335 | } | |
|
305 | 336 | |
|
306 | 337 | public void update(TimeSpan deltaTime) |
|
307 | 338 | { |
@@ -59,7 +59,7 | |||
|
59 | 59 | public static class NewsWindow |
|
60 | 60 | { |
|
61 | 61 | |
|
62 |
public static void Render(ref bool show, ImFontPtr font, Simulation sim |
|
|
62 | public static void Render(ref bool show, ImFontPtr font, Simulation sim) | |
|
63 | 63 | { |
|
64 | 64 | if (show) |
|
65 | 65 | { |
@@ -90,6 +90,8 | |||
|
90 | 90 | ImGui.PushStyleColor(ImGuiCol.Text, new Num.Vector4(0f, 0f, 0f, 1f)); |
|
91 | 91 | ImGui.SetNextWindowSize(new Num.Vector2(400, 400)); |
|
92 | 92 | ImGui.Begin("NEWS", ref show, ImGuiWindowFlags.NoResize | ImGuiWindowFlags.NoCollapse | ImGuiWindowFlags.NoSavedSettings); |
|
93 | ||
|
94 | var content = sim.latestNewsItems; | |
|
93 | 95 | |
|
94 | 96 | |
|
95 | 97 | if (ImGui.BeginTabBar("Sources", 0)) { |
@@ -13,11 +13,23 | |||
|
13 | 13 | |
|
14 | 14 | } |
|
15 | 15 | |
|
16 |
|
|
|
17 |
|
|
|
18 |
|
|
|
16 | public static bool Between(int val, int x, int y) | |
|
17 | { | |
|
18 | return ((x < val && val < y) || (y < val && val < x)); | |
|
19 | ||
|
20 | } | |
|
19 | 21 | |
|
20 | } | |
|
22 | public static bool BetweenInclusive(float val, float x, float y) | |
|
23 | { | |
|
24 | return ((x <= val && val <= y) || (y <= val && val <= x)); | |
|
25 | ||
|
26 | } | |
|
27 | ||
|
28 | public static bool BetweenInclusive(int val, int x, int y) | |
|
29 | { | |
|
30 | return ((x <= val && val <= y) || (y <= val && val <= x)); | |
|
31 | ||
|
32 | } | |
|
21 | 33 | |
|
22 | 34 | public static int Clamp(int val, int min, int max) |
|
23 | 35 | { |
You need to be logged in to leave comments.
Login now