LUADOC - Farming Simulator 19

Script v1.7.1.0

Engine v1.7.1.0

Foundation Reference

Honk

Description
Specialization adding honk/horn functionality to a vehicle
Functions

actionEventHonk

Description
Definition
actionEventHonk()
Code
121function Honk.actionEventHonk(self, actionName, inputValue, callbackState, isAnalog)
122 local spec = self.spec_honk
123 spec.inputPressed = true
124end

onDelete

Description
Called on deleting
Definition
onDelete()
Code
51function Honk:onDelete()
52 if self.isClient then
53 local spec = self.spec_honk
54 g_soundManager:deleteSample(spec.sample)
55 end
56end

onLeaveVehicle

Description
Called on leaving the vehicle
Definition
onLeaveVehicle()
Code
78function Honk:onLeaveVehicle()
79 self:playHonk(false, true)
80end

onLoad

Description
Definition
onLoad()
Code
39function Honk:onLoad(savegame)
40 local spec = self.spec_honk
41
42 spec.inputPressed = false
43 spec.isPlaying = false
44 if self.isClient then
45 spec.sample = g_soundManager:loadSampleFromXML(self.xmlFile, "vehicle.honk", "sound", self.baseDirectory, self.components, 0, AudioGroup.VEHICLE, self.i3dMappings, self)
46 end
47end

onRegisterActionEvents

Description
Definition
onRegisterActionEvents()
Code
105function Honk:onRegisterActionEvents(isActiveForInput, isActiveForInputIgnoreSelection)
106 if self.isClient then
107 local spec = self.spec_honk
108 self:clearActionEventsTable(spec.actionEvents)
109
110 if isActiveForInputIgnoreSelection and spec.sample ~= nil then
111 local _, actionEventId = self:addActionEvent(spec.actionEvents, InputAction.HONK, self, Honk.actionEventHonk, false, true, true, true, nil)
112 g_inputBinding:setActionEventTextPriority(actionEventId, GS_PRIO_VERY_LOW)
113 g_inputBinding:setActionEventActive(actionEventId, true)
114 g_inputBinding:setActionEventText(actionEventId, g_i18n:getText("action_honk"))
115 end
116 end
117end

onUpdate

Description
Definition
onUpdate()
Code
60function Honk:onUpdate(dt, isActiveForInput, isActiveForInputIgnoreSelection, isSelected)
61 if self.isClient and isActiveForInputIgnoreSelection then
62 local spec = self.spec_honk
63 if spec.inputPressed then
64 if not g_soundManager:getIsSamplePlaying(spec.sample) then
65 self:playHonk(true)
66 end
67 else
68 if spec.isPlaying then
69 self:playHonk(false)
70 end
71 end
72 spec.inputPressed = false
73 end
74end

playHonk

Description
Definition
playHonk()
Code
84function Honk:playHonk(isPlaying, noEventSend)
85 HonkEvent.sendEvent(self, isPlaying, noEventSend)
86 local spec = self.spec_honk
87
88 spec.isPlaying = isPlaying
89 if spec.sample ~= nil then
90
91 if isPlaying then
92 if self:getIsActive() then
93 if self.isClient then
94 g_soundManager:playSample(spec.sample)
95 end
96 end
97 else
98 g_soundManager:stopSample(spec.sample)
99 end
100 end
101end

prerequisitesPresent

Description
Definition
prerequisitesPresent()
Code
17function Honk.prerequisitesPresent(specializations)
18 return SpecializationUtil.hasSpecialization(Drivable, specializations)
19end

registerEventListeners

Description
Definition
registerEventListeners()
Code
29function Honk.registerEventListeners(vehicleType)
30 SpecializationUtil.registerEventListener(vehicleType, "onLoad", Honk)
31 SpecializationUtil.registerEventListener(vehicleType, "onDelete", Honk)
32 SpecializationUtil.registerEventListener(vehicleType, "onUpdate", Honk)
33 SpecializationUtil.registerEventListener(vehicleType, "onLeaveVehicle", Honk)
34 SpecializationUtil.registerEventListener(vehicleType, "onRegisterActionEvents", Honk)
35end

registerFunctions

Description
Definition
registerFunctions()
Code
23function Honk.registerFunctions(vehicleType)
24 SpecializationUtil.registerFunction(vehicleType, "playHonk", Honk.playHonk)
25end