Implement package states (hidden, revealed, active)
This commit is contained in:
parent
acdecc6e85
commit
1b68510ce0
4 changed files with 69 additions and 64 deletions
14
src/area.ts
14
src/area.ts
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
Reference in a new issue