summaryrefslogtreecommitdiff
path: root/world.lua
diff options
context:
space:
mode:
authorElizabeth Alexander Hunt <me@liz.coffee>2026-04-29 19:26:18 -0700
committerElizabeth Alexander Hunt <me@liz.coffee>2026-04-29 19:26:18 -0700
commit48491750e4ece19d2252592850b75d100afc2455 (patch)
tree54a1edb6f390053c0ecee47da7e6121a9a387839 /world.lua
parent42aeb43e2c8a959f5ea1f9a33cfe63d667321c56 (diff)
downloaddyl8-48491750e4ece19d2252592850b75d100afc2455.tar.gz
dyl8-48491750e4ece19d2252592850b75d100afc2455.zip
The refactor from HELL
Diffstat (limited to 'world.lua')
-rw-r--r--world.lua21
1 files changed, 16 insertions, 5 deletions
diff --git a/world.lua b/world.lua
index cb322df..122d60a 100644
--- a/world.lua
+++ b/world.lua
@@ -1,9 +1,24 @@
_World = {}
World = {}
+_id = 1
+function _next_id()
+ i = _id
+ _id += 1
+ return i
+end
+
+function World.sort(cmp)
+ -- qsort(_World, cmp)
+end
+
+function World.get(id)
+ return _World[id]
+end
function World.add(entity)
+ entity.id = _next_id()
_World[entity.id] = entity
- return World
+ return World.get(entity.id)
end
function World.foreach(f)
@@ -23,8 +38,4 @@ function World.cull_the_dead()
_World[id] = nil
end
return _World
-end
-
-function World.get(id)
- return _World[id]
end \ No newline at end of file