From ce32d16b8d9637ac5cb5711d139297a02d968e3d Mon Sep 17 00:00:00 2001 From: Tjakka5 Date: Fri, 3 Jan 2020 21:39:40 +0100 Subject: [PATCH] Allow Entity.new to take a world --- main.lua | 4 +--- src/entity.lua | 10 +++++++++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/main.lua b/main.lua index a671c69..c48bd62 100644 --- a/main.lua +++ b/main.lua @@ -70,11 +70,9 @@ end local world = World() -local entity = Entity() +local entity = Entity(world) entity:give(test_comp_1, 100, 100) -world:addEntity(entity) - world:addSystem(test_system_1, "test") world:addSystem(test_system_2, "test") diff --git a/src/entity.lua b/src/entity.lua index 755e75e..ff60a66 100644 --- a/src/entity.lua +++ b/src/entity.lua @@ -9,7 +9,11 @@ Entity.__index = Entity --- Creates and initializes a new Entity. -- @return A new Entity -function Entity.new() +function Entity.new(world) + if (world ~= nil and not Type.isWorld(world)) then + error("bad argument #1 to 'Entity.new' (world/nil expected, got "..type(world)..")", 2) + end + local e = setmetatable({ __world = nil, __components = {}, @@ -17,6 +21,10 @@ function Entity.new() __isEntity = true, }, Entity) + if (world) then + world:addEntity(e) + end + return e end