From 34247e00dbea6d3951e737427ad96ccc1c14290c Mon Sep 17 00:00:00 2001 From: cha0s Date: Mon, 21 Oct 2024 02:36:11 -0500 Subject: [PATCH] feat: isCollidinig --- app/ecs/components/collider.js | 4 ++++ resources/misc/death-default.js | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/app/ecs/components/collider.js b/app/ecs/components/collider.js index 6372b29..f5df712 100644 --- a/app/ecs/components/collider.js +++ b/app/ecs/components/collider.js @@ -35,6 +35,9 @@ export default class Collider extends Component { return aabbs; } checkCollision(other) { + if (!this.isColliding || !other.isColliding) { + return; + } const otherEntity = ecs.get(other.entity); const thisEntity = ecs.get(this.entity); const intersections = this.intersectionsWith(other); @@ -306,5 +309,6 @@ export default class Collider extends Component { }, collisionEndScript: {type: 'string'}, collisionStartScript: {type: 'string'}, + isColliding: {defaultValue: 1, type: 'uint8'}, }; } diff --git a/resources/misc/death-default.js b/resources/misc/death-default.js index 25b90c6..21effe9 100644 --- a/resources/misc/death-default.js +++ b/resources/misc/death-default.js @@ -1,7 +1,10 @@ import transition from '@/util/transition.js'; export default function*({ecs, entity}) { - const {Controlled, Sprite, Vulnerable} = entity; + const {Collider, Controlled, Sprite, Vulnerable} = entity; + if (Collider) { + Collider.isColliding = 0; + } if (Controlled) { Controlled.locked = 1; }