LUADOC - Farming Simulator 22

Script v1_7_1_0

Engine v1_7_1_0

Foundation Reference

SetCrabSteeringEvent

Description
Event for steering mode
Parent
Event
Functions

emptyNew

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

new

Description
Create new instance of event
Definition
new(table object, integer state)
Arguments
tableobjectobject
integerstatestate
Code
22function SetCrabSteeringEvent.new(vehicle, state)
23 local self = SetCrabSteeringEvent.emptyNew()
24 self.vehicle = vehicle
25 self.state = state
26 return self
27end

readStream

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

run

Description
Run action on receiving side
Definition
run(integer connection)
Arguments
integerconnectionconnection
Code
51function SetCrabSteeringEvent:run(connection)
52 if self.vehicle ~= nil and self.vehicle:getIsSynchronized() then
53 self.vehicle:setCrabSteering(self.state, true)
54 end
55
56 if not connection:getIsServer() then
57 g_server:broadcastEvent(SetCrabSteeringEvent.new(self.vehicle, self.state), nil, connection, self.object)
58 end
59end

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
integerstatestate
booleannoEventSendno event send
Code
66function SetCrabSteeringEvent.sendEvent(vehicle, state, noEventSend)
67 if noEventSend == nil or noEventSend == false then
68 if g_server ~= nil then
69 g_server:broadcastEvent(SetCrabSteeringEvent.new(vehicle, state), nil, nil, vehicle)
70 else
71 g_client:getServerConnection():sendEvent(SetCrabSteeringEvent.new(vehicle, state))
72 end
73 end
74end

writeStream

Description
Called on server side on join
Definition
writeStream(integer streamId, integer connection)
Arguments
integerstreamIdstreamId
integerconnectionconnection
Code
43function SetCrabSteeringEvent:writeStream(streamId, connection)
44 NetworkUtil.writeNodeObject(streamId, self.vehicle)
45 streamWriteUIntN(streamId, self.state, CrabSteering.STEERING_SEND_NUM_BITS)
46end