mirror of
https://github.com/mwpenny/portal64-still-alive.git
synced 2024-10-19 22:27:36 -04:00
22 lines
565 B
Lua
22 lines
565 B
Lua
|
|
Vector3 = {}
|
|
|
|
function vector3(x, y, z)
|
|
return setmetatable({ x = x, y = y, z = z }, Vector3)
|
|
end
|
|
|
|
function Vector3.__add(a, b)
|
|
if (type(a) == 'number') then
|
|
return vector3(a + b.x, a + b.y, a + b.z)
|
|
end
|
|
|
|
if (type(b) == 'number') then
|
|
return vector3(a.x + b, a.y + b, a.z + b)
|
|
end
|
|
|
|
if (type(b) ~= 'table' or type(b.x) ~= 'number' or type(b.y) ~= 'number' or type(b.z) ~= 'number') then
|
|
error('Vector3.__add expected another vector as second operand')
|
|
end
|
|
|
|
return vector3(a.x + b.x, a.y + b.y, a.z + b.z)
|
|
end |