LUADOC - Farming Simulator 17

Printable Version

LoanTrigger

Description
Class for loan triggers
Functions

onCreate

Description
On create loan trigger
Definition
onCreate(integer id)
Arguments
integeridid of trigger node
Code
15function LoanTrigger:onCreate(id)
16 g_currentMission:addNonUpdateable(LoanTrigger:new(id));
17end;

new

Description
Create loan trigger object
Definition
new(integer name)
Arguments
integernameid of trigger node
Return Values
tableinstanceinstance
Code
23function LoanTrigger:new(name)
24 local self = {};
25 setmetatable(self, LoanTrigger_mt);
26
27 self.triggerId = name;
28 if g_currentMission:getIsClient() then
29 addTrigger(name, "triggerCallback", self);
30 end;
31
32 self.loanSymbol = getChildAt(name, 0);
33
34 self.activateText = g_i18n:getText("action_checkFinances");
35
36 self.isEnabled = true;
37 self.objectActivated = false;
38
39 return self;
40end;

delete

Description
Delete loan trigger
Definition
delete()
Code
44function LoanTrigger:delete()
45 if g_currentMission:getIsClient() then
46 removeTrigger(self.triggerId);
47 g_currentMission:removeActivatableObject(self);
48 end;
49end;

getIsActivatable

Description
Returns true if is activateable
Definition
getIsActivatable()
Return Values
booleanisActivateableis activateable
Code
54function LoanTrigger:getIsActivatable()
55 return self.isEnabled and g_currentMission.controlPlayer;
56end;

onActivateObject

Description
Called on activate object
Definition
onActivateObject()
Code
64function LoanTrigger:onActivateObject()
65 g_gui:showGui("InGameMenu");
66 g_inGameMenu:openFinancesScreen()
67
68 g_currentMission:addActivatableObject(self);
69 self.objectActivated = true;
70end;

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
79function LoanTrigger:triggerCallback(triggerId, otherId, onEnter, onLeave, onStay)
80 if self.isEnabled then
81 if onEnter or onLeave then
82 if g_currentMission.player ~= nil and otherId == g_currentMission.player.rootNode then
83 if onEnter then
84 if not self.objectActivated then
85 g_currentMission:addActivatableObject(self);
86 self.objectActivated = true;
87 end
88 else
89 if self.objectActivated then
90 g_currentMission:removeActivatableObject(self);
91 self.objectActivated = false;
92 end
93 end;
94 end;
95 end;
96 end;
97end;