LUADOC - Farming Simulator 19

Script v1.7.1.0

Engine v1.7.1.0

Foundation Reference

PlayerSwitchedFarmEvent

Parent
Event
Functions

emptyNew

Description
Create an empty instance
Definition
emptyNew()
Return Values
tableinstanceInstance of object
Code
15function PlayerSwitchedFarmEvent:emptyNew()
16 local self = Event:new(PlayerSwitchedFarmEvent_mt)
17 return self
18end

readStream

Description
Reads network stream
Definition
readStream(integer streamId, table connection)
Arguments
integerstreamIdnetwork stream identification
tableconnectionconnection information
Code
44function PlayerSwitchedFarmEvent:readStream(streamId, connection)
45 self.farmId = streamReadUIntN(streamId, FarmManager.FARM_ID_SEND_NUM_BITS)
46 self.oldFarmId = streamReadUIntN(streamId, FarmManager.FARM_ID_SEND_NUM_BITS)
47 self.userId = NetworkUtil.readNodeObjectId(streamId)
48
49 self:run(connection)
50end

run

Description
Run event
Definition
run(table connection)
Arguments
tableconnectionconnection information
Code
55function PlayerSwitchedFarmEvent:run(connection)
56 if connection:getIsServer() then -- on client
57 if self.oldFarmId ~= FarmManager.INVALID_FARM_ID then -- joined server
58 g_farmManager:getFarmById(self.oldFarmId):removeUser(self.userId)
59 end
60
61 if self.farmId ~= FarmManager.INVALID_FARM_ID then -- left server
62 g_farmManager:getFarmById(self.farmId):addUser(self.userId)
63 end
64
65 g_messageCenter:publish(MessageType.PLAYER_FARM_CHANGED, {self.player})
66 else -- on server, notify all clients (incl. self) of player farm switch
67 g_server:broadcastEvent(PlayerSwitchedFarmEvent:new(self.oldFarmId, self.farmId, self.userId), true)
68 end
69end

writeStream

Description
Writes network stream
Definition
writeStream(integer streamId, table connection)
Arguments
integerstreamIdnetwork stream identification
tableconnectionconnection information
Code
34function PlayerSwitchedFarmEvent:writeStream(streamId, connection)
35 streamWriteUIntN(streamId, self.farmId, FarmManager.FARM_ID_SEND_NUM_BITS)
36 streamWriteUIntN(streamId, self.oldFarmId, FarmManager.FARM_ID_SEND_NUM_BITS)
37 NetworkUtil.writeNodeObjectId(streamId, self.userId)
38end