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
- 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
ManureBarrel
DescriptionSpecialization for liquid manure barrel, connects function of barrel to attached manure spreaderFunctions
- getAreEffectsVisible
- getIsWorkAreaActive
- initSpecialization
- onLoad
- onPostAttachImplement
- onPostDetachImplement
- prerequisitesPresent
- registerEventListeners
- registerOverwrittenFunctions
getAreEffectsVisible
DescriptionDefinitiongetAreEffectsVisible()Code
84 | function ManureBarrel:getAreEffectsVisible(superFunc) |
85 | local spec = self.spec_manureBarrel |
86 | |
87 | if spec.attachedTool ~= nil then |
88 | return false |
89 | end |
90 | |
91 | return superFunc(self) |
92 | end |
getIsWorkAreaActive
DescriptionDefinitiongetIsWorkAreaActive()Code
96 | function ManureBarrel:getIsWorkAreaActive(superFunc, workArea) |
97 | local spec = self.spec_manureBarrel |
98 | |
99 | if spec.attachedTool ~= nil then |
100 | return false |
101 | end |
102 | |
103 | return superFunc(self, workArea) |
104 | end |
initSpecialization
DescriptionDefinitioninitSpecialization()Code
21 | function ManureBarrel.initSpecialization() |
22 | local schema = Vehicle.xmlSchema |
23 | schema:setXMLSpecializationType("ManureBarrel") |
24 | |
25 | schema:register(XMLValueType.INT, "vehicle.manureBarrel#attacherJointIndex", "Attacher joint index") |
26 | |
27 | schema:setXMLSpecializationType() |
28 | end |
onLoad
DescriptionDefinitiononLoad()Code
47 | function ManureBarrel:onLoad(savegame) |
48 | local spec = self.spec_manureBarrel |
49 | |
50 | XMLUtil.checkDeprecatedXMLElements(self.xmlFile, "vehicle.manureBarrel#toolAttachAnimName", "vehicle.attacherJoints.attacherJoint.objectChange") --FS17 to FS19 |
51 | |
52 | spec.attachToolJointIndex = self.xmlFile:getValue("vehicle.manureBarrel#attacherJointIndex") |
53 | end |
onPostAttachImplement
DescriptionDefinitiononPostAttachImplement()Code
57 | function ManureBarrel:onPostAttachImplement(attachable, inputJointDescIndex, jointDescIndex) |
58 | local spec = self.spec_manureBarrel |
59 | if jointDescIndex == spec.attachToolJointIndex then |
60 | spec.attachedTool = attachable |
61 | end |
62 | end |
onPostDetachImplement
DescriptionDefinitiononPostDetachImplement()Code
66 | function ManureBarrel:onPostDetachImplement(implementIndex) |
67 | local spec = self.spec_manureBarrel |
68 | |
69 | local object |
70 | if self.getObjectFromImplementIndex ~= nil then |
71 | object = self:getObjectFromImplementIndex(implementIndex) |
72 | end |
73 | |
74 | if object ~= nil then |
75 | local attachedImplements = self:getAttachedImplements() |
76 | if attachedImplements[implementIndex].jointDescIndex == spec.attachToolJointIndex then |
77 | spec.attachedTool = nil |
78 | end |
79 | end |
80 | end |
prerequisitesPresent
DescriptionDefinitionprerequisitesPresent()Code
15 | function ManureBarrel.prerequisitesPresent(specializations) |
16 | return SpecializationUtil.hasSpecialization(Sprayer, specializations) and SpecializationUtil.hasSpecialization(AttacherJoints, specializations) |
17 | end |
registerEventListeners
DescriptionDefinitionregisterEventListeners()Code
39 | function ManureBarrel.registerEventListeners(vehicleType) |
40 | SpecializationUtil.registerEventListener(vehicleType, "onLoad", ManureBarrel) |
41 | SpecializationUtil.registerEventListener(vehicleType, "onPostAttachImplement", ManureBarrel) |
42 | SpecializationUtil.registerEventListener(vehicleType, "onPostDetachImplement", ManureBarrel) |
43 | end |
registerOverwrittenFunctions
DescriptionDefinitionregisterOverwrittenFunctions()Code
32 | function ManureBarrel.registerOverwrittenFunctions(vehicleType) |
33 | SpecializationUtil.registerOverwrittenFunction(vehicleType, "getAreEffectsVisible", ManureBarrel.getAreEffectsVisible) |
34 | SpecializationUtil.registerOverwrittenFunction(vehicleType, "getIsWorkAreaActive", ManureBarrel.getIsWorkAreaActive) |
35 | end |