Skip to main content
Skip to main content

AIJobStartEvent

AIJobStartEvent

Parent

Event

Functions

emptyNew

Description

Definition

emptyNew()

Code

function AIJobStartEvent.emptyNew()
local self = Event.new( AIJobStartEvent _mt)
return self
end

new

Description

Definition

new()

Arguments

anyjob
anystartFarmId

Code

function AIJobStartEvent.new(job, startFarmId)
local self = AIJobStartEvent.emptyNew()

self.job = job
self.startFarmId = startFarmId

return self
end

readStream

Description

Definition

readStream()

Arguments

anystreamId
anyconnection

Code

function AIJobStartEvent:readStream(streamId, connection)
assert(connection:getIsServer(), "AIJobStartEvent is a server to client only event" )

self.startFarmId = streamReadUIntN(streamId, FarmManager.FARM_ID_SEND_NUM_BITS)
local jobTypeIndex = streamReadInt32(streamId)

self.job = g_currentMission.aiJobTypeManager:createJob(jobTypeIndex)
self.job:readStream(streamId, connection)

self:run(connection)
end

run

Description

Definition

run()

Arguments

anyconnection

Code

function AIJobStartEvent:run(connection)
g_currentMission.aiSystem:startJobInternal( self.job, self.startFarmId)
end

writeStream

Description

Definition

writeStream()

Arguments

anystreamId
anyconnection

Code

function AIJobStartEvent:writeStream(streamId, connection)
streamWriteUIntN(streamId, self.startFarmId, FarmManager.FARM_ID_SEND_NUM_BITS)
local jobTypeIndex = g_currentMission.aiJobTypeManager:getJobTypeIndex( self.job)
streamWriteInt32(streamId, jobTypeIndex)
self.job:writeStream(streamId, connection)
end