LUADOC - Farming Simulator 22

Script v1_7_1_0

Engine v1_7_1_0

Foundation Reference

VariableWorkWidthStateEvent

Description
Event for variable work width state
Parent
Event
Functions

emptyNew

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

new

Description
Create new instance of event
Definition
new(table object, integer leftSide, integer rightSide)
Arguments
tableobjectobject
integerleftSideleftSide
integerrightSiderightSide
Code
23function VariableWorkWidthStateEvent.new(vehicle, leftSide, rightSide)
24 local self = VariableWorkWidthStateEvent.emptyNew()
25 self.vehicle = vehicle
26 self.leftSide = leftSide
27 self.rightSide = rightSide
28 return self
29end

readStream

Description
Called on client side on join
Definition
readStream(integer streamId, integer connection)
Arguments
integerstreamIdstreamId
integerconnectionconnection
Code
35function VariableWorkWidthStateEvent:readStream(streamId, connection)
36 self.vehicle = NetworkUtil.readNodeObject(streamId)
37 self.leftSide = streamReadUIntN(streamId, VariableWorkWidth.SEND_NUM_BITS)
38 self.rightSide = streamReadUIntN(streamId, VariableWorkWidth.SEND_NUM_BITS)
39 self:run(connection)
40end

run

Description
Run action on receiving side
Definition
run(integer connection)
Arguments
integerconnectionconnection
Code
55function VariableWorkWidthStateEvent:run(connection)
56 if self.vehicle ~= nil and self.vehicle:getIsSynchronized() then
57 self.vehicle:setSectionsActive(self.leftSide, self.rightSide, true)
58 end
59
60 if not connection:getIsServer() then
61 g_server:broadcastEvent(VariableWorkWidthStateEvent.new(self.vehicle, self.leftSide, self.rightSide), nil, connection, self.object)
62 end
63end

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 leftSide, integer rightSide, boolean noEventSend)
Arguments
tablevehiclevehicle
integerleftSideleftSide
integerrightSiderightSide
booleannoEventSendno event send
Code
71function VariableWorkWidthStateEvent.sendEvent(vehicle, leftSide, rightSide, noEventSend)
72 if noEventSend == nil or noEventSend == false then
73 if g_server ~= nil then
74 g_server:broadcastEvent(VariableWorkWidthStateEvent.new(vehicle, leftSide, rightSide), nil, nil, vehicle)
75 else
76 g_client:getServerConnection():sendEvent(VariableWorkWidthStateEvent.new(vehicle, leftSide, rightSide))
77 end
78 end
79end

writeStream

Description
Called on server side on join
Definition
writeStream(integer streamId, integer connection)
Arguments
integerstreamIdstreamId
integerconnectionconnection
Code
46function VariableWorkWidthStateEvent:writeStream(streamId, connection)
47 NetworkUtil.writeNodeObject(streamId, self.vehicle)
48 streamWriteUIntN(streamId, self.leftSide, VariableWorkWidth.SEND_NUM_BITS)
49 streamWriteUIntN(streamId, self.rightSide, VariableWorkWidth.SEND_NUM_BITS)
50end