LUADOC - Farming Simulator 22

Script v1_7_1_0

Engine v1_7_1_0

Foundation Reference

FillTriggerVehicle

Description
Specialization for vehicles with a fill trigger (e.g. fuel/milk/water/liquid manure transport trailers)
Functions

getDrawFirstFillText

Description
Definition
getDrawFirstFillText()
Code
106function FillTriggerVehicle:getDrawFirstFillText(superFunc)
107 local spec = self.spec_fillTriggerVehicle
108 if self.isClient then
109 if spec.fillUnitIndex ~= nil and self:getFillUnitFillLevel(spec.fillUnitIndex) <= 0 and self:getFillUnitCapacity(spec.fillUnitIndex) ~= 0 then
110 return true
111 end
112 end
113
114 return superFunc(self)
115end

initSpecialization

Description
Definition
initSpecialization()
Code
23function FillTriggerVehicle.initSpecialization()
24 local schema = Vehicle.xmlSchema
25 schema:setXMLSpecializationType("FillTriggerVehicle")
26
27 schema:register(XMLValueType.NODE_INDEX, "vehicle.fillTriggerVehicle#triggerNode", "Fill trigger node")
28 schema:register(XMLValueType.INT, "vehicle.fillTriggerVehicle#fillUnitIndex", "Fill unit index", 1)
29 schema:register(XMLValueType.FLOAT, "vehicle.fillTriggerVehicle#litersPerSecond", "Liter per second", 200)
30
31 schema:setXMLSpecializationType()
32end

onDelete

Description
Called on deleting
Definition
onDelete()
Code
72function FillTriggerVehicle:onDelete()
73 local spec = self.spec_fillTriggerVehicle
74
75 if spec.fillTrigger ~= nil then
76 spec.fillTrigger:delete()
77 spec.fillTrigger = nil
78 end
79end

onLoad

Description
Called on loading
Definition
onLoad(table savegame)
Arguments
tablesavegamesavegame
Code
52function FillTriggerVehicle:onLoad(savegame)
53 local spec = self.spec_fillTriggerVehicle
54
55 local triggerNode = self.xmlFile:getValue("vehicle.fillTriggerVehicle#triggerNode", nil, self.components, self.i3dMappings)
56 if triggerNode ~= nil then
57 spec.fillUnitIndex = self.xmlFile:getValue("vehicle.fillTriggerVehicle#fillUnitIndex", 1)
58 spec.litersPerSecond = self.xmlFile:getValue("vehicle.fillTriggerVehicle#litersPerSecond", 200)
59 spec.fillTrigger = FillTrigger.new(triggerNode, self, spec.fillUnitIndex, spec.litersPerSecond)
60
61 if self:getPropertyState() ~= Vehicle.PROPERTY_STATE_SHOP_CONFIG then
62 if self.isServer then
63 local moneyChangeType = MoneyType.register("other", "finance_purchaseFuel")
64 spec.fillTrigger:setMoneyChangeType(moneyChangeType)
65 end
66 end
67 end
68end

onWriteStream

Description
Definition
onWriteStream()
Code
95function FillTriggerVehicle:onWriteStream(streamId, connection)
96 if not connection:getIsServer() then
97 local spec = self.spec_fillTriggerVehicle
98 if spec.fillTrigger ~= nil then
99 streamWriteUInt16(streamId, spec.fillTrigger.moneyChangeType.id)
100 end
101 end
102end

prerequisitesPresent

Description
Checks if all prerequisite specializations are loaded
Definition
prerequisitesPresent(table specializations)
Arguments
tablespecializationsspecializations
Return Values
booleanhasPrerequisitetrue if all prerequisite specializations are loaded
Code
17function FillTriggerVehicle.prerequisitesPresent(specializations)
18 return SpecializationUtil.hasSpecialization(FillUnit, specializations)
19end

registerEventListeners

Description
Definition
registerEventListeners()
Code
42function FillTriggerVehicle.registerEventListeners(vehicleType)
43 SpecializationUtil.registerEventListener(vehicleType, "onLoad", FillTriggerVehicle)
44 SpecializationUtil.registerEventListener(vehicleType, "onDelete", FillTriggerVehicle)
45 SpecializationUtil.registerEventListener(vehicleType, "onReadStream", FillTriggerVehicle)
46 SpecializationUtil.registerEventListener(vehicleType, "onWriteStream", FillTriggerVehicle)
47end

registerOverwrittenFunctions

Description
Definition
registerOverwrittenFunctions()
Code
36function FillTriggerVehicle.registerOverwrittenFunctions(vehicleType)
37 SpecializationUtil.registerOverwrittenFunction(vehicleType, "getDrawFirstFillText", FillTriggerVehicle.getDrawFirstFillText)
38end