LUADOC - Farming Simulator 22

Script v1_7_1_0

Engine v1_7_1_0

Foundation Reference

AIJobVehicleStateEvent

Description
Event for ai start
Parent
Event
Functions

emptyNew

Description
Create instance of Event class
Definition
emptyNew()
Return Values
tableselfinstance of class event
Code
14function AIJobVehicleStateEvent.emptyNew()
15 local self = Event.new(AIJobVehicleStateEvent_mt)
16 return self
17end

new

Description
Create new instance of event
Definition
new(table vehicle, boolean isActive)
Arguments
tablevehiclevehicle
booleanisActiveis active
Code
23function AIJobVehicleStateEvent.new(vehicle, job, helperIndex, startedFarmId)
24 local self = AIJobVehicleStateEvent.emptyNew()
25
26 self.vehicle = vehicle
27 self.job = job
28 self.helperIndex = helperIndex
29 self.startedFarmId = startedFarmId
30
31 return self
32end

readStream

Description
Called on client side on join
Definition
readStream(integer streamId, integer connection)
Arguments
integerstreamIdstreamId
integerconnectionconnection
Code
38function AIJobVehicleStateEvent:readStream(streamId, connection)
39 self.vehicle = NetworkUtil.readNodeObject(streamId)
40
41 if streamReadBool(streamId) then
42 local jobId = streamReadInt32(streamId)
43 self.job = g_currentMission.aiSystem:getJobById(jobId)
44 self.startedFarmId = streamReadUIntN(streamId, FarmManager.FARM_ID_SEND_NUM_BITS)
45 self.helperIndex = streamReadUInt8(streamId)
46 end
47
48 self:run(connection)
49end

run

Description
Run action on receiving side
Definition
run(integer connection)
Arguments
integerconnectionconnection
Code
69function AIJobVehicleStateEvent:run(connection)
70 if self.vehicle ~= nil then
71 if self.vehicle ~= nil and self.vehicle:getIsSynchronized() then
72 if self.job ~= nil then
73 self.vehicle:aiJobStarted(self.job, self.helperIndex, self.startedFarmId)
74 else
75 self.vehicle:aiJobFinished()
76 end
77 end
78 end
79end

writeStream

Description
Called on server side on join
Definition
writeStream(integer streamId, integer connection)
Arguments
integerstreamIdstreamId
integerconnectionconnection
Code
55function AIJobVehicleStateEvent:writeStream(streamId, connection)
56 assert(not connection:getIsServer(), "AIJobVehicleStateEvent is a server to client event only")
57 NetworkUtil.writeNodeObject(streamId, self.vehicle)
58
59 if streamWriteBool(streamId, self.job ~= nil) then
60 streamWriteInt32(streamId, self.job.jobId)
61 streamWriteUIntN(streamId, self.startedFarmId, FarmManager.FARM_ID_SEND_NUM_BITS)
62 streamWriteUInt8(streamId, self.helperIndex)
63 end
64end