strafe-client/luau/typemap.lua

48 lines
1.1 KiB
Lua

--A type map for the luau analyzer
type f32 = number
type struct_Vector2 = {x: f32, y: f32}
type struct_Vector3 = struct_Vector2 & {z: f32}
type struct_Vector4 = struct_Vector3 & {w: f32}
export type warn = (message: string) -> ()
export type Vector2 = {
new: (x: f32?, y: f32?) -> struct_Vector2,
ONE: struct_Vector2,
ZERO: struct_Vector2,
NEG_ZERO: struct_Vector2,
NEG_ONE: struct_Vector2,
NEG_X: struct_Vector2,
NEG_Y: struct_Vector2,
}
export type Vector3 = {
new: (x: f32?, y: f32?, z: f32?) -> struct_Vector3,
ONE: struct_Vector3,
ZERO: struct_Vector3,
NEG_ZERO: struct_Vector3,
NEG_ONE: struct_Vector3,
NEG_X: struct_Vector3,
NEG_Y: struct_Vector3,
}
export type Vector4 = {
new: (x: f32?, y: f32?, z: f32?, w: f32?) -> struct_Vector4,
ONE: struct_Vector4,
ZERO: struct_Vector4,
NEG_ZERO: struct_Vector4,
NEG_ONE: struct_Vector4,
NEG_X: struct_Vector4,
NEG_Y: struct_Vector4,
}
local Vector2: Vector2 = Vector2
local Vector3: Vector3 = Vector3
local Vector4: Vector4 = Vector4
local warn: warn = warn
return {
Vector2 = Vector2,
Vector3 = Vector3,
Vector4 = Vector4,
warn = warn
}