LUADOC - Farming Simulator 22

Script v1_7_1_0

Engine v1_7_1_0

Foundation Reference

VehicleActionControllerAction

Description
Copyright (C) GIANTS Software GmbH, Confidential, All Rights Reserved.
Functions

actionEvent

Description
Definition
actionEvent()
Code
130function VehicleActionControllerAction:actionEvent(actionName, inputValue, actionIndex, isAnalog)
131 self:doAction()
132end

addAIEventListener

Description
Definition
addAIEventListener()
Code
109function VehicleActionControllerAction:addAIEventListener(sourceVehicle, eventName, direction, forceUntilFinished)
110 self.sourceVehicle = sourceVehicle
111
112 local listener = {}
113 listener.eventName = eventName
114 listener.direction = direction
115 listener.forceUntilFinished = forceUntilFinished
116
117 table.insert(self.aiEventListener, listener)
118end

doAction

Description
Definition
doAction()
Code
136function VehicleActionControllerAction:doAction(direction)
137 if direction == nil then
138 direction = -self.lastDirection
139 end
140 self.lastDirection = direction
141
142 local success = self.inputCallback(self.callbackTarget, direction)
143 if success then
144 self.lastValidDirection = self.lastDirection
145 end
146
147 return success
148end

getDebugText

Description
Definition
getDebugText()
Code
217function VehicleActionControllerAction:getDebugText()
218 local finishedResult = self.finishedFunc(self.finishedFunctionTarget)
219 if type(finishedResult) == "number" then
220 finishedResult = string.format("%.1f", finishedResult)
221 end
222 return string.format("Prio '%d' - Vehicle '%s' - Action '%s' (%s/%s)", self.priority, Utils.getFilenameInfo((self.callbackTarget or {}).configFileName or "Unknown Vehicle", true), self.name, finishedResult, self.lastDirection == 1 and self.finishedResult or self.finishedResultRev)
223end

getDoResetOnDeactivation

Description
Definition
getDoResetOnDeactivation()
Code
103function VehicleActionControllerAction:getDoResetOnDeactivation()
104 return self.resetOnDeactivation
105end

getIsFinished

Description
Definition
getIsFinished()
Code
152function VehicleActionControllerAction:getIsFinished(direction)
153 if self.finishedFunc ~= nil then
154 if direction > 0 then
155 return self.finishedFunc(self.finishedFunctionTarget) == self.finishedResult
156 else
157 return self.finishedFunc(self.finishedFunctionTarget) == self.finishedResultRev
158 end
159 end
160
161 return true
162end

getIsSaved

Description
Definition
getIsSaved()
Code
91function VehicleActionControllerAction:getIsSaved()
92 return self.isSaved
93end

getLastDirection

Description
Definition
getLastDirection()
Code
97function VehicleActionControllerAction:getLastDirection()
98 return self.lastDirection
99end

getSourceVehicle

Description
Definition
getSourceVehicle()
Code
166function VehicleActionControllerAction:getSourceVehicle()
167 return self.sourceVehicle
168end

new

Description
Definition
new()
Code
11function VehicleActionControllerAction.new(parent, name, inputAction, priority, customMt)
12 if customMt == nil then
13 customMt = VehicleActionControllerAction_mt
14 end
15 local self = setmetatable({}, customMt)
16
17 self.parent = parent
18 self.name = name
19 self.inputAction = inputAction
20 self.priority = priority
21 self.lastDirection = -1
22 self.lastValidDirection = 0
23 self.isSaved = false
24 self.resetOnDeactivation = true
25 self.identifier = ""
26
27 self.aiEventListener = {}
28
29 return self
30end

onAIEvent

