LUADOC - Farming Simulator 22

Script v1_7_1_0

Engine v1_7_1_0

Foundation Reference

IKChains

Description
Specialization loading inverse kinematic (IK) chains
Functions

initSpecialization

Description
Called on specialization initializing
Definition
initSpecialization()
Code
21function IKChains.initSpecialization()
22 local schema = Vehicle.xmlSchema
23 schema:setXMLSpecializationType("IKChains")
24 IKUtil.registerIKChainXMLPaths(schema, "vehicle.ikChains.ikChain(?)")
25 schema:setXMLSpecializationType()
26end

onLoad

Description
Definition
onLoad()
Code
37function IKChains:onLoad(savegame)
38 local spec = self.spec_ikChains
39
40 spec.chains = {}
41 local i = 0
42 while true do
43 local key = string.format("vehicle.ikChains.ikChain(%d)", i)
44 if not self.xmlFile:hasProperty(key) then
45 break
46 end
47 IKUtil.loadIKChain(self.xmlFile, key, self.components, self.components, spec.chains, self.getParentComponent, self)
48 i = i + 1
49 end
50 IKUtil.updateAlignNodes(spec.chains, self.getParentComponent, self, nil)
51
52 if next(spec.chains) == nil then
53 SpecializationUtil.removeEventListener(self, "onUpdate", IKChains)
54 end
55end

onUpdate

Description
Definition
onUpdate()
Code
59function IKChains:onUpdate(dt, isActiveForInput, isActiveForInputIgnoreSelection, isSelected)
60 IKUtil.updateIKChains(self.spec_ikChains.chains)
61end

prerequisitesPresent

Description
Definition
prerequisitesPresent()
Code
15function IKChains.prerequisitesPresent(specializations)
16 return true
17end

registerEventListeners

Description
Definition
registerEventListeners()
Code
30function IKChains.registerEventListeners(vehicleType)
31 SpecializationUtil.registerEventListener(vehicleType, "onLoad", IKChains)
32 SpecializationUtil.registerEventListener(vehicleType, "onUpdate", IKChains)
33end