LUADOC - Farming Simulator 22

Script v1_7_1_0

Engine v1_7_1_0

Foundation Reference

ManureBarrel

Description
Specialization for liquid manure barrel, connects function of barrel to attached manure spreader
Functions

getAreEffectsVisible

Description
Definition
getAreEffectsVisible()
Code
84function ManureBarrel:getAreEffectsVisible(superFunc)
85 local spec = self.spec_manureBarrel
86
87 if spec.attachedTool ~= nil then
88 return false
89 end
90
91 return superFunc(self)
92end

getIsWorkAreaActive

Description
Definition
getIsWorkAreaActive()
Code
96function ManureBarrel:getIsWorkAreaActive(superFunc, workArea)
97 local spec = self.spec_manureBarrel
98
99 if spec.attachedTool ~= nil then
100 return false
101 end
102
103 return superFunc(self, workArea)
104end

initSpecialization

Description
Definition
initSpecialization()
Code
21function ManureBarrel.initSpecialization()
22 local schema = Vehicle.xmlSchema
23 schema:setXMLSpecializationType("ManureBarrel")
24
25 schema:register(XMLValueType.INT, "vehicle.manureBarrel#attacherJointIndex", "Attacher joint index")
26
27 schema:setXMLSpecializationType()
28end

onLoad

Description
Definition
onLoad()
Code
47function ManureBarrel:onLoad(savegame)
48 local spec = self.spec_manureBarrel
49
50 XMLUtil.checkDeprecatedXMLElements(self.xmlFile, "vehicle.manureBarrel#toolAttachAnimName", "vehicle.attacherJoints.attacherJoint.objectChange") --FS17 to FS19
51
52 spec.attachToolJointIndex = self.xmlFile:getValue("vehicle.manureBarrel#attacherJointIndex")
53end

onPostAttachImplement

Description
Definition
onPostAttachImplement()
Code
57function ManureBarrel:onPostAttachImplement(attachable, inputJointDescIndex, jointDescIndex)
58 local spec = self.spec_manureBarrel
59 if jointDescIndex == spec.attachToolJointIndex then
60 spec.attachedTool = attachable
61 end
62end

onPostDetachImplement

Description
Definition
onPostDetachImplement()
Code
66function ManureBarrel:onPostDetachImplement(implementIndex)
67 local spec = self.spec_manureBarrel
68
69 local object
70 if self.getObjectFromImplementIndex ~= nil then
71 object = self:getObjectFromImplementIndex(implementIndex)
72 end
73
74 if object ~= nil then
75 local attachedImplements = self:getAttachedImplements()
76 if attachedImplements[implementIndex].jointDescIndex == spec.attachToolJointIndex then
77 spec.attachedTool = nil
78 end
79 end
80end

prerequisitesPresent

Description
Definition
prerequisitesPresent()
Code
15function ManureBarrel.prerequisitesPresent(specializations)
16 return SpecializationUtil.hasSpecialization(Sprayer, specializations) and SpecializationUtil.hasSpecialization(AttacherJoints, specializations)
17end

registerEventListeners

Description
Definition
registerEventListeners()
Code
39function ManureBarrel.registerEventListeners(vehicleType)
40 SpecializationUtil.registerEventListener(vehicleType, "onLoad", ManureBarrel)
41 SpecializationUtil.registerEventListener(vehicleType, "onPostAttachImplement", ManureBarrel)
42 SpecializationUtil.registerEventListener(vehicleType, "onPostDetachImplement", ManureBarrel)
43end

registerOverwrittenFunctions

Description
Definition
registerOverwrittenFunctions()
Code
32function ManureBarrel.registerOverwrittenFunctions(vehicleType)
33 SpecializationUtil.registerOverwrittenFunction(vehicleType, "getAreEffectsVisible", ManureBarrel.getAreEffectsVisible)
34 SpecializationUtil.registerOverwrittenFunction(vehicleType, "getIsWorkAreaActive", ManureBarrel.getIsWorkAreaActive)
35end