Description
Definition
onAIEvent()
Code
172function VehicleActionControllerAction:onAIEvent(eventName)
173 for _, listener in ipairs(self.aiEventListener) do
174 if listener.eventName == eventName then
175 if not self:doAction(listener.direction) and listener.forceUntilFinished then
176 self.forceDirectionUntilFinished = listener.direction
177 else
178 if self.forceDirectionUntilFinished ~= nil then
179 if listener.direction ~= self.forceDirectionUntilFinished then
180 self.forceDirectionUntilFinished = nil
181 end
182 end
183
184 self.parent:stopActionSequence()
185 end
186 end
187 end
188end

registerActionEvents

Description
Definition
registerActionEvents()
Code
123function VehicleActionControllerAction:registerActionEvents(target, vehicle, actionEvents, isActiveForInput, isActiveForInputIgnoreSelection)
124 --local _, actionEventId = vehicle:addActionEvent(actionEvents, self.inputAction, target, VehicleActionControllerAction.onActionEvent, false, true, false, true)
125 --g_inputBinding:setActionEventTextPriority(actionEventId, GS_PRIO_HIGH)
126end

remove

Description
Definition
remove()
Code
34function VehicleActionControllerAction:remove()
35 self.parent:removeAction(self)
36end

setCallback

Description
Definition
setCallback()
Code
51function VehicleActionControllerAction:setCallback(callbackTarget, inputCallback, inputCallbackRev)
52 self.callbackTarget = callbackTarget
53 self.inputCallback = inputCallback
54 self.inputCallbackRev = inputCallbackRev
55
56 self.identifier = callbackTarget.configFileName or ""
57end

setDeactivateFunction

Description
Definition
setDeactivateFunction()
Code
71function VehicleActionControllerAction:setDeactivateFunction(deactivateFunctionTarget, deactivateFunc, inverseDeactivateFunc)
72 self.deactivateFunctionTarget = deactivateFunctionTarget
73 self.deactivateFunc = deactivateFunc
74 self.inverseDeactivateFunc = Utils.getNoNil(inverseDeactivateFunc, false)
75end

setFinishedFunctions

Description
Definition
setFinishedFunctions()
Code
61function VehicleActionControllerAction:setFinishedFunctions(finishedFunctionTarget, finishedFunc, finishedResult, finishedResultRev, finishedFuncRev)
62 self.finishedFunctionTarget = finishedFunctionTarget
63 self.finishedFunc = finishedFunc
64 self.finishedFuncRev = finishedFuncRev
65 self.finishedResult = finishedResult
66 self.finishedResultRev = finishedResultRev
67end

setIsSaved

Description
Definition
setIsSaved()
Code
85function VehicleActionControllerAction:setIsSaved(isSaved)
86 self.isSaved = isSaved
87end

setResetOnDeactivation

Description
Definition
setResetOnDeactivation()
Code
79function VehicleActionControllerAction:setResetOnDeactivation(resetOnDeactivation)
80 self.resetOnDeactivation = resetOnDeactivation
81end

update

Description
Definition
update()
Code
192function VehicleActionControllerAction:update(dt)
193 if self.deactivateFunc ~= nil then
194 if self.lastDirection == 1 then
195 if self.deactivateFunc(self.deactivateFunctionTarget) == not self.inverseDeactivateFunc then
196 if self.parent.currentSequenceIndex == nil and self.forceDirectionUntilFinished == nil then
197 self.parent:startActionSequence()
198 end
199 end
200 end
201 end
202end

updateForAI

Description
Definition
updateForAI()
Code
206function VehicleActionControllerAction:updateForAI(dt)
207 if self.forceDirectionUntilFinished ~= nil then
208 if self:doAction(self.forceDirectionUntilFinished) then
209 self.forceDirectionUntilFinished = nil
210 self.parent:stopActionSequence()
211 end
212 end
213end

updateParent

Description
Definition
updateParent()
Code
40function VehicleActionControllerAction:updateParent(parent)
41 if parent ~= self.parent then
42 self.parent:removeAction(self)
43 parent:addAction(self)
44 end
45
46 self.parent = parent
47end