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 /> |
|
1 | // <autogenerated /> |
|
2 | using System; |
|
2 | using System; |
|
3 | using System.Reflection; |
|
3 | using System.Reflection; |
|
4 | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] |
|
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 | /home/alys/repos/isometric-park-fna/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.FNA.csprojAssemblyReference.cache |
|
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 | /home/alys/repos/isometric-park-fna/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.FNA.AssemblyInfoInputs.cache |
|
2 | /home/alys/repos/isometric-park-fna/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.FNA.AssemblyInfoInputs.cache |
|
33 | /home/alys/repos/isometric-park-fna/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.FNA.AssemblyInfo.cs |
|
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 |
|
4 | /home/alys/repos/isometric-park-fna/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.FNA.csproj.CoreCompileInputs.cache |
|
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 |
|
|
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
@@ -1,33 +1,35 | |||||
|
1 | using Encompass; |
|
1 | using Encompass; |
|
2 |
|
2 | ||
|
|
3 | using isometricparkfna.Utils; | ||
|
|
4 | |||
|
3 | namespace isometricparkfna.Components |
|
5 | namespace isometricparkfna.Components |
|
4 | { |
|
6 | { |
|
5 |
|
7 | ||
|
6 | public struct TreeDeltaComponent : IComponent |
|
8 | public struct TreeDeltaComponent : IComponent |
|
7 | { |
|
9 | { |
|
8 | public int deltaTrees; |
|
10 | public Fact<int> deltaTrees; |
|
9 |
|
11 | ||
|
10 | public string deltaTreesName |
|
12 | public string deltaTreesName |
|
11 | { |
|
13 | { |
|
12 | get |
|
14 | get |
|
13 | { |
|
15 | { |
|
14 | if (deltaTrees <= -18) |
|
16 | if (deltaTrees.Value <= -18) |
|
15 | { |
|
17 | { |
|
16 | return "Unsustainable"; |
|
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 | return "Moderately unsustainable"; |
|
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 | return "Somewhat unsustainable"; |
|
26 | return "Somewhat unsustainable"; |
|
25 | } |
|
27 | } |
|
26 | else if (deltaTrees == 0) |
|
28 | else if (deltaTrees.Value == 0) |
|
27 | { |
|
29 | { |
|
28 | return "Break even"; |
|
30 | return "Break even"; |
|
29 | } |
|
31 | } |
|
30 | else if (deltaTrees > 0) |
|
32 | else if (deltaTrees.Value > 0) |
|
31 | { |
|
33 | { |
|
32 | return "Restoration"; |
|
34 | return "Restoration"; |
|
33 | } |
|
35 | } |
@@ -114,7 +114,7 | |||||
|
114 | { |
|
114 | { |
|
115 | var removed = 0; |
|
115 | var removed = 0; |
|
116 | var tree_squares = area.squares.Where((square) => simulation.map.cells[(int)square.X][(int)square.Y].hasTree); |
|
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 | //calculate the probability in order to get the expected number of removed trees |
|
119 | //calculate the probability in order to get the expected number of removed trees |
|
120 | var expected = to_remove; |
|
120 | var expected = to_remove; |
@@ -12,6 +12,7 | |||||
|
12 |
|
12 | ||
|
13 | using isometricparkfna.Messages; |
|
13 | using isometricparkfna.Messages; |
|
14 | using isometricparkfna.Components; |
|
14 | using isometricparkfna.Components; |
|
|
15 | using isometricparkfna.Utils; | ||
|
15 |
|
16 | ||
|
16 | namespace isometricparkfna.Spawners { |
|
17 | namespace isometricparkfna.Spawners { |
|
17 |
|
18 | ||
@@ -210,7 +211,7 | |||||
|
210 | AddComponent(contract, nameAndDescription); |
|
211 | AddComponent(contract, nameAndDescription); |
|
211 | AddComponent(contract, new SelectedComponent { selected = false }); |
|
212 | AddComponent(contract, new SelectedComponent { selected = false }); |
|
212 | AddComponent(contract, new ContractStatusComponent { status = ContractStatus.Proposed, date = this.simulation.DateTime }); |
|
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 | AddComponent(contract, new BudgetLineComponent |
|
215 | AddComponent(contract, new BudgetLineComponent |
|
215 | { |
|
216 | { |
|
216 | category = "Contracts", |
|
217 | category = "Contracts", |
@@ -271,7 +271,7 | |||||
|
271 | { |
|
271 | { |
|
272 | ImGui.PlotLines("Frame Rate", ref debugInfo.pastFps[0], debugInfo.pastFps.Length); |
|
272 | ImGui.PlotLines("Frame Rate", ref debugInfo.pastFps[0], debugInfo.pastFps.Length); |
|
273 | } |
|
273 | } |
|
274 |
|
274 | ||
|
275 |
|
275 | ||
|
276 | foreach (string k in additionalInfo.Keys) |
|
276 | foreach (string k in additionalInfo.Keys) |
|
277 | { |
|
277 | { |
@@ -58,6 +58,8 | |||||
|
58 | <Compile Include="Utils\MathUtils.cs" /> |
|
58 | <Compile Include="Utils\MathUtils.cs" /> |
|
59 | <Compile Include="Utils\Extensions.cs" /> |
|
59 | <Compile Include="Utils\Extensions.cs" /> |
|
60 | <Compile Include="Utils\Node.cs" /> |
|
60 | <Compile Include="Utils\Node.cs" /> |
|
|
61 | <Compile Include="Utils\Fact.cs" /> | ||
|
|
62 | <Compile Include="Utils\FactRange.cs" /> | ||
|
61 | <Compile Include="UI\*.cs" /> |
|
63 | <Compile Include="UI\*.cs" /> |
|
62 | </ItemGroup> |
|
64 | </ItemGroup> |
|
63 | <ItemGroup> |
|
65 | <ItemGroup> |
You need to be logged in to leave comments.
Login now