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 | 16 | public static class ContractsWindow |
|
17 | 17 | { |
|
18 |
public static |
|
|
19 | public static ContractStatus selected_status; | |
|
20 | public static decimal selected_amount; | |
|
18 | public static bool show_all; | |
|
21 | 19 | |
|
22 | public static bool show_all; | |
|
23 | private static string selected_tree_delta; | |
|
20 | private static (Entity entity, string name, ContractStatus status, decimal amount, string delta_trees) selected; | |
|
21 | ||
|
24 | 22 | |
|
25 | 23 | public static void Render(ImFontPtr font, ImGuiWindowBridgeEngine engine, |
|
26 | 24 | List<(Entity entity, string name, ContractStatus status, decimal amount, string delta_trees)> contracts) |
@@ -62,17 +60,15 | |||
|
62 | 60 | foreach (var contract in contracts.Where((contract) => ((!(new[] {ContractStatus.Expired, ContractStatus.Broken, ContractStatus.Rejected}.Contains(contract.status)) |
|
63 | 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 | 66 | // newSelected = contract.entity; |
|
69 | 67 | |
|
70 | 68 | } |
|
71 |
if (ContractsWindow.selected |
|
|
69 | if (ContractsWindow.selected.entity== contract.entity) | |
|
72 | 70 | { |
|
73 |
ContractsWindow.selected |
|
|
74 | ContractsWindow.selected_amount = contract.amount; | |
|
75 | ContractsWindow.selected_tree_delta = contract.delta_trees; | |
|
71 | ContractsWindow.selected = contract; | |
|
76 | 72 | } |
|
77 | 73 | |
|
78 | 74 | |
@@ -108,16 +104,16 | |||
|
108 | 104 | ImGui.Checkbox("Show All", ref show_all); |
|
109 | 105 | |
|
110 | 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 | 111 | ImGui.Text("Sustainability: "); |
|
116 | 112 | |
|
117 | 113 | |
|
118 | 114 | ImGui.SameLine(); |
|
119 | 115 | var color = new Num.Vector4(1f, 1f, 1f, 1f); |
|
120 |
switch (ContractsWindow.selected |
|
|
116 | switch (ContractsWindow.selected.delta_trees) | |
|
121 | 117 | { |
|
122 | 118 | case "Unsustainable": |
|
123 | 119 | color = new Num.Vector4(0.95f, 0.25f, 0.25f, 1f); |
@@ -130,37 +126,37 | |||
|
130 | 126 | color = new Num.Vector4(0.95f, 0.65f, 0.25f, 1f); |
|
131 | 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 | 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 | 143 | ImGui.SameLine(); |
|
148 | 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 | 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 | 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