share/hedgewars/Data/Scripts/Tracker.lua
changeset 4869 7a720b5d2247
parent 4854 881c8232b66a
child 4873 98dbb9b985e5
--- a/share/hedgewars/Data/Scripts/Tracker.lua	Sat Jan 22 22:39:35 2011 +0300
+++ b/share/hedgewars/Data/Scripts/Tracker.lua	Sat Jan 22 22:31:05 2011 +0100
@@ -224,6 +224,27 @@
     end
 end
 
+-- Run a function on all gears within a box
+function runOnGearsInBox(func, x, y, w, h)
+    for k, gear in ipairs(gears) do
+        gx, gy = GetGearPosition(gear)
+        if gx >= x and gy >= y and gx <= x + w and gy <= y + h then
+            func(gear)
+        end
+    end
+end
+
+-- Run a function on all gears within a circle
+function runOnGearsInCircle(func, x, y, r)
+    for k, gear in ipairs(gears) do
+        gx, gy = GetGearPosition(gear)
+        gr = GetGearRadius(gear)
+        if (r + gr) ^ 2 >= (x - gx) ^ 2 + (y - gy) ^ 2 then
+            func(gear)
+        end
+    end
+end
+
 -- Run a function on all tracked hogs
 function runOnHogs(func)
     for k, hogs in pairs(teams) do