LUADOC - Farming Simulator 22

AITaskDischarge

Parent
AITask
Functions

finishedDischarge

Description
Definition
finishedDischarge()
Code
105function AITaskDischarge:finishedDischarge()
106 self.isFinished = true
107--#debug log("finished discharge")
108end

new

Description
Definition
new()
Code
19function AITaskDischarge.new(isServer, job, customMt)
20 local self = AITask.new(isServer, job, customMt or AITaskDischarge_mt)
21
22 self.vehicle = nil
23 self.unloadTrigger = nil
24 self.dischargeVehicle = nil
25 self.dischargeNode = nil
26 self.offsetZ = 0
27 self.maxSpeed = 5
28 self.state = AITaskDischarge.STATE_DRIVING
29
30 return self
31end

onError

Description
Definition
onError()
Code
100function AITaskDischarge:onError(errorMessage)
101end

onTargetReached

Description
Definition
onTargetReached()
Code
87function AITaskDischarge:onTargetReached()
88 self.vehicle:unsetAITarget()
89
90 if self.dischargeVehicle:getAICanStartDischarge(self.dischargeNode) then
91 self.state = AITaskDischarge.STATE_DISCHARGE
92 self.dischargeVehicle:startAIDischarge(self.dischargeNode, self)
93 else
94 g_currentMission.aiSystem:stopJob(self.job, AIMessageErrorUnloadingStationFull.new())
95 end
96end

reset

Description
Definition
reset()
Code
35function AITaskDischarge:reset()
36 self.vehicle = nil
37 self.unloadTrigger = nil
38 self.dischargeVehicle = nil
39 self.dischargeNode = nil
40 self.offsetZ = 0
41 self.state = AITaskDischarge.STATE_DRIVING
42 AITaskDischarge:superClass().reset(self)
43end

setDischargeNode

Description
Definition
setDischargeNode()
Code
59function AITaskDischarge:setDischargeNode(vehicle, dischargeNode, offsetZ)
60 if vehicle ~= nil then
61 self.offsetZ = offsetZ
62 vehicle:setCurrentDischargeNodeIndex(dischargeNode.index)
63 end
64
65 self.dischargeNode = dischargeNode
66 self.dischargeVehicle = vehicle
67end

setUnloadTrigger

Description
Definition
setUnloadTrigger()
Code
53function AITaskDischarge:setUnloadTrigger(unloadTrigger)
54 self.unloadTrigger = unloadTrigger
55end

setVehicle

Description
Definition
setVehicle()
Code
47function AITaskDischarge:setVehicle(vehicle)
48 self.vehicle = vehicle
49end

start

Description
Definition
start()
Code
71function AITaskDischarge:start()
72 if self.isServer then
73 local x, z, xDir, zDir = self.unloadTrigger:getAITargetPositionAndDirection()
74 x = x + xDir * -self.offsetZ
75 z = z + zDir * -self.offsetZ
76 local y = getTerrainHeightAtWorldPos(g_currentMission.terrainRootNode, x, 0, z)
77
78 self.vehicle:setAITarget(self, x, y, z, xDir, 0, zDir, self.maxSpeed, true)
79 self.state = AITaskDischarge.STATE_DRIVING
80 end
81
82 AITaskDischarge:superClass().start(self)
83end