UNPKG

2.51 kBTypeScriptView Raw
1/// <reference no-default-lib="true"/>
2
3// MACRO MATH API
4
5declare interface CFrame {
6 /** macro for CFrame + Vector3 */
7 add(this: CFrame, v3: Vector3): CFrame;
8 /** macro for CFrame - Vector3 */
9 sub(this: CFrame, v3: Vector3): CFrame;
10 /** macro for CFrame * CFrame */
11 mul(this: CFrame, cf: CFrame): CFrame;
12 /** macro for CFrame * Vector3 */
13 mul(this: CFrame, v3: Vector3): Vector3;
14 /** macro for CFrame * CFrame | Vector3 */
15 mul(this: CFrame, other: CFrame | Vector3): CFrame | Vector3;
16}
17
18declare interface UDim {
19 /** macro for UDim + UDim */
20 add(this: UDim, udim: UDim): UDim;
21 /** macro for UDim - UDim */
22 sub(this: UDim, udim: UDim): UDim;
23}
24
25declare interface UDim2 {
26 /** macro for UDim2 + UDim2 */
27 add(this: UDim2, udim2: UDim2): UDim2;
28 /** macro for UDim2 - UDim2 */
29 sub(this: UDim2, udim2: UDim2): UDim2;
30}
31
32declare interface Vector2 {
33 /** macro for Vector2 + Vector2 */
34 add(this: Vector2, v2: Vector2): Vector2;
35 /** macro for Vector2 - Vector2 */
36 sub(this: Vector2, v2: Vector2): Vector2;
37 /** macro for Vector2 * Vector2 | number */
38 mul(this: Vector2, other: Vector2 | number): Vector2;
39 /** macro for Vector2 / Vector2 | number */
40 div(this: Vector2, other: Vector2 | number): Vector2;
41}
42
43declare interface Vector2int16 {
44 /** macro for Vector2int16 + Vector2int16 */
45 add(this: Vector2int16, v2: Vector2int16): Vector2int16;
46 /** macro for Vector2int16 - Vector2int16 */
47 sub(this: Vector2int16, v2: Vector2int16): Vector2int16;
48 /** macro for Vector2int16 * Vector2int16 */
49 mul(this: Vector2int16, v2: Vector2int16): Vector2int16;
50 /** macro for Vector2int16 / Vector2int16 */
51 div(this: Vector2int16, v2: Vector2int16): Vector2int16;
52}
53
54declare interface Vector3 {
55 /** macro for Vector3 + Vector3 */
56 add(this: Vector3, v3: Vector3): Vector3;
57 /** macro for Vector3 - Vector3 */
58 sub(this: Vector3, v3: Vector3): Vector3;
59 /** macro for Vector3 * Vector3 | number */
60 mul(this: Vector3, other: Vector3 | number): Vector3;
61 /** macro for Vector3 / Vector3 | number */
62 div(this: Vector3, other: Vector3 | number): Vector3;
63}
64
65declare interface Vector3int16 {
66 /** macro for Vector2int16 + Vector2int16 */
67 add(this: Vector3int16, v3: Vector3int16): Vector3int16;
68 /** macro for Vector2int16 - Vector2int16 */
69 sub(this: Vector3int16, v3: Vector3int16): Vector3int16;
70 /** macro for Vector2int16 * Vector2int16 */
71 mul(this: Vector3int16, v3: Vector3int16): Vector3int16;
72 /** macro for Vector2int16 / Vector2int16 */
73 div(this: Vector3int16, v3: Vector3int16): Vector3int16;
74}