Performance optimizations and refacturing.

This commit is contained in:
Mal
2020-02-12 23:30:04 +01:00
parent b06186043f
commit 72589544bd
6 changed files with 138 additions and 26 deletions

View File

@@ -1,4 +1,5 @@
import GeometryPoint from "./geometry/GeometryPoint.js";
import GeometryRect from "./geometry/GeometryRect.js";
export default class Camera
{
@@ -114,4 +115,20 @@ export default class Camera
}
}
}
getViewAsRect()
{
return new GeometryRect(this.position.x, this.position.y, this.width, this.height);
}
isMovableInsideView(movable)
{
let viewRect = this.getViewAsRect();
let distanceMovable = movable.getRect().getDiagonal().getLength() * 0.5;
let distanceCamera = viewRect.getDiagonal().getLength() * 0.5;
let distanceMin = distanceMovable + distanceCamera;
return movable.getCenter().getDistanceToPoint(viewRect.getCenter()) < distanceMin;
}
}