add Transform.dirty flag

This commit is contained in:
MihailRis
2024-06-30 19:19:43 +03:00
parent df39a9a8f3
commit d4460928e5
5 changed files with 29 additions and 10 deletions
+5 -2
View File
@@ -18,6 +18,7 @@ void Transform::refresh() {
combined = glm::translate(combined, pos);
combined = glm::scale(combined, size);
combined = combined * glm::mat4(rot);
dirty = false;
}
void Entity::destroy() {
@@ -136,7 +137,7 @@ void Entities::updatePhysics(float delta) {
eid.uid
);
hitbox.linearDamping = hitbox.grounded * 24;
transform.pos = hitbox.position;
transform.setPos(hitbox.position);
if (hitbox.grounded && !grounded) {
scripting::on_entity_grounded(*get(eid.uid), glm::length(prevVel-hitbox.velocity));
}
@@ -150,7 +151,9 @@ void Entities::update() {
scripting::on_entities_update();
auto view = registry.view<Transform>();
for (auto [entity, transform] : view.each()) {
transform.refresh();
if (transform.dirty) {
transform.refresh();
}
}
}