summaryrefslogtreecommitdiff
path: root/world.lua
diff options
context:
space:
mode:
authorElizabeth Hunt <me@liz.coffee>2026-04-25 20:42:30 -0700
committerElizabeth Hunt <me@liz.coffee>2026-04-25 20:42:30 -0700
commita81b080cc830d3073fda40ec777ab24f72cacfb9 (patch)
treeb92a2461993a2aedb3ea946ee10aa09ca7df3c5d /world.lua
parent24b0469237285a05d9ffc05d18e43cc5dcdef00f (diff)
downloaddyl8-a81b080cc830d3073fda40ec777ab24f72cacfb9.tar.gz
dyl8-a81b080cc830d3073fda40ec777ab24f72cacfb9.zip
Getting a sword slashing animation working
Diffstat (limited to 'world.lua')
-rw-r--r--world.lua27
1 files changed, 26 insertions, 1 deletions
diff --git a/world.lua b/world.lua
index fd793a4..cb322df 100644
--- a/world.lua
+++ b/world.lua
@@ -1,5 +1,30 @@
+_World = {}
World = {}
+
function World.add(entity)
- World[entity.id] = entity
+ _World[entity.id] = entity
return World
+end
+
+function World.foreach(f)
+ for id, entity in pairs(_World) do
+ f(entity)
+ end
+end
+
+function World.cull_the_dead()
+ to_reap = {}
+ for id, e in pairs(_World) do
+ if (e.life_time ~= nil and e.life_time <= 0) then
+ to_reap[id] = e
+ end
+ end
+ for id, e in pairs(to_reap) do
+ _World[id] = nil
+ end
+ return _World
+end
+
+function World.get(id)
+ return _World[id]
end \ No newline at end of file