Description:
Refactor Contracts window.
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r228:c482c9a192d6 -

@@ -15,12 +15,10
15 15 {
16 16 public static class ContractsWindow
17 17 {
18 public static Entity selected;
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 == contract.entity))
63 if (ImGui.Selectable(contract.name, ContractsWindow.selected.entity== contract.entity))
66 64 {
67 ContractsWindow.selected = contract.entity;
65 ContractsWindow.selected.entity= contract.entity;
68 66 // newSelected = contract.entity;
69 67
70 68 }
71 if (ContractsWindow.selected == contract.entity)
69 if (ContractsWindow.selected.entity== contract.entity)
72 70 {
73 ContractsWindow.selected_status = contract.status;
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_amount));
107 ImGui.Text(string.Format("Amount: ${0}/mo.", ContractsWindow.selected.amount));
112 108
113 if (ContractsWindow.selected_tree_delta != null)
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_tree_delta)
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_tree_delta);
129 ImGui.TextColored(color, ContractsWindow.selected.delta_trees);
134 130 }
135 131
136 132
137 133
138 if (selected_status == ContractStatus.Proposed)
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_status == ContractStatus.Accepted)
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