blob: 2bd52f7a888a376bec3d3a626d7c24622131bd44 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
export class Vector2 {
constructor(x, y) {
this.x = x
this.y = y
}
static sum(vector_a, vector_b) {
return new Vector2(
vector_a.x + vector_b.x,
vector_a.y + vector_b.y,
)
}
static equals(vector_a, vector_b) {
if (
vector_a.x == vector_b.x &&
vector_a.y == vector_b.y
) {
return true
}
return false
}
static removeIfInArray(value, array) {
return array.filter(x => !Vector2.equals(value, x))
}
static isInArray(position, array) {
return Array.from(array)
.some(p => Vector2.equals(p, position))
}
static pushIfNotInArray(position, array) {
if (!Vector2.isInArray(position, array)) {
array.push(position)
}
}
}
|