Concord/main.lua
2019-12-19 08:47:38 +01:00

70 lines
No EOL
1.3 KiB
Lua

--[=[
local file = "examples.simpleDrawing"
-- local file = "examples.baseLayout.main"
require(file)
]=]--
local Concord = require("src")
local Component = require("src.component")
local test_comp_1 = Concord.component("test_comp_1", function(e, x, y)
e.x = x
e.y = y
end)
local test_comp_2 = Concord.component("test_comp_2", function(e, a)
e.a = a
end)
local test_comp_3 = Concord.component("test_comp_3", function(e, b)
e.b = b
end)
local test_system = Concord.system({Component.test_comp_1})
function onEntityAdded(e)
print("Added")
end
function onEntityRemoved(e)
print("Removed")
end
function test_system:init()
self.pool.onEntityAdded = onEntityAdded
self.pool.onEntityRemoved = onEntityRemoved
end
function test_system:update(dt)
--print(#self.pool)
end
local world = Concord.world()
local entity = Concord.entity()
entity:give(Component.test_comp_1, 100, 100)
world:addEntity(entity)
world:addSystem(test_system(), "update")
function love.update(dt)
world:flush()
world:emit("update", dt)
end
function love.keypressed(key)
if key == "q" then
entity:remove(Component.test_comp_1)
end
if key == "w" then
entity:give(Component.test_comp_1)
end
if key == "e" then
world:removeEntity(entity)
end
end