Description:
Refactor out selection spawning code.
Commit status:
[Not Reviewed]
References:
Diff options:
Comments:
0 Commit comments
0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
@@ -98,6 +98,34 | |||
|
98 | 98 | } |
|
99 | 99 | } |
|
100 | 100 | |
|
101 | private void SpawnPointSelection(Tool tool) { | |
|
102 | foreach (ref readonly var message in ReadMessages<SpawnSelection>()) | |
|
103 | { | |
|
104 | if (message.Start.X >= 0 && message.Start.X < this.Map.MapWidth | |
|
105 | && message.Start.Y >= 0 && message.Start.Y < this.Map.MapHeight) { | |
|
106 | var entity = CreateEntity(); | |
|
107 | ||
|
108 | AddComponent(entity, new PointComponent {Square = message.Start, | |
|
109 | Tool=tool}); | |
|
110 | AddComponent(entity, new SelectedComponent { selected = true, Type= SelectionType.Area}); | |
|
111 | } | |
|
112 | } | |
|
113 | } | |
|
114 | ||
|
115 | private void SpawnAreaSelection(Tool tool) { | |
|
116 | foreach (ref readonly var message in ReadMessages<SpawnSelection>()) | |
|
117 | { | |
|
118 | if (message.Start.X >= 0 && message.Start.X < this.Map.MapWidth | |
|
119 | && message.Start.Y >= 0 && message.Start.Y < this.Map.MapHeight) { | |
|
120 | var entity = CreateEntity(); | |
|
121 | ||
|
122 | AddComponent(entity, new AreaComponent { squares = new[] {message.Start}, | |
|
123 | Tool = tool}); | |
|
124 | AddComponent(entity, new SelectedComponent { selected = true, Type= SelectionType.Area}); | |
|
125 | } | |
|
126 | } | |
|
127 | } | |
|
128 | ||
|
101 | 129 | public List<Vector2> GetOccupied() { |
|
102 | 130 | List<Vector2> occupied = new List<Vector2>(); |
|
103 | 131 | |
@@ -134,17 +162,7 | |||
|
134 | 162 | occupied.AddRange(entitySquares); |
|
135 | 163 | } |
|
136 | 164 | |
|
137 | foreach (ref readonly var message in ReadMessages<SpawnSelection>()) | |
|
138 | { | |
|
139 | if (message.Start.X >= 0 && message.Start.X < this.Map.MapWidth | |
|
140 | && message.Start.Y >= 0 && message.Start.Y < this.Map.MapHeight) { | |
|
141 | var entity = CreateEntity(); | |
|
142 | ||
|
143 | AddComponent(entity, new AreaComponent { squares = new[] {message.Start} , | |
|
144 | Tool=Tool.Preserve}); | |
|
145 | AddComponent(entity, new SelectedComponent { selected = true, Type= SelectionType.Area}); | |
|
146 | } | |
|
147 | } | |
|
165 | SpawnAreaSelection(Tool.Preserve); | |
|
148 | 166 | |
|
149 | 167 | foreach (ref readonly var message in ReadMessages<AdjustSelection>()) { |
|
150 | 168 | foreach (ref readonly var entity in ReadEntities<SelectedComponent>()) { |
@@ -183,17 +201,7 | |||
|
183 | 201 | } |
|
184 | 202 | } |
|
185 | 203 | else if (statuses.ContainsKey(Tool.Dezone) && statuses[Tool.Dezone]) { |
|
186 | foreach (ref readonly var message in ReadMessages<SpawnSelection>()) | |
|
187 | { | |
|
188 | if (message.Start.X >= 0 && message.Start.X < this.Map.MapWidth | |
|
189 | && message.Start.Y >= 0 && message.Start.Y < this.Map.MapHeight) { | |
|
190 | var entity = CreateEntity(); | |
|
191 | ||
|
192 | AddComponent(entity, new AreaComponent { squares = new[] {message.Start}, | |
|
193 | Tool = Tool.Dezone }); | |
|
194 | AddComponent(entity, new SelectedComponent { selected = true, Type= SelectionType.Area}); | |
|
195 | } | |
|
196 | } | |
|
204 | SpawnAreaSelection(Tool.Dezone); | |
|
197 | 205 | |
|
198 | 206 | foreach (ref readonly var message in ReadMessages<AdjustSelection>()) { |
|
199 | 207 | foreach (ref readonly var entity in ReadEntities<SelectedComponent>()) { |
@@ -228,17 +236,7 | |||
|
228 | 236 | } |
|
229 | 237 | } |
|
230 | 238 | else if (statuses.ContainsKey(Tool.Tower) && statuses[Tool.Tower]) { |
|
231 | foreach (ref readonly var message in ReadMessages<SpawnSelection>()) | |
|
232 | { | |
|
233 | if (message.Start.X >= 0 && message.Start.X < this.Map.MapWidth | |
|
234 | && message.Start.Y >= 0 && message.Start.Y < this.Map.MapHeight) { | |
|
235 | var entity = CreateEntity(); | |
|
236 | ||
|
237 | AddComponent(entity, new PointComponent {Square = message.Start, | |
|
238 | Tool=Tool.Tower}); | |
|
239 | AddComponent(entity, new SelectedComponent { selected = true, Type= SelectionType.Area}); | |
|
240 | } | |
|
241 | } | |
|
239 | SpawnPointSelection(Tool.Tower); | |
|
242 | 240 | |
|
243 | 241 | var occupied = GetOccupied(); |
|
244 | 242 | |
@@ -289,17 +287,7 | |||
|
289 | 287 | } |
|
290 | 288 | |
|
291 | 289 | else if ((statuses.ContainsKey(Tool.Bulldozer) && statuses[Tool.Bulldozer])) { |
|
292 | foreach (ref readonly var message in ReadMessages<SpawnSelection>()) | |
|
293 | { | |
|
294 | if (message.Start.X >= 0 && message.Start.X < this.Map.MapWidth | |
|
295 | && message.Start.Y >= 0 && message.Start.Y < this.Map.MapHeight) { | |
|
296 | var entity = CreateEntity(); | |
|
297 | ||
|
298 | AddComponent(entity, new AreaComponent { squares = new[] {message.Start}, | |
|
299 | Tool = Tool.Bulldozer }); | |
|
300 | AddComponent(entity, new SelectedComponent { selected = true, Type= SelectionType.Area}); | |
|
301 | } | |
|
302 | } | |
|
290 | SpawnAreaSelection(Tool.Bulldozer); | |
|
303 | 291 | |
|
304 | 292 | foreach (ref readonly var message in ReadMessages<AdjustSelection>()) { |
|
305 | 293 | foreach (ref readonly var entity in ReadEntities<SelectedComponent>()) { |
You need to be logged in to leave comments.
Login now