Script v1.7.1.0
- AI
- Animals
- Contracts
- Debug
- Economy
- Effects
- Events
- Farms
- GUI
- Handtools
- I3d
- Materials
- Misc
- Objects
- AnimatedMapObject
- AnimatedObject
- AnimatedObjectEvent
- Bale
- Basketball
- Bga
- BgaSellStation
- BunkerSilo
- BuyingStation
- DigitalDisplay
- DogBall
- HelpIcons
- LoadingStation
- NightIllumination
- Nightlight2
- NightlightFlicker
- PhysicsObject
- Rotator
- SellingStation
- SimParticleSystem
- Storage
- StorageSystem
- SunAdmirer
- TourIcons
- UnloadingStation
- VehicleSellingPoint
- WildlifeSpawner
- Placeables
- Player
- Shop
- Sounds
- Specializations
- Triggers
- Utils
- Vehicles
- Weather
Engine v1.7.1.0
- AI
- Animation
- Camera
- Entity
- Fillplanes
- General
- I3D
- Input
- Lighting
- Math
- Network
- Node
- Overlays
- Particle System
- Physics
- Rendering
- Scenegraph
- Shape
- Sound
- Spline
- String
- Terrain Detail
- Text Rendering
- Tire Track
- XML
- general
Foundation Reference
VehicleSellingPoint
DescriptionClass for vehicle selling pointFunctions
- delete
- determineCurrentVehicle
- getIsActivatable
- new
- onActivateObject
- sellAreaTriggerCallback
- shouldRemoveActivatable
- triggerCallback
- update
delete
DescriptionDeleting vehicle selling pointDefinition
delete()Code
48 | function 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 |
63 | end |
determineCurrentVehicle
DescriptionDetermine current vehicleDefinition
determineCurrentVehicle()Code
142 | function 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 |
157 | end |
getIsActivatable
DescriptionGet is activateableDefinition
getIsActivatable()Return Values
boolean | isActivateable | is activateable |
68 | function VehicleSellingPoint:getIsActivatable() |
69 | return self.isEnabled and g_currentMission.controlPlayer and (self:getOwnerFarmId() == 0 or g_currentMission:getFarmId() == self:getOwnerFarmId()) |
70 | end |
new
DescriptionCreating vehicle selling pointDefinition
new(integer id)Arguments
integer | id | node id |
table | instance | Instance of object |
14 | function 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 |
30 | end |
onActivateObject
DescriptionOn activate objectDefinition
onActivateObject()Code
77 | function VehicleSellingPoint:onActivateObject() |
78 | self:determineCurrentVehicle() |
79 | g_gui:showDirectSellDialog({vehicle=self.currentVehicle, owner=self, ownWorkshop=self.ownWorkshop}) |
80 | end |
sellAreaTriggerCallback
DescriptionSell area trigger callbackDefinition
sellAreaTriggerCallback(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 |
128 | function 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 |
138 | end |
shouldRemoveActivatable
DescriptionWhether to remove activatable after activationDefinition
shouldRemoveActivatable()Code
84 | function VehicleSellingPoint:shouldRemoveActivatable() |
85 | return false |
86 | 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 |
101 | function 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 |
119 | end |
update
DescriptionUpdateDefinition
update(float dt)Arguments
float | dt | time since last call in ms |
91 | function VehicleSellingPoint:update(dt) |
92 | end |