Files
evolved.lua/develop/example.lua
2024-11-22 06:55:03 +07:00

38 lines
928 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()
local position = evo.vectors.vector2(512, 50)
local velocity = evo.vectors.vector2(math.random(-20, 20), 20)
evo.registry.insert(entity, fragments.position, position)
evo.registry.insert(entity, fragments.velocity, velocity)
end
do
local dt = evo.singles.get(singles.delta_time)
for chunk in evo.registry.execute(queries.bodies) do
local ps = chunk.components[fragments.position]
local vs = chunk.components[fragments.velocity]
for i in #chunk.entities do
ps[i] = ps[i] + vs[i] * dt
end
end
end