path prototype
This commit is contained in:
@ -743,6 +743,32 @@ function segment:should_step(x, y)
|
|||||||
return ret
|
return ret
|
||||||
end
|
end
|
||||||
|
|
||||||
|
path = mknew {
|
||||||
|
loop_idx = 1,
|
||||||
|
current_idx = 1,
|
||||||
|
-- [1..n]: destinations
|
||||||
|
}
|
||||||
|
|
||||||
|
function path:reset()
|
||||||
|
self.loop_idx = 1
|
||||||
|
self.current_idx = 1
|
||||||
|
end
|
||||||
|
|
||||||
|
function path:target_from(fx, fy)
|
||||||
|
return self[self.current_idx]:target_from(fx, fy)
|
||||||
|
end
|
||||||
|
|
||||||
|
function path:update(x, y)
|
||||||
|
local idx = self.current_idx
|
||||||
|
if self[idx]:update(x, y) then
|
||||||
|
if idx == #self then
|
||||||
|
self.current_idx = self.loop_idx
|
||||||
|
return true
|
||||||
|
else
|
||||||
|
self.current_idx = idx+1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
-->8
|
-->8
|
||||||
-- bullet and gun behaviors
|
-- bullet and gun behaviors
|
||||||
|
Reference in New Issue
Block a user