summaryrefslogtreecommitdiff
path: root/obj.lua
diff options
context:
space:
mode:
Diffstat (limited to 'obj.lua')
-rw-r--r--obj.lua16
1 files changed, 9 insertions, 7 deletions
diff --git a/obj.lua b/obj.lua
index ae8ff59..5f35755 100644
--- a/obj.lua
+++ b/obj.lua
@@ -3,6 +3,7 @@ local pi = math.pi
local obj = {}
+obj.max_size = 20
local types = {}
function obj.load_types()
@@ -48,12 +49,6 @@ function obj:overload(m, ...)
end
function obj:tick(...)
- local chunk = world.chunk(unpack(self.data.pos))
- if chunk ~= self.chunk then
- self.chunk.objects[self.id] = nil
- chunk.objects[self.id] = self
- self.chunk = chunk
- end
if self.data.vel then
local vx, vy = unpack(self.data.vel)
self.data.pos[1] = self.data.pos[1] + vx
@@ -62,7 +57,13 @@ function obj:tick(...)
if self.data.avel then
self.data.angle = (self.data.angle or 0) + self.data.avel / pi
end
- return self:overload("tick", ...)
+ self:overload("tick", ...)
+ local chunk = world.chunk(unpack(self.data.pos))
+ if chunk ~= self.chunk then
+ self.chunk.objects[self.id] = nil
+ chunk.objects[self.id] = self
+ self.chunk = chunk
+ end
end
function obj:draw(...)
@@ -77,6 +78,7 @@ end
function obj:init(...)
self.chunk = world.chunk(unpack(self.data.pos))
+ self.chunk.objects[self.id] = self
world.objects[self.id] = self
return self:overload("init", ...)
end