LUADOC - Farming Simulator 17

Printable Version

VehicleBundleAttachEvent

Description
Event for bundle attaching
Functions

emptyNew

Description
Create instance of Event class
Definition
emptyNew()
Return Values
tableselfinstance of class event
Code
14function VehicleBundleAttachEvent:emptyNew()
15 local self = Event:new(VehicleBundleAttachEvent_mt);
16 return self;
17end;

new

Description
Create new instance of event
Definition
new(table bundles)
Arguments
tablebundlesbundles
Return Values
tableinstanceinstance of event
Code
23function VehicleBundleAttachEvent:new(bundles)
24 local self = VehicleBundleAttachEvent:emptyNew()
25 self.bundles = bundles;
26 return self;
27end;

readStream

Description
Called on client side on join
Definition
readStream(integer streamId, integer connection)
Arguments
integerstreamIdstreamId
integerconnectionconnection
Code
33function VehicleBundleAttachEvent:readStream(streamId, connection)
34 local numBundles = streamReadUInt8(streamId)
35 for i=1, numBundles do
36 local v1 = readNetworkNodeObjectId(streamId)
37 local v2 = readNetworkNodeObjectId(streamId)
38 local inputJointIndex = streamReadUIntN(streamId, 7);
39 local jointIndex = streamReadUIntN(streamId, 7);
40 table.insert(g_currentMission.vehiclesToAttach, {v1id=v1, v2id=v2, inputJointIndex=inputJointIndex, jointIndex=jointIndex})
41 end
42end;

writeStream

Description
Called on server side on join
Definition
writeStream(integer streamId, integer connection)
Arguments
integerstreamIdstreamId
integerconnectionconnection
Code
48function VehicleBundleAttachEvent:writeStream(streamId, connection)
49 streamWriteUInt8(streamId, #self.bundles)
50 for i=1, #self.bundles do
51 local bundle = self.bundles[i]
52 writeNetworkNodeObjectId(streamId, networkGetObjectId(bundle.v1));
53 writeNetworkNodeObjectId(streamId, networkGetObjectId(bundle.v2));
54 streamWriteUIntN(streamId, bundle.input, 7);
55 streamWriteUIntN(streamId, bundle.attacher, 7);
56 end
57end;

run

Description
Run action on receiving side
Definition
run(integer connection)
Arguments
integerconnectionconnection
Code
62function VehicleBundleAttachEvent:run(connection)
63 self.vehicle:attachImplement(self.implement, self.inputJointIndex, self.jointIndex, true, nil, self.startLowered);
64 if not connection:getIsServer() then
65 g_server:broadcastEvent(self, nil, connection, self.object);
66 end;
67end;