forked from SkalskiP/make-sense
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDirectionUtil.ts
29 lines (28 loc) · 961 Bytes
/
DirectionUtil.ts
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
import {Direction} from "../data/enums/Direction";
import {IPoint} from "../interfaces/IPoint";
export class DirectionUtil {
public static convertDirectionToVector(direction: Direction): IPoint {
switch (direction) {
case Direction.RIGHT:
return {x: 1, y: 0};
case Direction.LEFT:
return {x: -1, y: 0};
case Direction.TOP:
return {x: 0, y: 1};
case Direction.BOTTOM:
return {x: 0, y: -1};
case Direction.TOP_RIGHT:
return {x: 1, y: 1};
case Direction.TOP_LEFT:
return {x: -1, y: 1};
case Direction.BOTTOM_RIGHT:
return {x: 1, y: -1};
case Direction.BOTTOM_LEFT:
return {x: -1, y: -1};
case Direction.CENTER:
return {x: 0, y: 0};
default:
return null;
}
}
}