LUADOC - Farming Simulator 19

LoanTrigger

Description
Class for loan triggers
Functions

delete

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

getIsActivatable

Description
Returns true if is activateable
Definition
getIsActivatable()
Return Values
booleanisActivateableis activateable
Code
59function LoanTrigger:getIsActivatable()
60 return self.isEnabled and g_currentMission.controlPlayer and g_currentMission:getFarmId() ~= FarmManager.SPECTATOR_FARM_ID
61end

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.activateText = g_i18n:getText("action_checkFinances")
33
34 self.isEnabled = true
35 self.objectActivated = false
36
37 g_messageCenter:subscribe(MessageType.PLAYER_FARM_CHANGED, self.playerFarmChanged, self)
38
39 self:updateIconVisibility()
40
41 return self
42end

onActivateObject

Description
Called on activate object
Definition
onActivateObject()
Code
69function LoanTrigger:onActivateObject()
70 g_gui:showGui("InGameMenu")
71 g_messageCenter:publish(MessageType.GUI_INGAME_OPEN_FINANCES_SCREEN)
72
73 g_currentMission:addActivatableObject(self)
74 self.objectActivated = true
75end

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

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
84function LoanTrigger:triggerCallback(triggerId, otherId, onEnter, onLeave, onStay)
85 if self.isEnabled and (not g_isPresentationVersion or g_isPresentationVersionShopEnabled) and g_currentMission.missionInfo:isa(FSCareerMissionInfo) then
86 if onEnter or onLeave then
87 if g_currentMission.player ~= nil and otherId == g_currentMission.player.rootNode then
88 if onEnter then
89 if not self.objectActivated then
90 g_currentMission:addActivatableObject(self)
91 self.objectActivated = true
92 end
93 else
94 if self.objectActivated then
95 g_currentMission:removeActivatableObject(self)
96 self.objectActivated = false
97 end
98 end
99 end
100 end
101 end
102end