222 for k, gear in ipairs(gears) do |
222 for k, gear in ipairs(gears) do |
223 func(gear) |
223 func(gear) |
224 end |
224 end |
225 end |
225 end |
226 |
226 |
|
227 -- Run a function on all gears within a box |
|
228 function runOnGearsInBox(func, x, y, w, h) |
|
229 for k, gear in ipairs(gears) do |
|
230 gx, gy = GetGearPosition(gear) |
|
231 if gx >= x and gy >= y and gx <= x + w and gy <= y + h then |
|
232 func(gear) |
|
233 end |
|
234 end |
|
235 end |
|
236 |
|
237 -- Run a function on all gears within a circle |
|
238 function runOnGearsInCircle(func, x, y, r) |
|
239 for k, gear in ipairs(gears) do |
|
240 gx, gy = GetGearPosition(gear) |
|
241 gr = GetGearRadius(gear) |
|
242 if (r + gr) ^ 2 >= (x - gx) ^ 2 + (y - gy) ^ 2 then |
|
243 func(gear) |
|
244 end |
|
245 end |
|
246 end |
|
247 |
227 -- Run a function on all tracked hogs |
248 -- Run a function on all tracked hogs |
228 function runOnHogs(func) |
249 function runOnHogs(func) |
229 for k, hogs in pairs(teams) do |
250 for k, hogs in pairs(teams) do |
230 for m, hog in ipairs(hogs) do |
251 for m, hog in ipairs(hogs) do |
231 func(hog) |
252 func(hog) |