fixed som issues with the reg
This commit is contained in:
parent
4451fe4224
commit
1f803030f5
12
src/main.zig
12
src/main.zig
@ -41,7 +41,7 @@ pub fn SetupECS(reg: *ecs.Registry) !void {
|
|||||||
reg.add(player, EnSysTypes.Sprite{.image = rl.loadTexture("src/Images/9k.png")});
|
reg.add(player, EnSysTypes.Sprite{.image = rl.loadTexture("src/Images/9k.png")});
|
||||||
}
|
}
|
||||||
pub fn DrawSystem(reg: *ecs.Registry) !void {
|
pub fn DrawSystem(reg: *ecs.Registry) !void {
|
||||||
var view = reg.*.view(.{EnSysTypes.Transform, EnSysTypes.Sprite}, .{});
|
var view = reg.view(.{EnSysTypes.Transform, EnSysTypes.Sprite}, .{});
|
||||||
var iter = view.entityIterator();
|
var iter = view.entityIterator();
|
||||||
while(iter.next())|entity|{
|
while(iter.next())|entity|{
|
||||||
const Transform = view.getConst(EnSysTypes.Transform, entity);
|
const Transform = view.getConst(EnSysTypes.Transform, entity);
|
||||||
@ -50,17 +50,17 @@ pub fn DrawSystem(reg: *ecs.Registry) !void {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
pub fn PhysicsSystem(reg: *ecs.Registry, deltaTime: f32) !void {
|
pub fn PhysicsSystem(reg: *ecs.Registry, deltaTime: f32) !void {
|
||||||
var view = reg.*.view(.{EnSysTypes.Transform, EnSysTypes.Rigidbody, EnSysTypes.Gravity}, .{});
|
var view = reg.view(.{EnSysTypes.Transform, EnSysTypes.Rigidbody, EnSysTypes.Gravity}, .{});
|
||||||
var iter = view.entityIterator();
|
var iter = view.entityIterator();
|
||||||
while(iter.next())|entity|{
|
while(iter.next())|entity|{
|
||||||
var Rigidbody = view.get(EnSysTypes.Rigidbody, entity);
|
var Rigidbody = view.get(EnSysTypes.Rigidbody, entity);
|
||||||
var Transform = view.get(EnSysTypes.Transform, entity);
|
var Transform = view.get(EnSysTypes.Transform, entity);
|
||||||
const Gravity = view.getConst(EnSysTypes.Gravity, entity);
|
const Gravity = view.getConst(EnSysTypes.Gravity, entity);
|
||||||
|
|
||||||
Rigidbody.*.vel.x += Gravity.vel.x;
|
Rigidbody.vel.x += Gravity.vel.x;
|
||||||
Rigidbody.*.vel.y += Gravity.vel.y;
|
Rigidbody.vel.y += Gravity.vel.y;
|
||||||
Transform.*.pos.x += Rigidbody.*.vel.x / deltaTime;
|
Transform.pos.x += Rigidbody.vel.x / deltaTime;
|
||||||
Transform.*.pos.y += Rigidbody.*.vel.y / deltaTime;
|
Transform.pos.y += Rigidbody.vel.y / deltaTime;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user