share/hedgewars/Data/Scripts/Tracker.lua
changeset 4873 98dbb9b985e5
parent 4869 7a720b5d2247
child 5138 f991f87969ff
equal deleted inserted replaced
4872:6b2fb9f0054a 4873:98dbb9b985e5
   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 
       
   248 -- Run a function on all tracked hogs
   227 -- Run a function on all tracked hogs
   249 function runOnHogs(func)
   228 function runOnHogs(func)
   250     for k, hogs in pairs(teams) do
   229     for k, hogs in pairs(teams) do
   251         for m, hog in ipairs(hogs) do
   230         for m, hog in ipairs(hogs) do
   252             func(hog)
   231             func(hog)