silphius/app/ecs-systems/clamp-positions.js
2024-06-13 17:49:39 -05:00

28 lines
620 B
JavaScript

import {System} from '@/ecs/index.js';
export default class ClampPositions extends System {
tick() {
const {diff} = this.ecs;
const {AreaSize} = this.ecs.get(1);
for (const id in diff) {
if (diff[id].Position) {
const {Position} = this.ecs.get(id);
if (Position.x < 0) {
Position.x = 0;
}
if (Position.y < 0) {
Position.y = 0;
}
if (Position.x >= AreaSize.x) {
Position.x = AreaSize.x - 0.0001;
}
if (Position.y >= AreaSize.y) {
Position.y = AreaSize.y - 0.0001;
}
}
}
}
}