summaryrefslogtreecommitdiffstats
path: root/src/renderer/runtime/controller/collision.ts
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2019-12-24 20:13:47 +0100
committerMatthias Schiffer <mschiffer@universe-factory.net>2019-12-24 20:28:51 +0100
commit764cd8344df2dc9b2c271d868ae193b98b829af7 (patch)
tree026b23d62d5fc7df338f880e85c26459f8be1a6a /src/renderer/runtime/controller/collision.ts
parent2f77cf7b7484beb3b94900f95d61fd2685c42ac2 (diff)
downloadrpgedit-764cd8344df2dc9b2c271d868ae193b98b829af7.tar
rpgedit-764cd8344df2dc9b2c271d868ae193b98b829af7.zip
Fix lint issues
Diffstat (limited to 'src/renderer/runtime/controller/collision.ts')
-rw-r--r--src/renderer/runtime/controller/collision.ts53
1 files changed, 24 insertions, 29 deletions
diff --git a/src/renderer/runtime/controller/collision.ts b/src/renderer/runtime/controller/collision.ts
index a44ffa4..3c12945 100644
--- a/src/renderer/runtime/controller/collision.ts
+++ b/src/renderer/runtime/controller/collision.ts
@@ -12,26 +12,25 @@ export function mkCollision(collision: Collision[]): Collidable[] {
for (const c of collision) {
switch (c.type) {
- case 'polygon':
- if (!c.vertices.length)
- continue;
-
- let prev = c.vertices[c.vertices.length - 1];
-
- for (const v of c.vertices) {
- ret.push(LineSegment.fromPoints(vec2.clone(prev), vec2.clone(v)));
- prev = v;
- }
-
- for (const v of c.vertices) {
- ret.push(new Point(vec2.clone(v)));
- prev = v;
- }
- break;
-
- case 'circle':
- ret.push(new Circle(vec2.clone(c.center), c.radius));
- break;
+ case 'polygon':
+ if (!c.vertices.length) continue;
+
+ let prev = c.vertices[c.vertices.length - 1];
+
+ for (const v of c.vertices) {
+ ret.push(LineSegment.fromPoints(vec2.clone(prev), vec2.clone(v)));
+ prev = v;
+ }
+
+ for (const v of c.vertices) {
+ ret.push(new Point(vec2.clone(v)));
+ prev = v;
+ }
+ break;
+
+ case 'circle':
+ ret.push(new Circle(vec2.clone(c.center), c.radius));
+ break;
}
}
@@ -39,24 +38,20 @@ export function mkCollision(collision: Collision[]): Collidable[] {
}
export interface CollidableGroup {
- getTranslation(): vec2|null;
+ getTranslation(): vec2 | null;
getCollidables(): Collidable[];
}
export function collide(collision: CollidableGroup, out: vec2, move: Movement, radius: number): boolean {
const t = collision.getTranslation();
- if (t)
- move = move.translate(vec2.negate(vec2.create(), t));
+ if (t) move = move.translate(vec2.negate(vec2.create(), t));
for (const c of collision.getCollidables()) {
- if (!c.collide(out, move, radius))
- continue;
+ if (!c.collide(out, move, radius)) continue;
- if (vec2.squaredDistance(move.src, out) >= vec2.squaredDistance(move.src, move.dest))
- continue;
+ if (vec2.squaredDistance(move.src, out) >= vec2.squaredDistance(move.src, move.dest)) continue;
- if (t)
- vec2.add(out, out, t);
+ if (t) vec2.add(out, out, t);
return true;
}