Description:
Add Fact.
Commit status:
[Not Reviewed]
References:
Diff options:
Comments:
0 Commit comments
0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
@@ -0,0 +1,61 | |||
|
1 | using System; //FYI, this is where IntPtr comes from | |
|
2 | ||
|
3 | using ImGuiNET; | |
|
4 | using Num = System.Numerics; | |
|
5 | ||
|
6 | namespace isometricparkfna.UI | |
|
7 | { | |
|
8 | ||
|
9 | public static class Widgets | |
|
10 | { | |
|
11 | //Relatively thin wrappers over common ImGui idioms | |
|
12 | #region basic_elements | |
|
13 | public static void Tooltip(string text, Num.Vector2 relative_position) | |
|
14 | { | |
|
15 | if (ImGui.IsItemHovered()) | |
|
16 | { | |
|
17 | var rect = ImGui.GetItemRectMax(); | |
|
18 | ImGui.SetNextWindowPos(rect + relative_position ); | |
|
19 | ImGui.BeginTooltip(); | |
|
20 | ImGui.Text(text); | |
|
21 | ImGui.EndTooltip(); | |
|
22 | } | |
|
23 | } | |
|
24 | ||
|
25 | public static void Tooltip(string text) | |
|
26 | { | |
|
27 | Widgets.Tooltip(text, new Num.Vector2(15, 0)); | |
|
28 | } | |
|
29 | ||
|
30 | public static void Indicator(string text, Num.Vector4 color) | |
|
31 | { | |
|
32 | var dimensions = ImGui.CalcTextSize(text); | |
|
33 | ||
|
34 | ImGui.PushStyleColor(ImGuiCol.Text, color); | |
|
35 | //Found through trial and error: | |
|
36 | ImGui.SetCursorPosX(ImGui.GetCursorPosX() -(dimensions.X + 10)); | |
|
37 | ImGui.Text(text); | |
|
38 | ImGui.PopStyleColor(); | |
|
39 | } | |
|
40 | ||
|
41 | public static void MapImage(ImGuiImageMap map, Num.Vector2 size, int image_index) | |
|
42 | { | |
|
43 | ImGui.Image(map.ImGuiTexture, size, map.GetSourceUVStart(image_index), map.GetSourceUVEnd(image_index), Num.Vector4.One, Num.Vector4.Zero); // Here, the previously loaded texture is used | |
|
44 | ||
|
45 | } | |
|
46 | #endregion | |
|
47 | ||
|
48 | //Widgets that are made up of the components defined above | |
|
49 | #region composite_widgets | |
|
50 | ||
|
51 | public static void MapImageTooltip(ImGuiImageMap map, Num.Vector2 size, int image_index, string tooltip) | |
|
52 | { | |
|
53 | ImGui.Image(map.ImGuiTexture, size, map.GetSourceUVStart(image_index), map.GetSourceUVEnd(image_index), Num.Vector4.One, Num.Vector4.Zero); // Here, the previously loaded texture is used | |
|
54 | ||
|
55 | Widgets.Tooltip(tooltip, Num.Vector2.Zero); | |
|
56 | ||
|
57 | } | |
|
58 | ||
|
59 | #endregion | |
|
60 | } | |
|
61 | } |
@@ -0,0 +1,20 | |||
|
1 | ||
|
2 | using System; | |
|
3 | namespace isometricparkfna.Utils | |
|
4 | { | |
|
5 | public struct Fact<T> | |
|
6 | { | |
|
7 | public T Value; | |
|
8 | ||
|
9 | public bool Known {get;} | |
|
10 | public bool Aware {get;} | |
|
11 | ||
|
12 | public Fact(T value) | |
|
13 | { | |
|
14 | this.Value = value; | |
|
15 | this.Known = true; | |
|
16 | this.Aware = true; | |
|
17 | } | |
|
18 | ||
|
19 | } | |
|
20 | } |
@@ -1,4 +1,4 | |||
|
1 | // <autogenerated /> | |
|
2 | using System; | |
|
3 | using System.Reflection; | |
|
1 | // <autogenerated /> | |
|
2 | using System; | |
|
3 | using System.Reflection; | |
|
4 | 4 | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] |
@@ -1,48 +1,4 | |||
|
1 | /Users/alys/repos/fna-tutorial/SpriteFontPlus/src/bin/FNA/Debug/net45/FNA.dll.config | |
|
2 | /Users/alys/repos/fna-tutorial/SpriteFontPlus/src/bin/FNA/Debug/net45/SpriteFontPlus.dll | |
|
3 | /Users/alys/repos/fna-tutorial/SpriteFontPlus/src/bin/FNA/Debug/net45/SpriteFontPlus.pdb | |
|
4 | /Users/alys/repos/fna-tutorial/SpriteFontPlus/src/bin/FNA/Debug/net45/FNA.dll | |
|
5 | /Users/alys/repos/fna-tutorial/SpriteFontPlus/src/bin/FNA/Debug/net45/FNA.pdb | |
|
6 | /Users/alys/repos/fna-tutorial/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.FNA.csprojAssemblyReference.cache | |
|
7 | /Users/alys/repos/fna-tutorial/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.FNA.AssemblyInfoInputs.cache | |
|
8 | /Users/alys/repos/fna-tutorial/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.FNA.AssemblyInfo.cs | |
|
9 | /Users/alys/repos/fna-tutorial/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.FNA.csproj.CoreCompileInputs.cache | |
|
10 | /Users/alys/repos/fna-tutorial/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.FNA.csproj.CopyComplete | |
|
11 | /Users/alys/repos/fna-tutorial/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.dll | |
|
12 | /Users/alys/repos/fna-tutorial/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.pdb | |
|
13 | /Users/alys/repos/fna-pong/SpriteFontPlus/src/bin/FNA/Debug/net45/FNA.dll.config | |
|
14 | /Users/alys/repos/fna-pong/SpriteFontPlus/src/bin/FNA/Debug/net45/SpriteFontPlus.dll | |
|
15 | /Users/alys/repos/fna-pong/SpriteFontPlus/src/bin/FNA/Debug/net45/SpriteFontPlus.pdb | |
|
16 | /Users/alys/repos/fna-pong/SpriteFontPlus/src/bin/FNA/Debug/net45/FNA.dll | |
|
17 | /Users/alys/repos/fna-pong/SpriteFontPlus/src/bin/FNA/Debug/net45/FNA.pdb | |
|
18 | /Users/alys/repos/fna-pong/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.FNA.csprojAssemblyReference.cache | |
|
19 | /Users/alys/repos/fna-pong/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.FNA.AssemblyInfoInputs.cache | |
|
20 | /Users/alys/repos/fna-pong/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.FNA.AssemblyInfo.cs | |
|
21 | /Users/alys/repos/fna-pong/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.FNA.csproj.CoreCompileInputs.cache | |
|
22 | /Users/alys/repos/fna-pong/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.FNA.csproj.CopyComplete | |
|
23 | /Users/alys/repos/fna-pong/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.dll | |
|
24 | /Users/alys/repos/fna-pong/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.pdb | |
|
25 | /home/alys/repos/isometric-park-fna/SpriteFontPlus/src/bin/FNA/Debug/net45/FNA.dll.config | |
|
26 | /home/alys/repos/isometric-park-fna/SpriteFontPlus/src/bin/FNA/Debug/net45/SpriteFontPlus.dll | |
|
27 | /home/alys/repos/isometric-park-fna/SpriteFontPlus/src/bin/FNA/Debug/net45/SpriteFontPlus.pdb | |
|
28 | /home/alys/repos/isometric-park-fna/SpriteFontPlus/src/bin/FNA/Debug/net45/FNA.dll | |
|
29 | /home/alys/repos/isometric-park-fna/SpriteFontPlus/src/bin/FNA/Debug/net45/FNA.pdb | |
|
30 | 1 | /home/alys/repos/isometric-park-fna/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.FNA.csprojAssemblyReference.cache |
|
31 | /home/alys/repos/isometric-park-fna/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.FNA.csproj.CoreCompileInputs.cache | |
|
32 | 2 | /home/alys/repos/isometric-park-fna/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.FNA.AssemblyInfoInputs.cache |
|
33 | 3 | /home/alys/repos/isometric-park-fna/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.FNA.AssemblyInfo.cs |
|
34 |
/home/alys/repos/isometric-park-fna/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.FNA.csproj.Co |
|
|
35 | /home/alys/repos/isometric-park-fna/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.dll | |
|
36 | /home/alys/repos/isometric-park-fna/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.pdb | |
|
37 | /Users/alys/repos/isometric-park-fna/SpriteFontPlus/src/bin/FNA/Debug/net45/FNA.dll.config | |
|
38 | /Users/alys/repos/isometric-park-fna/SpriteFontPlus/src/bin/FNA/Debug/net45/SpriteFontPlus.dll | |
|
39 | /Users/alys/repos/isometric-park-fna/SpriteFontPlus/src/bin/FNA/Debug/net45/SpriteFontPlus.pdb | |
|
40 | /Users/alys/repos/isometric-park-fna/SpriteFontPlus/src/bin/FNA/Debug/net45/FNA.dll | |
|
41 | /Users/alys/repos/isometric-park-fna/SpriteFontPlus/src/bin/FNA/Debug/net45/FNA.pdb | |
|
42 | /Users/alys/repos/isometric-park-fna/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.FNA.csprojAssemblyReference.cache | |
|
43 | /Users/alys/repos/isometric-park-fna/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.FNA.AssemblyInfoInputs.cache | |
|
44 | /Users/alys/repos/isometric-park-fna/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.FNA.AssemblyInfo.cs | |
|
45 | /Users/alys/repos/isometric-park-fna/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.FNA.csproj.CoreCompileInputs.cache | |
|
46 | /Users/alys/repos/isometric-park-fna/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.FNA.csproj.CopyComplete | |
|
47 | /Users/alys/repos/isometric-park-fna/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.dll | |
|
48 | /Users/alys/repos/isometric-park-fna/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.pdb | |
|
4 | /home/alys/repos/isometric-park-fna/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.FNA.csproj.CoreCompileInputs.cache |
|
1 | NO CONTENT: modified file, binary diff hidden |
@@ -1,33 +1,35 | |||
|
1 | 1 | using Encompass; |
|
2 | 2 | |
|
3 | using isometricparkfna.Utils; | |
|
4 | ||
|
3 | 5 | namespace isometricparkfna.Components |
|
4 | 6 | { |
|
5 | 7 | |
|
6 | 8 | public struct TreeDeltaComponent : IComponent |
|
7 | 9 | { |
|
8 | public int deltaTrees; | |
|
10 | public Fact<int> deltaTrees; | |
|
9 | 11 | |
|
10 | 12 | public string deltaTreesName |
|
11 | 13 | { |
|
12 | 14 | get |
|
13 | 15 | { |
|
14 | if (deltaTrees <= -18) | |
|
16 | if (deltaTrees.Value <= -18) | |
|
15 | 17 | { |
|
16 | 18 | return "Unsustainable"; |
|
17 | 19 | } |
|
18 | else if (MathUtils.BetweenExclusive(deltaTrees, -18, -6)) | |
|
20 | else if (MathUtils.BetweenExclusive(deltaTrees.Value, -18, -6)) | |
|
19 | 21 | { |
|
20 | 22 | return "Moderately unsustainable"; |
|
21 | 23 | } |
|
22 | else if (MathUtils.Between(deltaTrees, -6, 0)) | |
|
24 | else if (MathUtils.Between(deltaTrees.Value, -6, 0)) | |
|
23 | 25 | { |
|
24 | 26 | return "Somewhat unsustainable"; |
|
25 | 27 | } |
|
26 | else if (deltaTrees == 0) | |
|
28 | else if (deltaTrees.Value == 0) | |
|
27 | 29 | { |
|
28 | 30 | return "Break even"; |
|
29 | 31 | } |
|
30 | else if (deltaTrees > 0) | |
|
32 | else if (deltaTrees.Value > 0) | |
|
31 | 33 | { |
|
32 | 34 | return "Restoration"; |
|
33 | 35 | } |
@@ -114,7 +114,7 | |||
|
114 | 114 | { |
|
115 | 115 | var removed = 0; |
|
116 | 116 | var tree_squares = area.squares.Where((square) => simulation.map.cells[(int)square.X][(int)square.Y].hasTree); |
|
117 | var to_remove = -delta.deltaTrees; | |
|
117 | var to_remove = -delta.deltaTrees.Value; | |
|
118 | 118 | |
|
119 | 119 | //calculate the probability in order to get the expected number of removed trees |
|
120 | 120 | var expected = to_remove; |
@@ -12,6 +12,7 | |||
|
12 | 12 | |
|
13 | 13 | using isometricparkfna.Messages; |
|
14 | 14 | using isometricparkfna.Components; |
|
15 | using isometricparkfna.Utils; | |
|
15 | 16 | |
|
16 | 17 | namespace isometricparkfna.Spawners { |
|
17 | 18 | |
@@ -210,7 +211,7 | |||
|
210 | 211 | AddComponent(contract, nameAndDescription); |
|
211 | 212 | AddComponent(contract, new SelectedComponent { selected = false }); |
|
212 | 213 | AddComponent(contract, new ContractStatusComponent { status = ContractStatus.Proposed, date = this.simulation.DateTime }); |
|
213 | AddComponent(contract, new TreeDeltaComponent { deltaTrees = deltaTrees }); | |
|
214 | AddComponent(contract, new TreeDeltaComponent { deltaTrees = new Fact<int>(deltaTrees) }); | |
|
214 | 215 | AddComponent(contract, new BudgetLineComponent |
|
215 | 216 | { |
|
216 | 217 | category = "Contracts", |
@@ -271,7 +271,7 | |||
|
271 | 271 | { |
|
272 | 272 | ImGui.PlotLines("Frame Rate", ref debugInfo.pastFps[0], debugInfo.pastFps.Length); |
|
273 | 273 | } |
|
274 | ||
|
274 | ||
|
275 | 275 | |
|
276 | 276 | foreach (string k in additionalInfo.Keys) |
|
277 | 277 | { |
@@ -58,6 +58,8 | |||
|
58 | 58 | <Compile Include="Utils\MathUtils.cs" /> |
|
59 | 59 | <Compile Include="Utils\Extensions.cs" /> |
|
60 | 60 | <Compile Include="Utils\Node.cs" /> |
|
61 | <Compile Include="Utils\Fact.cs" /> | |
|
62 | <Compile Include="Utils\FactRange.cs" /> | |
|
61 | 63 | <Compile Include="UI\*.cs" /> |
|
62 | 64 | </ItemGroup> |
|
63 | 65 | <ItemGroup> |
You need to be logged in to leave comments.
Login now