Script v1_7_1_0
- AI
- Animals
- Collections
- Contracts
- Debug
- Economy
- Elements
- EnvironmentalScore
- Errors
- Events
- GUI
- Handtools
- Hud
- I3d
- Input
- Jobs
- Maps
- Materials
- Misc
- AbstractManager
- AdditionalFieldBuyInfo
- BaleManager
- ConnectionHoseManager
- CropSensorLinkageData
- ExtendedWeedControl
- FillTypeManager
- FruitTypeManager
- ManureSensorLinkageData
- ProductionChainManager
- SplitTypeManager
- SprayTypeManager
- TensionBeltManager
- Timer
- ToolTypeManager
- TreePlantManager
- 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
TensionBeltManager
DescriptionThis class handles all tension beltsFunctions
getBeltData
DescriptionDefinitiongetBeltData()Code
108 | function TensionBeltManager:getBeltData(beltName) |
109 | if beltName == nil then |
110 | return self.defaultBeltData |
111 | end |
112 | |
113 | local beltType = self:getType(beltName) |
114 | |
115 | local beltData = self.belts[beltType] |
116 | if beltData == nil then |
117 | return self.defaultBeltData |
118 | end |
119 | |
120 | return beltData |
121 | end |
getType
DescriptionDefinitiongetType()Code
102 | function TensionBeltManager:getType(beltName) |
103 | return "BELT_TYPE_"..string.upper(beltName) |
104 | end |
initDataStructures
DescriptionInitialize data structuresDefinition
initDataStructures()Code
31 | function TensionBeltManager:initDataStructures() |
32 | self.belts = {} |
33 | self.defaultBeltData = nil |
34 | end |
new
DescriptionCreating managerDefinition
new()Return Values
table | instance | instance of object |
16 | function TensionBeltManager.new(customMt) |
17 | if customMt == nil then |
18 | customMt = TensionBeltManager_mt |
19 | end |
20 | |
21 | local self = {} |
22 | setmetatable(self, customMt) |
23 | |
24 | self:initDataStructures() |
25 | |
26 | return self |
27 | end |
onCreateTensionBelt
DescriptionDefinitiononCreateTensionBelt()Code
44 | function TensionBeltManager.onCreateTensionBelt(_, id) |
45 | local self = g_tensionBeltManager |
46 | |
47 | local name = Utils.getNoNil(getUserAttribute(id, "name"), "default") |
48 | local width = Utils.getNoNil(getUserAttribute(id, "width"), 0.15) |
49 | local beltType = self:getType(name) |
50 | |
51 | if self.belts[beltType] ~= nil then |
52 | print("Warning: Tension belt type '"..name.."' already exists!") |
53 | return |
54 | end |
55 | |
56 | local belt = {} |
57 | belt.width = width |
58 | |
59 | for i=0, getNumOfChildren(id)-1 do |
60 | local node = getChildAt(id, i) |
61 | |
62 | if getUserAttribute(node, 'isMaterial') then |
63 | belt.material = {materialId=getMaterial(node, 0), uvScale=Utils.getNoNil(getUserAttribute(node, 'uvScale'), 0.1)} |
64 | |
65 | elseif getUserAttribute(node, 'isDummyMaterial') then |
66 | belt.dummyMaterial = {materialId=getMaterial(node, 0), uvScale=Utils.getNoNil(getUserAttribute(node, 'uvScale'), 0.1)} |
67 | |
68 | elseif getUserAttribute(node, 'isHook') then |
69 | if belt.hook ~= nil then |
70 | local _,_,z = getTranslation(getChildAt(node, 0)) |
71 | belt.hook2 = {node=node, sizeRatio=z} |
72 | else |
73 | local _,_,z = getTranslation(getChildAt(node, 0)) |
74 | belt.hook = {node=node, sizeRatio=z} |
75 | end |
76 | |
77 | elseif getUserAttribute(node, 'isRatchet') then |
78 | local _,_,z = getTranslation(getChildAt(node, 0)) |
79 | belt.ratchet = {node=node, sizeRatio=z} |
80 | end |
81 | end |
82 | |
83 | if belt.material == nil then |
84 | print("Warning: No material defined for tension belt type '"..name.."'!") |
85 | return |
86 | end |
87 | |
88 | if belt.dummyMaterial == nil then |
89 | print("Warning: No material defined for tension belt type '"..name.."'!") |
90 | return |
91 | end |
92 | |
93 | self.belts[beltType] = belt |
94 | |
95 | if self.defaultBeltData == nil then |
96 | self.defaultBeltData = belt |
97 | end |
98 | end |
unloadMapData
DescriptionDefinitionunloadMapData()Code
38 | function TensionBeltManager:unloadMapData() |
39 | self:initDataStructures() |
40 | end |