Description:
Refactor Contracts window.
Commit status:
[Not Reviewed]
References:
Diff options:
Comments:
0 Commit comments
0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
@@ -15,12 +15,10 | |||||
|
15 | { |
|
15 | { |
|
16 | public static class ContractsWindow |
|
16 | public static class ContractsWindow |
|
17 | { |
|
17 | { |
|
18 |
public static |
|
18 | public static bool show_all; |
|
19 | public static ContractStatus selected_status; |
|
||
|
20 | public static decimal selected_amount; |
|
||
|
21 |
|
19 | ||
|
22 | public static bool show_all; |
|
20 | private static (Entity entity, string name, ContractStatus status, decimal amount, string delta_trees) selected; |
|
23 | private static string selected_tree_delta; |
|
21 | |
|
24 |
|
22 | ||
|
25 | public static void Render(ImFontPtr font, ImGuiWindowBridgeEngine engine, |
|
23 | public static void Render(ImFontPtr font, ImGuiWindowBridgeEngine engine, |
|
26 | List<(Entity entity, string name, ContractStatus status, decimal amount, string delta_trees)> contracts) |
|
24 | List<(Entity entity, string name, ContractStatus status, decimal amount, string delta_trees)> contracts) |
@@ -62,17 +60,15 | |||||
|
62 | foreach (var contract in contracts.Where((contract) => ((!(new[] {ContractStatus.Expired, ContractStatus.Broken, ContractStatus.Rejected}.Contains(contract.status)) |
|
60 | foreach (var contract in contracts.Where((contract) => ((!(new[] {ContractStatus.Expired, ContractStatus.Broken, ContractStatus.Rejected}.Contains(contract.status)) |
|
63 | || ContractsWindow.show_all )))) |
|
61 | || ContractsWindow.show_all )))) |
|
64 | { |
|
62 | { |
|
65 |
if (ImGui.Selectable(contract.name, ContractsWindow.selected |
|
63 | if (ImGui.Selectable(contract.name, ContractsWindow.selected.entity== contract.entity)) |
|
66 | { |
|
64 | { |
|
67 |
ContractsWindow.selected |
|
65 | ContractsWindow.selected.entity= contract.entity; |
|
68 | // newSelected = contract.entity; |
|
66 | // newSelected = contract.entity; |
|
69 |
|
67 | ||
|
70 | } |
|
68 | } |
|
71 |
if (ContractsWindow.selected |
|
69 | if (ContractsWindow.selected.entity== contract.entity) |
|
72 | { |
|
70 | { |
|
73 |
ContractsWindow.selected |
|
71 | ContractsWindow.selected = contract; |
|
74 | ContractsWindow.selected_amount = contract.amount; |
|
||
|
75 | ContractsWindow.selected_tree_delta = contract.delta_trees; |
|
||
|
76 | } |
|
72 | } |
|
77 |
|
73 | ||
|
78 |
|
74 | ||
@@ -108,16 +104,16 | |||||
|
108 | ImGui.Checkbox("Show All", ref show_all); |
|
104 | ImGui.Checkbox("Show All", ref show_all); |
|
109 |
|
105 | ||
|
110 | ImGui.Separator(); |
|
106 | ImGui.Separator(); |
|
111 |
ImGui.Text(string.Format("Amount: ${0}/mo.", ContractsWindow.selected |
|
107 | ImGui.Text(string.Format("Amount: ${0}/mo.", ContractsWindow.selected.amount)); |
|
112 |
|
108 | ||
|
113 |
if (ContractsWindow.selected |
|
109 | if (ContractsWindow.selected.delta_trees != null) |
|
114 | { |
|
110 | { |
|
115 | ImGui.Text("Sustainability: "); |
|
111 | ImGui.Text("Sustainability: "); |
|
116 |
|
112 | ||
|
117 |
|
113 | ||
|
118 | ImGui.SameLine(); |
|
114 | ImGui.SameLine(); |
|
119 | var color = new Num.Vector4(1f, 1f, 1f, 1f); |
|
115 | var color = new Num.Vector4(1f, 1f, 1f, 1f); |
|
120 |
switch (ContractsWindow.selected |
|
116 | switch (ContractsWindow.selected.delta_trees) |
|
121 | { |
|
117 | { |
|
122 | case "Unsustainable": |
|
118 | case "Unsustainable": |
|
123 | color = new Num.Vector4(0.95f, 0.25f, 0.25f, 1f); |
|
119 | color = new Num.Vector4(0.95f, 0.25f, 0.25f, 1f); |
@@ -130,37 +126,37 | |||||
|
130 | color = new Num.Vector4(0.95f, 0.65f, 0.25f, 1f); |
|
126 | color = new Num.Vector4(0.95f, 0.65f, 0.25f, 1f); |
|
131 | break; |
|
127 | break; |
|
132 | } |
|
128 | } |
|
133 |
ImGui.TextColored(color, ContractsWindow.selected |
|
129 | ImGui.TextColored(color, ContractsWindow.selected.delta_trees); |
|
134 | } |
|
130 | } |
|
135 |
|
131 | ||
|
136 |
|
132 | ||
|
137 |
|
133 | ||
|
138 |
if (selected |
|
134 | if (selected.status == ContractStatus.Proposed) |
|
139 | { |
|
135 | { |
|
140 | if (ImGui.Button("Accept")) |
|
136 | if (ImGui.Button("Accept")) |
|
141 | { |
|
137 | { |
|
142 | System.Console.Write(string.Format("{0} selected", ContractsWindow.selected)); |
|
138 | System.Console.Write(string.Format("{0} selected", ContractsWindow.selected.entity)); |
|
143 |
|
139 | ||
|
144 | engine.contractStatusMessages.Add(new ChangeContractStatusMessage { Entity = ContractsWindow.selected, newStatus = ContractStatus.Accepted }); |
|
140 | engine.contractStatusMessages.Add(new ChangeContractStatusMessage { Entity = ContractsWindow.selected.entity, newStatus = ContractStatus.Accepted }); |
|
145 |
|
141 | ||
|
146 | } |
|
142 | } |
|
147 | ImGui.SameLine(); |
|
143 | ImGui.SameLine(); |
|
148 | if (ImGui.Button("Reject")) |
|
144 | if (ImGui.Button("Reject")) |
|
149 | { |
|
145 | { |
|
150 | System.Console.Write(string.Format("{0} rejected", ContractsWindow.selected)); |
|
146 | System.Console.Write(string.Format("{0} rejected", ContractsWindow.selected.entity)); |
|
151 |
|
147 | ||
|
152 | engine.contractStatusMessages.Add(new ChangeContractStatusMessage { Entity = ContractsWindow.selected, newStatus = ContractStatus.Rejected }); |
|
148 | engine.contractStatusMessages.Add(new ChangeContractStatusMessage { Entity = ContractsWindow.selected.entity, newStatus = ContractStatus.Rejected }); |
|
153 |
|
149 | ||
|
154 | } |
|
150 | } |
|
155 |
|
151 | ||
|
156 | } |
|
152 | } |
|
157 |
else if (selected |
|
153 | else if (selected.status == ContractStatus.Accepted) |
|
158 | { |
|
154 | { |
|
159 | if (ImGui.Button("Cancel")) |
|
155 | if (ImGui.Button("Cancel")) |
|
160 | { |
|
156 | { |
|
161 | System.Console.Write(string.Format("{0} canceled", ContractsWindow.selected)); |
|
157 | System.Console.Write(string.Format("{0} canceled", ContractsWindow.selected.entity)); |
|
162 |
|
158 | ||
|
163 | engine.contractStatusMessages.Add(new ChangeContractStatusMessage { Entity = ContractsWindow.selected, newStatus = ContractStatus.Broken }); |
|
159 | engine.contractStatusMessages.Add(new ChangeContractStatusMessage { Entity = ContractsWindow.selected.entity, newStatus = ContractStatus.Broken }); |
|
164 | } |
|
160 | } |
|
165 |
|
161 | ||
|
166 | } |
|
162 | } |
@@ -183,7 +179,7 | |||||
|
183 | engine.messages.Add(new ToggleWindowMessage { Window = Window.Contracts }); |
|
179 | engine.messages.Add(new ToggleWindowMessage { Window = Window.Contracts }); |
|
184 | } |
|
180 | } |
|
185 |
|
181 | ||
|
186 | engine.selectedMessages.Add(new SelectMessage { Entity = selected }); |
|
182 | engine.selectedMessages.Add(new SelectMessage { Entity = selected.entity }); |
|
187 |
|
183 | ||
|
188 | } |
|
184 | } |
|
189 | } |
|
185 | } |
You need to be logged in to leave comments.
Login now