@rbxts/types
Version:
TypeScript typings for the Roblox platform. Partially handwritten and partially automatically generated.
84 lines (74 loc) • 2.82 kB
TypeScript
/// <reference no-default-lib="true"/>
// MACRO MATH API
interface Number {
/** macro for number // number */
idiv(this: number, other: number): number;
}
declare interface CFrame {
/** macro for CFrame + Vector3 */
add(this: CFrame, v3: Vector3): CFrame;
/** macro for CFrame - Vector3 */
sub(this: CFrame, v3: Vector3): CFrame;
/** macro for CFrame * CFrame */
mul(this: CFrame, cf: CFrame): CFrame;
/** macro for CFrame * Vector3 */
mul(this: CFrame, v3: Vector3): Vector3;
/** macro for CFrame * CFrame | Vector3 */
mul(this: CFrame, other: CFrame | Vector3): CFrame | Vector3;
}
declare interface UDim {
/** macro for UDim + UDim */
add(this: UDim, udim: UDim): UDim;
/** macro for UDim - UDim */
sub(this: UDim, udim: UDim): UDim;
}
declare interface UDim2 {
/** macro for UDim2 + UDim2 */
add(this: UDim2, udim2: UDim2): UDim2;
/** macro for UDim2 - UDim2 */
sub(this: UDim2, udim2: UDim2): UDim2;
}
declare interface Vector2 {
/** macro for Vector2 + Vector2 */
add(this: Vector2, v2: Vector2): Vector2;
/** macro for Vector2 - Vector2 */
sub(this: Vector2, v2: Vector2): Vector2;
/** macro for Vector2 * Vector2 | number */
mul(this: Vector2, other: Vector2 | number): Vector2;
/** macro for Vector2 / Vector2 | number */
div(this: Vector2, other: Vector2 | number): Vector2;
/** macro for Vector2 // Vector2 | number */
idiv(this: Vector2, other: Vector2 | number): Vector2;
}
declare interface Vector2int16 {
/** macro for Vector2int16 + Vector2int16 */
add(this: Vector2int16, v2: Vector2int16): Vector2int16;
/** macro for Vector2int16 - Vector2int16 */
sub(this: Vector2int16, v2: Vector2int16): Vector2int16;
/** macro for Vector2int16 * Vector2int16 */
mul(this: Vector2int16, v2: Vector2int16): Vector2int16;
/** macro for Vector2int16 / Vector2int16 */
div(this: Vector2int16, v2: Vector2int16): Vector2int16;
}
declare interface Vector3 {
/** macro for Vector3 + Vector3 */
add(this: Vector3, v3: Vector3): Vector3;
/** macro for Vector3 - Vector3 */
sub(this: Vector3, v3: Vector3): Vector3;
/** macro for Vector3 * Vector3 | number */
mul(this: Vector3, other: Vector3 | number): Vector3;
/** macro for Vector3 / Vector3 | number */
div(this: Vector3, other: Vector3 | number): Vector3;
/** macro for Vector3 // Vector3 | number */
idiv(this: Vector3, other: Vector3 | number): Vector3;
}
declare interface Vector3int16 {
/** macro for Vector2int16 + Vector2int16 */
add(this: Vector3int16, v3: Vector3int16): Vector3int16;
/** macro for Vector2int16 - Vector2int16 */
sub(this: Vector3int16, v3: Vector3int16): Vector3int16;
/** macro for Vector2int16 * Vector2int16 */
mul(this: Vector3int16, v3: Vector3int16): Vector3int16;
/** macro for Vector2int16 / Vector2int16 */
div(this: Vector3int16, v3: Vector3int16): Vector3int16;
}