share/hedgewars/Data/Scripts/Tracker.lua
changeset 4869 7a720b5d2247
parent 4854 881c8232b66a
child 4873 98dbb9b985e5
equal deleted inserted replaced
4868:652139f230c7 4869:7a720b5d2247
   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)