LUADOC - Farming Simulator 22

Script v1_7_1_0

Engine v1_7_1_0

Foundation Reference

SetCoverStateEvent

Description
Event for cover state
Parent
Event
Functions

emptyNew

Description
Create instance of Event class
Definition
emptyNew()
Return Values
tableselfinstance of class event
Code
13function SetCoverStateEvent.emptyNew()
14 return Event.new(SetCoverStateEvent_mt)
15end

new

Description
Create new instance of event
Definition
new(table vehicle, integer state)
Arguments
tablevehiclevehicle
integerstatecover state
Code
21function SetCoverStateEvent.new(vehicle, state)
22 local self = SetCoverStateEvent.emptyNew()
23
24 self.vehicle = vehicle
25 self.state = state
26
27 return self
28end

readStream

Description
Called on client side on join
Definition
readStream(integer streamId, integer connection)
Arguments
integerstreamIdstreamId
integerconnectionconnection
Code
34function SetCoverStateEvent:readStream(streamId, connection)
35 self.vehicle = NetworkUtil.readNodeObject(streamId)
36 self.state = streamReadUIntN(streamId, Cover.SEND_NUM_BITS)
37 self:run(connection)
38end

run

Description
Run action on receiving side
Definition
run(integer connection)
Arguments
integerconnectionconnection
Code
52function SetCoverStateEvent:run(connection)
53 if not connection:getIsServer() then
54 g_server:broadcastEvent(self, false, connection, self.vehicle)
55 end
56
57 if self.vehicle ~= nil then
58 if self.vehicle ~= nil and self.vehicle:getIsSynchronized() then
59 self.vehicle:setCoverState(self.state, true)
60 end
61 end
62end

sendEvent

Description
Broadcast event from server to all clients, if called on client call function on server and broadcast it to all clients
Definition
sendEvent(table vehicle, integer state, boolean noEventSend)
Arguments
tablevehiclevehicle
integerstatecover state
booleannoEventSendno event send
Code
69function SetCoverStateEvent.sendEvent(vehicle, state, noEventSend)
70 if vehicle.spec_cover.state ~= state then
71 if noEventSend == nil or noEventSend == false then
72 if g_server ~= nil then
73 g_server:broadcastEvent(SetCoverStateEvent.new(vehicle, state), nil, nil, vehicle)
74 else
75 g_client:getServerConnection():sendEvent(SetCoverStateEvent.new(vehicle, state))
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
44function SetCoverStateEvent:writeStream(streamId, connection)
45 NetworkUtil.writeNodeObject(streamId, self.vehicle)
46 streamWriteUIntN(streamId, self.state, Cover.SEND_NUM_BITS)
47end