mirror of
https://github.com/S4mpsa/InfOS.git
synced 2025-08-03 18:06:04 -04:00
92 lines
2.5 KiB
Lua
92 lines
2.5 KiB
Lua
local AR = {}
|
|
|
|
local terminal = {x = 8257, y = 199, z = -2731}
|
|
|
|
function AR.cube(glasses, x, y, z, color, alpha, scale)
|
|
scale = scale or 1
|
|
alpha = alpha or 1
|
|
local cube = glasses.addCube3D()
|
|
cube.set3DPos(x - terminal.x, y - terminal.y, z - terminal.z)
|
|
cube.setColor(color)
|
|
cube.setAlpha(alpha)
|
|
cube.setScale(scale)
|
|
return cube
|
|
end
|
|
|
|
function AR.line(glasses, source, dest, color, alpha, scale)
|
|
scale = scale or 1
|
|
alpha = alpha or 1
|
|
local line = glasses.addLine3D()
|
|
line.setVertex(1, source.x - terminal.x + 0.5, source.y - terminal.y + 0.5, source.z - terminal.z + 0.5)
|
|
line.setVertex(2, dest.x - terminal.x + 0.5, dest.y - terminal.y + 0.5, dest.z - terminal.z + 0.5)
|
|
line.setColor(color)
|
|
line.setAlpha(alpha)
|
|
line.setScale(scale)
|
|
return line
|
|
end
|
|
|
|
function AR.worldText(glasses, name, x, y, z, color, alpha, scale)
|
|
scale = scale or 0.04
|
|
alpha = alpha or 1
|
|
local text = glasses.addFloatingText()
|
|
text.set3DPos(x - terminal.x, y - terminal.y, z - terminal.z)
|
|
text.setColor(color)
|
|
text.setAlpha(alpha)
|
|
text.setScale(scale)
|
|
text.setText(name)
|
|
return text
|
|
end
|
|
|
|
function AR.hudTriangle(glasses, a, b, c, color, alpha)
|
|
alpha = alpha or 1.0
|
|
local triangle = glasses.addTriangle()
|
|
triangle.setColor(color)
|
|
triangle.setAlpha(alpha)
|
|
triangle.setVertex(1, a[1], a[2])
|
|
triangle.setVertex(2, b[1], b[2])
|
|
triangle.setVertex(3, c[1], c[2])
|
|
return triangle
|
|
end
|
|
|
|
function AR.hudQuad(glasses, a, b, c, d, color, alpha)
|
|
alpha = alpha or 1.0
|
|
local quad = glasses.addQuad()
|
|
quad.setColor(color)
|
|
quad.setAlpha(alpha)
|
|
quad.setVertex(1, a[1], a[2])
|
|
quad.setVertex(2, b[1], b[2])
|
|
quad.setVertex(3, c[1], c[2])
|
|
quad.setVertex(4, d[1], d[2])
|
|
return quad
|
|
end
|
|
|
|
function AR.hudRectangle(glasses, x, y, w, h, color, alpha)
|
|
alpha = alpha or 1.0
|
|
local rect = glasses.addRect()
|
|
rect.setPosition(x, y)
|
|
rect.setSize(h, w)
|
|
rect.setColor(color)
|
|
rect.setAlpha(alpha)
|
|
return rect
|
|
end
|
|
|
|
function AR.textSize(textObject, scale)
|
|
local oldX, oldY = textObject.getPosition()
|
|
oldX = oldX * textObject.getScale()
|
|
oldY = oldY * textObject.getScale()
|
|
textObject.setScale(scale)
|
|
textObject.setPosition(oldX / (scale + 1), oldY / (scale + 1))
|
|
end
|
|
|
|
function AR.hudText(glasses, displayText, x, y, color, scale)
|
|
scale = scale or 1
|
|
local text = glasses.addTextLabel()
|
|
text.setText(displayText)
|
|
text.setPosition(x, y)
|
|
text.setColor(color)
|
|
AR.textSize(text, scale)
|
|
return text
|
|
end
|
|
|
|
return AR
|