LUADOC - Farming Simulator 22

Script v1_7_1_0

Engine v1_7_1_0

Foundation Reference

AIJobStartRequestEvent

Parent
Event
Functions

emptyNew

Description
Definition
emptyNew()
Code
12function AIJobStartRequestEvent.emptyNew()
13 local self = Event.new(AIJobStartRequestEvent_mt)
14 return self
15end

new

Description
Definition
new()
Code
19function AIJobStartRequestEvent.new(job, startFarmId)
20 local self = AIJobStartRequestEvent.emptyNew()
21
22 self.job = job
23 self.startFarmId = startFarmId
24
25 return self
26end

newServerToClient

Description
Definition
newServerToClient()
Code
30function AIJobStartRequestEvent.newServerToClient(state, jobTypeIndex)
31 local self = AIJobStartRequestEvent.emptyNew()
32 self.state = state
33 self.jobTypeIndex = jobTypeIndex
34
35 return self
36end

readStream

Description
Definition
readStream()
Code
40function AIJobStartRequestEvent:readStream(streamId, connection)
41 if not connection:getIsServer() then
42 self.startFarmId = streamReadUInt8(streamId)
43 local jobTypeIndex = streamReadUInt16(streamId)
44 self.job = g_currentMission.aiJobTypeManager:createJob(jobTypeIndex)
45 self.job:readStream(streamId, connection)
46 else
47 self.state = streamReadUInt8(streamId)
48 self.jobTypeIndex = streamReadUInt16(streamId)
49 end
50
51 self:run(connection)
52end

run

Description
Definition
run()
Code
70function AIJobStartRequestEvent:run(connection)
71 if not connection:getIsServer() then
72 local jobTypeIndex = g_currentMission.aiJobTypeManager:getJobTypeIndex(self.job)
73
74 local startable, state = self.job:getIsStartable(connection)
75
76 if not startable then
77 connection:sendEvent(AIJobStartRequestEvent.newServerToClient(state, jobTypeIndex))
78 return
79 end
80
81 connection:sendEvent(AIJobStartRequestEvent.newServerToClient(0, jobTypeIndex))
82 g_currentMission.aiSystem:startJob(self.job, self.startFarmId)
83 else
84 g_messageCenter:publish(AIJobStartRequestEvent, self.state, self.jobTypeIndex)
85 end
86end

writeStream

Description
Definition
writeStream()
Code
56function AIJobStartRequestEvent:writeStream(streamId, connection)
57 if connection:getIsServer() then
58 streamWriteUInt8(streamId, self.startFarmId)
59 local jobTypeIndex = g_currentMission.aiJobTypeManager:getJobTypeIndex(self.job)
60 streamWriteUInt16(streamId, jobTypeIndex)
61 self.job:writeStream(streamId, connection)
62 else
63 streamWriteUInt8(streamId, self.state)
64 streamWriteUInt16(streamId, self.jobTypeIndex)
65 end
66end