fixed som issues with the reg

master
RedStealthDev 9 months ago
parent 4451fe4224
commit 1f803030f5

@ -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…
Cancel
Save