LUADOC - Farming Simulator 19

Script v1.7.1.0

Engine v1.7.1.0

Foundation Reference

TensionBeltsEvent

Description
Event for tension belts state
Parent
Event
Functions

emptyNew

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

new

Description
Create new instance of event
Definition
new(table object, boolean isActive, integer beltId)
Arguments
tableobjectobject
booleanisActivebelt is active
integerbeltIdid of belt
Code
23function TensionBeltsEvent:new(object, isActive, beltId)
24 local self = TensionBeltsEvent:emptyNew()
25 self.object = object
26 self.isActive = isActive
27 self.beltId = beltId
28 return self
29end

readStream

Description
Called on client side on join
Definition
readStream(integer streamId, integer connection)
Arguments
integerstreamIdstreamId
integerconnectionconnection
Code
35function TensionBeltsEvent:readStream(streamId, connection)
36 self.object = NetworkUtil.readNodeObject(streamId);
37 if not streamReadBool(streamId) then
38 self.beltId = streamReadUIntN(streamId, TensionBelts.NUM_SEND_BITS)+1
39 end
40 self.isActive = streamReadBool(streamId)
41 self:run(connection)
42end

run

Description
Run action on receiving side
Definition
run(integer connection)
Arguments
integerconnectionconnection
Code
60function TensionBeltsEvent:run(connection)
61 if not connection:getIsServer() then
62 g_server:broadcastEvent(self, false, connection, self.object)
63 end
64 self.object:setTensionBeltsActive(self.isActive, self.beltId, true)
65end

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, boolean isActive, integer beltId, boolean noEventSend)
Arguments
tablevehiclevehicle
booleanisActivebelt is active
integerbeltIdid of belt
booleannoEventSendno event send
Code
73function TensionBeltsEvent.sendEvent(vehicle, isActive, beltId, noEventSend)
74 if noEventSend == nil or noEventSend == false then
75 if g_server ~= nil then
76 g_server:broadcastEvent(TensionBeltsEvent:new(vehicle, isActive, beltId), nil, nil, vehicle)
77 else
78 g_client:getServerConnection():sendEvent(TensionBeltsEvent:new(vehicle, isActive, beltId))
79 end
80 end
81end

writeStream

Description
Called on server side on join
Definition
writeStream(integer streamId, integer connection)
Arguments
integerstreamIdstreamId
integerconnectionconnection
Code
48function TensionBeltsEvent:writeStream(streamId, connection)
49 NetworkUtil.writeNodeObject(streamId, self.object)
50 streamWriteBool(streamId, self.beltId == nil)
51 if self.beltId ~= nil then
52 streamWriteUIntN(streamId, self.beltId-1, TensionBelts.NUM_SEND_BITS)
53 end
54 streamWriteBool(streamId, self.isActive)
55end