Files
evolved.lua/develop/example.lua
2024-11-20 05:17:28 +07:00

42 lines
1.1 KiB
Lua

local evolved = require 'evolved.evolved'
local evolved_singles = require 'evolved.singles'
local evolved_vectors = require 'evolved.vectors'
local registry = evolved.create_registry()
local singles = {
delta_time = evolved_singles.create(registry, 0.016),
}
local fragments = {
position = evolved.create_entity(registry),
velocity = evolved.create_entity(registry),
}
local queries = {
bodies = evolved.create_query(registry,
fragments.position,
fragments.velocity),
}
do
local entity = evolved.create_entity(registry)
local position = evolved_vectors.vector2(512, 50)
local velocity = evolved_vectors.vector2(math.random(-20, 20), 20)
evolved.insert_component(entity, fragments.position, position)
evolved.insert_component(entity, fragments.velocity, velocity)
end
do
local dt = evolved_singles.get(singles.delta_time)
for chunk in evolved.execute_query(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