LUADOC - Farming Simulator 19

VehicleSellingPoint

Description
Class for vehicle selling point
Functions

delete

Description
Deleting vehicle selling point
Definition
delete()
Code
48function VehicleSellingPoint:delete()
49 g_messageCenter:unsubscribeAll(self)
50
51 if self.playerTrigger ~= nil then
52 removeTrigger(self.playerTrigger)
53 self.playerTrigger = nil
54 end
55 if self.sellTriggerNode ~= nil then
56 removeTrigger(self.sellTriggerNode)
57 self.sellTriggerNode = nil
58 end
59
60 g_currentMission:removeActivatableObject(self)
61
62 self.sellIcon = nil
63end

determineCurrentVehicle

Description
Determine current vehicle
Definition
determineCurrentVehicle()
Code
142function VehicleSellingPoint:determineCurrentVehicle()
143 self.currentVehicle = nil
144 for vehicleId, inRange in pairs(self.vehicleInRange) do
145 if inRange ~= nil then
146 self.currentVehicle = g_currentMission.nodeToObject[vehicleId]
147
148 if self.currentVehicle ~= nil then
149 if not SpecializationUtil.hasSpecialization(Rideable, self.currentVehicle.specializations) or self.currentVehicle:getOwnerFarmId() ~= self:getOwnerFarmId() then
150 break
151 end
152 end
153 end
154 -- invalid vehicle (not existing or left), remove from list
155 self.vehicleInRange[vehicleId] = nil
156 end
157end

getIsActivatable

Description
Get is activateable
Definition
getIsActivatable()
Return Values
booleanisActivateableis activateable
Code
68function VehicleSellingPoint:getIsActivatable()
69 return self.isEnabled and g_currentMission.controlPlayer and (self:getOwnerFarmId() == 0 or g_currentMission:getFarmId() == self:getOwnerFarmId())
70end

new

Description
Creating vehicle selling point
Definition
new(integer id)
Arguments
integeridnode id
Return Values
tableinstanceInstance of object
Code
14function VehicleSellingPoint:new(id)
15 local self = {}
16 setmetatable(self, VehicleSellingPoint_mt)
17
18 self.id = id
19
20 self.vehicleInRange = {}
21 self.currentVehicle = nil
22 self.currentVehicleId = 0
23
24 self.activateText = g_i18n:getText("action_configSellSpecificVehicle")
25
26 self.isEnabled = true
27 self.objectActivated = false
28
29 return self
30end

onActivateObject

Description
On activate object
Definition
onActivateObject()
Code
77function VehicleSellingPoint:onActivateObject()
78 self:determineCurrentVehicle()
79 g_gui:showDirectSellDialog({vehicle=self.currentVehicle, owner=self, ownWorkshop=self.ownWorkshop})
80end

sellAreaTriggerCallback

Description
Sell area trigger callback
Definition
sellAreaTriggerCallback(integer triggerId, integer otherId, boolean onEnter, boolean onLeave, boolean onStay)
Arguments
integertriggerIdid of trigger
integerotherIdid of actor
booleanonEnteron enter
booleanonLeaveon leave
booleanonStayon stay
Code
128function VehicleSellingPoint:sellAreaTriggerCallback(triggerId, otherId, onEnter, onLeave, onStay, otherShapeId)
129 if otherShapeId ~= nil and (onEnter or onLeave) then
130 if onEnter then
131 self.vehicleInRange[otherShapeId] = true
132 elseif onLeave then
133 self.vehicleInRange[otherShapeId] = nil
134 end
135
136 self:determineCurrentVehicle()
137 end
138end

shouldRemoveActivatable

Description
Whether to remove activatable after activation
Definition
shouldRemoveActivatable()
Code
84function VehicleSellingPoint:shouldRemoveActivatable()
85 return false
86end

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
101function VehicleSellingPoint:triggerCallback(triggerId, otherId, onEnter, onLeave, onStay)
102 if self.isEnabled and (not g_isPresentationVersion or g_isPresentationVersionShopEnabled) and g_currentMission.missionInfo:isa(FSCareerMissionInfo) then
103 if onEnter or onLeave then
104 if g_currentMission.player ~= nil and otherId == g_currentMission.player.rootNode then
105 if onEnter then
106 if not self.objectActivated then
107 g_currentMission:addActivatableObject(self)
108 self.objectActivated = true
109 end
110 else
111 if self.objectActivated then
112 g_currentMission:removeActivatableObject(self)
113 self.objectActivated = false
114 end
115 end
116 end
117 end
118 end
119end

update

Description
Update
Definition
update(float dt)
Arguments
floatdttime since last call in ms
Code
91function VehicleSellingPoint:update(dt)
92end