LUADOC - Farming Simulator 22

Script v1_7_1_0

Engine v1_7_1_0

Foundation Reference

SetFillUnitCapacityEvent

Description
Event for fill unit capacity sync
Parent
Event
Functions

emptyNew

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

new

Description
Create new instance of event
Definition
new(table vehicle, boolean capacity)
Arguments
tablevehiclevehicle
booleancapacityis filling state
Code
22function SetFillUnitCapacityEvent.new(vehicle, fillUnitIndex, capacity)
23 local self = SetFillUnitCapacityEvent.emptyNew()
24 self.vehicle = vehicle
25 self.fillUnitIndex = fillUnitIndex
26 self.capacity = capacity
27 return self
28end

readStream

Description
Called on client side
Definition
readStream(integer streamId, integer connection)
Arguments
integerstreamIdstreamId
integerconnectionconnection
Code
34function SetFillUnitCapacityEvent:readStream(streamId, connection)
35 self.vehicle = NetworkUtil.readNodeObject(streamId)
36 self.fillUnitIndex = streamReadUIntN(streamId, 8)
37 self.capacity = streamReadFloat32(streamId)
38 self:run(connection)
39end

run

Description
Run action on receiving side
Definition
run(integer connection)
Arguments
integerconnectionconnection
Code
54function SetFillUnitCapacityEvent:run(connection)
55 if self.vehicle ~= nil and self.vehicle:getIsSynchronized() then
56 self.vehicle:setFillUnitCapacity(self.fillUnitIndex, self.capacity, true)
57 end
58
59 if not connection:getIsServer() then
60 g_server:broadcastEvent(SetFillUnitCapacityEvent.new(self.vehicle, self.fillUnitIndex, self.capacity), nil, connection, self.vehicle)
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 object, boolean isActive, boolean noEventSend)
Arguments
tableobjectobject
booleanisActiveis active
booleannoEventSendno event send
Code
69function SetFillUnitCapacityEvent.sendEvent(vehicle, fillUnitIndex, capacity, noEventSend)
70 if noEventSend == nil or noEventSend == false then
71 if g_server ~= nil then
72 g_server:broadcastEvent(SetFillUnitCapacityEvent.new(vehicle, fillUnitIndex, capacity), nil, nil, vehicle)
73 else
74 g_client:getServerConnection():sendEvent(SetFillUnitCapacityEvent.new(vehicle, fillUnitIndex, capacity))
75 end
76 end
77end

writeStream

Description
Called on server side
Definition
writeStream(integer streamId, integer connection)
Arguments
integerstreamIdstreamId
integerconnectionconnection
Code
45function SetFillUnitCapacityEvent:writeStream(streamId, connection)
46 NetworkUtil.writeNodeObject(streamId, self.vehicle)
47 streamWriteUIntN(streamId, self.fillUnitIndex, 8)
48 streamWriteFloat32(streamId, self.capacity)
49end