add bbox checks for pathfinding

This commit is contained in:
2025-01-21 10:02:54 +09:00
parent 6b8a220f39
commit 8ce1a2266f
7 changed files with 90 additions and 69 deletions
+2 -2
View File
@@ -75,8 +75,8 @@ export default class Projectile {
const bboxCheckedObstacles = terrains.filter((it) => SATX.bboxCheck(bbox, it.bbox))
if (bboxCheckedObstacles.length < 1) { return true }
const posCollider = Entity.collider(this.position.x, this.position.y, 1) // TODO: magic number for radius
const posBbox = Entity.bbox(this.position.x, this.position.y, 1) // TODO: magic number for radius
const posCollider = Entity.collider(this.position.x, this.position.y, 0)
const posBbox = Entity.bbox(this.position.x, this.position.y, 0)
const unpassableTerrain = bboxCheckedObstacles.filter((it) => !(SATX.bboxCheck(posBbox, it.bbox) && it.colliders().some((c) => SATX.collideObject(posCollider, c))))
const colliders = unpassableTerrain.map((it) => it.colliders()).flat()