LUADOC - Farming Simulator 22

Script v1_7_1_0

Engine v1_7_1_0

Foundation Reference

InlineBaleSingle

Description
Class for inline bales
Parent
Bale
Functions

getBaleSupportsBaleLoader

Description
Definition
getBaleSupportsBaleLoader()
Code
27function InlineBaleSingle:getBaleSupportsBaleLoader()
28 return false
29end

getCanBeOpened

Description
Definition
getCanBeOpened()
Code
33function InlineBaleSingle:getCanBeOpened()
34 return false
35end

getConnectedInlineBale

Description
Definition
getConnectedInlineBale()
Code
45function InlineBaleSingle:getConnectedInlineBale()
46 return self.connectedInlineBale
47end

getHasConnector

Description
Definition
getHasConnector()
Code
98function InlineBaleSingle:getHasConnector()
99 return self.inlineConnector ~= nil
100end

new

Description
Creating bale object
Definition
new(boolean isServer, boolean isClient, table customMt)
Arguments
booleanisServeris server
booleanisClientis client
tablecustomMtcustomMt
Return Values
tableinstanceInstance of object
Code
16function InlineBaleSingle.new(isServer, isClient, customMt)
17 local self = Bale.new(isServer, isClient, customMt or InlineBaleSingle_mt)
18 registerObjectClassName(self, "InlineBaleSingle")
19
20 self.connectedInlineBale = nil
21
22 return self
23end

removeConnector

Description
Definition
removeConnector()
Code
104function InlineBaleSingle:removeConnector()
105 local connector = self.inlineConnector
106 if connector ~= nil then
107 if entityExists(connector.joint1) then
108 delete(connector.joint1)
109 end
110 if entityExists(connector.joint2) then
111 delete(connector.joint2)
112 end
113 if entityExists(connector.mesh) then
114 delete(connector.mesh)
115 end
116
117 if connector.sharedLoadRequestId ~= nil then
118 g_i3DManager:releaseSharedI3DFile(connector.sharedLoadRequestId)
119 end
120 self.inlineConnector = nil
121 end
122end

setConnectedInlineBale

Description
Definition
setConnectedInlineBale()
Code
39function InlineBaleSingle:setConnectedInlineBale(inlineBale)
40 self.connectedInlineBale = inlineBale
41end

setConnector

Description
Definition
setConnector()
Code
51function InlineBaleSingle:setConnector(connectedBale, filename, axis, offset)
52 filename = NetworkUtil.convertFromNetworkFilename(filename)
53 local rootNode, sharedLoadRequestId = g_i3DManager:loadSharedI3DFile(filename, false, false)
54 if rootNode == 0 then
55 return false
56 end
57
58 local startNode = getChildAt(rootNode, 0)
59 local endNode = getChildAt(rootNode, 1)
60 local skinnedMesh = getChildAt(rootNode, 2)
61 link(connectedBale.nodeId, endNode)
62 link(self.nodeId, startNode)
63 link(self.nodeId, skinnedMesh)
64
65 local translation = {0, 0, 0}
66 translation[axis] = offset
67 setTranslation(startNode, unpack(translation))
68
69 translation[axis] = -offset
70 setTranslation(endNode, unpack(translation))
71
72 delete(rootNode)
73
74 self.inlineConnector = {filename=filename, sharedLoadRequestId=sharedLoadRequestId, mesh=skinnedMesh, joint1=startNode, joint2=endNode, isDirty=true}
75 setVisibility(skinnedMesh, self.wrappingState > 0)
76
77 if getHasShaderParameter(skinnedMesh, "colorMat0") then
78 local r, g, b, _ = unpack(connectedBale.wrappingColor)
79 local _, _, _, a = getShaderParameter(skinnedMesh, "colorMat0")
80 setShaderParameter(skinnedMesh, "colorMat0", r, g, b, a, false)
81 end
82
83 if getHasShaderParameter(skinnedMesh, "RDT") then
84 setShaderParameter(skinnedMesh, "RDT", 0, 0, 0, 0, false)
85 end
86end

setConnectorVisibility

Description
Definition
setConnectorVisibility()
Code
90function InlineBaleSingle:setConnectorVisibility(state)
91 if self:getHasConnector() then
92 setVisibility(self.inlineConnector.mesh, state)
93 end
94end

setWrappingState

Description
Set wrapping state of bale
Definition
setWrappingState(boolean wrappingState)
Arguments
booleanwrappingStatenew wrapping state
Code
127function InlineBaleSingle:setWrappingState(wrappingState, noEventSend)
128 self:setConnectorVisibility(wrappingState > 0)
129
130 InlineBaleSingle:superClass().setWrappingState(self, wrappingState, noEventSend)
131end