LUADOC - Farming Simulator 22

DebugInfoTable

Functions

createWithNode

Description
Definition
createWithNode()
Code
78function DebugInfoTable:createWithNode(node, info, size)
79 local x, y, z = getWorldTranslation(node)
80 local rotX, rotY, rotZ = getWorldRotation(node)
81
82 return self:createWithWorldPosAndRot(x, y, z, rotX, rotY, rotZ, info, size)
83end

createWithNodeToCamera

Description
Definition
createWithNodeToCamera()
Code
87function DebugInfoTable:createWithNodeToCamera(node, yOffset, info, size)
88 local x, y, z = localToWorld(node, 0, yOffset, 0)
89 local cx, cy, cz = getWorldTranslation(getCamera())
90 local dirX, _, dirZ = MathUtil.vector3Normalize(cx-x, cy-y, cz-z)
91 local rotY = MathUtil.getYRotationFromDirection(dirX, dirZ)
92
93 return self:createWithWorldPosAndRot(x, y, z, 0, rotY, 0, info, size)
94end

createWithWorldPosAndRot

Description
Definition
createWithWorldPosAndRot()
Code
98function DebugInfoTable:createWithWorldPosAndRot(x, y, z, rotX, rotY, rotZ, info, size)
99 self.x, self.y, self.z = x, y, z
100 self.rotX, self.rotY, self.rotZ = rotX, rotY, rotZ
101 self.information = info
102 self.size = size * 2.5
103
104 return self
105end

draw

Description
Definition
draw()
Code
37function DebugInfoTable:draw()
38 setTextDepthTestEnabled(false)
39 setTextVerticalAlignment(RenderText.VERTICAL_ALIGN_BASELINE)
40 setTextColor(self.r, self.g, self.b, self.a)
41 setTextBold(false)
42
43 local yOffset = 0
44 for i=#self.information, 1, -1 do
45 local info = self.information[i]
46 local title = info.title
47 local content = info.content
48
49 for j=#content, 1, -1 do
50 local pair = content[j]
51 local key = pair.name
52 local value = pair.value
53
54 setTextAlignment(RenderText.ALIGN_RIGHT)
55 renderText3D(self.x, self.y+yOffset, self.z, self.rotX, self.rotY, self.rotZ, self.size, key)
56 setTextAlignment(RenderText.ALIGN_LEFT)
57 if type(value) == "number" then
58 renderText3D(self.x, self.y+yOffset, self.z, self.rotX, self.rotY, self.rotZ, self.size, " " ..string.format("%.4f", value))
59 else
60 renderText3D(self.x, self.y+yOffset, self.z, self.rotX, self.rotY, self.rotZ, self.size, " " ..tostring(value))
61 end
62 yOffset = yOffset + self.size
63 end
64
65 setTextAlignment(RenderText.ALIGN_CENTER)
66 setTextBold(true)
67 renderText3D(self.x, self.y+yOffset, self.z, self.rotX, self.rotY, self.rotZ, self.size, title)
68 setTextBold(false)
69 setTextAlignment(RenderText.ALIGN_LEFT)
70 yOffset = yOffset + 2*self.size
71 end
72
73 setTextDepthTestEnabled(true)
74end

new

Description
Definition
new()
Code
15function DebugInfoTable.new(customMt)
16 local self = setmetatable({}, customMt or DebugInfoTable_mt)
17
18 self.x, self.y, self.z = 0, 0, 0
19 self.rotX, self.rotY, self.rotZ = 0, 0, 0
20 self.r, self.g, self.b, self.a = 1, 1, 1, 1
21 self.size = 0.25
22
23 self.text = nil
24 self.alignToGround = false
25
26 return self
27end