LUADOC - Farming Simulator 22

LoanTrigger

Description
Class for loan triggers
Functions

delete

Description
Delete loan trigger
Definition
delete()
Code
45function LoanTrigger:delete()
46 g_messageCenter:unsubscribeAll(self)
47
48 if self.triggerId ~= nil then
49 removeTrigger(self.triggerId)
50 end
51 self.loanSymbol = nil
52 g_currentMission.activatableObjectsSystem:removeActivatable(self.activatable)
53end

new

Description
Create loan trigger object
Definition
new(Integer name)
Arguments
Integernameid of trigger node
Return Values
tableinstanceinstance
Code
21function LoanTrigger.new(name)
22 local self = {}
23 setmetatable(self, LoanTrigger_mt)
24
25 if g_currentMission:getIsClient() then
26 self.triggerId = name
27 addTrigger(name, "triggerCallback", self)
28 end
29
30 self.loanSymbol = getChildAt(name, 0)
31
32 self.activatable = LoanTriggerActivatable.new(self)
33
34 self.isEnabled = true
35
36 g_messageCenter:subscribe(MessageType.PLAYER_FARM_CHANGED, self.playerFarmChanged, self)
37
38 self:updateIconVisibility()
39
40 return self
41end

onCreate

Description
On create loan trigger
Definition
onCreate(Integer id)
Arguments
Integeridid of trigger node
Code
13function LoanTrigger:onCreate(id)
14 g_currentMission:addNonUpdateable(LoanTrigger.new(id))
15end

openFinanceMenu

Description
Called on activate object
Definition
openFinanceMenu()
Code
57function LoanTrigger:openFinanceMenu()
58 g_gui:showGui("InGameMenu")
59 g_messageCenter:publish(MessageType.GUI_INGAME_OPEN_FINANCES_SCREEN)
60end

playerFarmChanged

Description
Definition
playerFarmChanged()
Code
97function LoanTrigger:playerFarmChanged(player)
98 if player == g_currentMission.player then
99 self:updateIconVisibility()
100 end
101end

triggerCallback

Description
Trigger callback
Definition
triggerCallback(integer triggerId, integer otherId, boolean onEnter, boolean onLeave, boolean onStay)
Arguments
integertriggerIdid of trigger
integerotherIdid of actor
booleanonEnteron enter
booleanonLeaveon leave
booleanonStayon stay
Code
69function LoanTrigger:triggerCallback(triggerId, otherId, onEnter, onLeave, onStay)
70 if self.isEnabled and g_currentMission.missionInfo:isa(FSCareerMissionInfo) then
71 if onEnter or onLeave then
72 if g_currentMission.player ~= nil and otherId == g_currentMission.player.rootNode then
73 if onEnter then
74 g_currentMission.activatableObjectsSystem:addActivatable(self.activatable)
75 else
76 g_currentMission.activatableObjectsSystem:removeActivatable(self.activatable)
77 end
78 end
79 end
80 end
81end

updateIconVisibility

Description
Turn the icon on or off depending on the current game and the players farm
Definition
updateIconVisibility()
Code
85function LoanTrigger:updateIconVisibility()
86 if self.loanSymbol ~= nil then
87 local isAvailable = self.isEnabled and g_currentMission.missionInfo:isa(FSCareerMissionInfo)
88 local farmId = g_currentMission:getFarmId()
89 local visibleForFarm = farmId ~= FarmManager.SPECTATOR_FARM_ID
90
91 setVisibility(self.loanSymbol, isAvailable and visibleForFarm)
92 end
93end