Script v1_7_1_0
- AI
- Animals
- Collections
- Contracts
- Debug
- Economy
- Elements
- EnvironmentalScore
- Errors
- Events
- GUI
- Handtools
- Hud
- I3d
- Input
- Jobs
- Maps
- Materials
- Misc
- Objects
- Parameters
- Placeables
- Placement
- Player
- Shop
- Sounds
- Specialization
- Specializations
- StateMachine
- Statistics
- Tasks
- Triggers
- AnimalLoadingTrigger
- BaleUnloadTrigger
- BasketTrigger
- FillPlane
- FillTrigger
- InsideBuildingTrigger
- LoadTrigger
- LoanTrigger
- RainDropFactorTrigger
- ShopTrigger
- TransportMissionTrigger
- UnloadTrigger
- WoodUnloadTrigger
- Utils
- Vehicles
Engine v1_7_1_0
- AI
- Animation
- Camera
- Entity
- Fillplanes
- general
- General
- I3D
- Input
- Lighting
- Math
- Network
- Node
- NoteNode
- Overlays
- Particle System
- Physics
- Rendering
- Scenegraph
- Shape
- Sound
- Spline
- String
- Terrain Detail
- Text Rendering
- Tire Track
- VoiceChat
- XML
Foundation Reference
LoanTrigger
DescriptionClass for loan triggersFunctions
delete
DescriptionDelete loan triggerDefinition
delete()Code
45 | function 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) |
53 | end |
new
DescriptionCreate loan trigger objectDefinition
new(Integer name)Arguments
Integer | name | id of trigger node |
table | instance | instance |
21 | function 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 |
41 | end |
onCreate
DescriptionOn create loan triggerDefinition
onCreate(Integer id)Arguments
Integer | id | id of trigger node |
13 | function LoanTrigger:onCreate(id) |
14 | g_currentMission:addNonUpdateable(LoanTrigger.new(id)) |
15 | end |
openFinanceMenu
DescriptionCalled on activate objectDefinition
openFinanceMenu()Code
57 | function LoanTrigger:openFinanceMenu() |
58 | g_gui:showGui("InGameMenu") |
59 | g_messageCenter:publish(MessageType.GUI_INGAME_OPEN_FINANCES_SCREEN) |
60 | end |
playerFarmChanged
DescriptionDefinitionplayerFarmChanged()Code
97 | function LoanTrigger:playerFarmChanged(player) |
98 | if player == g_currentMission.player then |
99 | self:updateIconVisibility() |
100 | end |
101 | end |
triggerCallback
DescriptionTrigger callbackDefinition
triggerCallback(integer triggerId, integer otherId, boolean onEnter, boolean onLeave, boolean onStay)Arguments
integer | triggerId | id of trigger |
integer | otherId | id of actor |
boolean | onEnter | on enter |
boolean | onLeave | on leave |
boolean | onStay | on stay |
69 | function 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 |
81 | end |
updateIconVisibility
DescriptionTurn the icon on or off depending on the current game and the players farmDefinition
updateIconVisibility()Code
85 | function 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 |
93 | end |