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
IKChains
DescriptionSpecialization loading inverse kinematic (IK) chainsFunctions
initSpecialization
DescriptionCalled on specialization initializingDefinition
initSpecialization()Code
21 | function IKChains.initSpecialization() |
22 | local schema = Vehicle.xmlSchema |
23 | schema:setXMLSpecializationType("IKChains") |
24 | IKUtil.registerIKChainXMLPaths(schema, "vehicle.ikChains.ikChain(?)") |
25 | schema:setXMLSpecializationType() |
26 | end |
onLoad
DescriptionDefinitiononLoad()Code
37 | function 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 |
55 | end |
onUpdate
DescriptionDefinitiononUpdate()Code
59 | function IKChains:onUpdate(dt, isActiveForInput, isActiveForInputIgnoreSelection, isSelected) |
60 | IKUtil.updateIKChains(self.spec_ikChains.chains) |
61 | end |
prerequisitesPresent
DescriptionDefinitionprerequisitesPresent()Code
15 | function IKChains.prerequisitesPresent(specializations) |
16 | return true |
17 | end |
registerEventListeners
DescriptionDefinitionregisterEventListeners()Code
30 | function IKChains.registerEventListeners(vehicleType) |
31 | SpecializationUtil.registerEventListener(vehicleType, "onLoad", IKChains) |
32 | SpecializationUtil.registerEventListener(vehicleType, "onUpdate", IKChains) |
33 | end |