Files
evolved.lua/develop/example.lua
2024-11-23 11:46:14 +07:00

37 lines
854 B
Lua

local evo = require 'evolved.evolved'
local singles = {
delta_time = evo.singles.single(0.016),
}
local fragments = {
position = evo.registry.entity(),
velocity = evo.registry.entity(),
}
local queries = {
bodies = evo.registry.query(
fragments.position,
fragments.velocity),
}
do
local entity = evo.registry.entity()
entity:insert(fragments.position, evo.vectors.vector2(512, 50))
entity:insert(fragments.velocity, evo.vectors.vector2(math.random(-20, 20), 20))
end
do
local dt = evo.singles.get(singles.delta_time)
for chunk in queries.bodies:execute() do
local es = chunk:entities()
local ps = chunk:components(fragments.position)
local vs = chunk:components(fragments.velocity)
for i = 1, #es do
ps[i] = ps[i] + vs[i] * dt
end
end
end