Implement package states (hidden, revealed, active)

This commit is contained in:
Dennis Schoepf 2021-07-30 16:57:47 +02:00
parent acdecc6e85
commit 1b68510ce0
4 changed files with 69 additions and 64 deletions

View file

@ -1,7 +1,7 @@
import { BehaviorSubject, Subject } from 'rxjs';
import { mp5 } from '../main';
export const playerHeadPosition$ = new Subject<{ x: number; y: number }>();
export const playerHead$ = new Subject<{ x: number; y: number; w: number }>();
export const revealedArea$ = new BehaviorSubject<{ x: number; y: number; w: number }>({
x: 0,
@ -9,11 +9,13 @@ export const revealedArea$ = new BehaviorSubject<{ x: number; y: number; w: numb
w: 0,
});
export function pointIsRevealed(
point: { x: number; y: number },
revealedArea: { x: number; y: number; w: number }
export function areasColliding(
areaOne: { x: number; y: number; w: number },
areaTwo: { x: number; y: number; w: number },
log?: boolean
): boolean {
const distanceBetweenPoints = mp5.dist(point.x, point.y, revealedArea.x, revealedArea.y);
const distanceBetweenPoints = mp5.dist(areaOne.x, areaOne.y, areaTwo.x, areaTwo.y);
const shapeArea = areaTwo.w / 2 + areaOne.w / 2;
return distanceBetweenPoints < revealedArea.w / 2;
return distanceBetweenPoints < shapeArea;
}