Script v1.4.4.0
Engine v7.0.0.2
- General
- Entity
- Node
- Scenegraph
- Lighting
- Camera
- Shape
- Particle System
- Physics
- Spline
- Animation
- Overlays
- Sound
- Input
- XML
- Network
- Callbacks
- Text Rendering
- Terrain Detail
- Tire Track
- Editor
- Rendering
- String
- Math
- I3D
- Fillplanes
Foundation Reference
ShovelTarget
DescriptionClass for shovel targetsFunctions
- onCreate
- new
- load
- delete
- getAllowShovelFillType
- getShovelNotAllowedText
- addShovelFillLevel
- getAllowPipeFillType
- getPipeNotAllowedText
- addPipeFillLevel
onCreate
DescriptionCreating shovel targetDefinition
onCreate(integer id)Arguments
integer | id | node id |
13 | function ShovelTarget:onCreate(id) |
14 | if g_currentMission:getIsServer() then |
15 | local object = ShovelTarget:new(); |
16 | if object:load(id) then |
17 | g_currentMission:addNonUpdateable(object); |
18 | else |
19 | object:delete(); |
20 | end |
21 | end; |
22 | end; |
new
DescriptionCreating shovel targetDefinition
new(table parent, table mt)Arguments
table | parent | parent |
table | mt | custom metatable |
table | instance | Instance of object |
29 | function ShovelTarget:new(parent, mt) |
30 | local self = {}; |
31 | if mt == nil then |
32 | mt = ShovelTarget_mt; |
33 | end |
34 | setmetatable(self, mt); |
35 | |
36 | self.parent = parent |
37 | self.nodeId = 0; |
38 | |
39 | return self; |
40 | end; |
load
DescriptionLoad shovel targetDefinition
load(integer nodeId)Arguments
integer | nodeId | id of node |
boolean | success | success |
46 | function ShovelTarget:load(nodeId) |
47 | self.nodeId = nodeId; |
48 | if self.parent == nil then |
49 | self.fillTypes = {} |
50 | local fillTypes = getUserAttribute(nodeId, "fillTypes"); |
51 | if fillTypes ~= nil then |
52 | local types = Utils.splitString(" ", fillTypes); |
53 | |
54 | for _,v in pairs(types) do |
55 | local desc = FillUtil.fillTypeNameToDesc[v]; |
56 | if desc ~= nil then |
57 | self.fillTypes[desc.index] = true; |
58 | end; |
59 | end; |
60 | end; |
61 | if next(self.fillTypes) == nil then |
62 | print("Error: shovel target "..getName(nodeId).." has invalid fill types"); |
63 | end; |
64 | end |
65 | g_currentMission:addNodeObject(self.nodeId, self); |
66 | |
67 | return true; |
68 | end |
delete
DescriptionDeleting shovel targetDefinition
delete()Code
72 | function ShovelTarget:delete() |
73 | if self.nodeId ~= 0 then |
74 | g_currentMission:removeNodeObject(self.nodeId); |
75 | end |
76 | end; |
getAllowShovelFillType
DescriptionGet allow shovel fill typeDefinition
getAllowShovelFillType(integer fillType)Arguments
integer | fillType | fill type |
boolean | isAllowed | is allowed |
84 | function ShovelTarget:getAllowShovelFillType(fillType) |
85 | if self.parent ~= nil then |
86 | return self.parent:getAllowFillTypeFromTool(fillType, TipTrigger.TOOL_TYPE_SHOVEL) |
87 | end |
88 | return self.fillTypes[fillType] ~= nil; |
89 | end; |
getShovelNotAllowedText
DescriptionGet shovel not allowed textDefinition
getShovelNotAllowedText(table shovel)Arguments
table | shovel | shovel |
string | notAllowedText | not allowed text |
95 | function ShovelTarget:getShovelNotAllowedText(shovel) |
96 | if self.parent ~= nil then |
97 | return self.parent:getNotAllowedText(shovel, TipTrigger.TOOL_TYPE_SHOVEL) |
98 | end |
99 | return nil; |
100 | end; |
addShovelFillLevel
DescriptionAdd the fill level. Returns the amount addedDefinition
addShovelFillLevel(table shovel, integer fillLevelDelta, integer fillType)Arguments
table | shovel | shovel |
integer | fillLevelDelta | fill level to add |
integer | fillType | fill type |
integer | fillLevelDelta | fill level added |
108 | function ShovelTarget:addShovelFillLevel(shovel, fillLevelDelta, fillType) |
109 | if fillLevelDelta > 0 then |
110 | if self.parent ~= nil then |
111 | return self.parent:addFillLevelFromTool(shovel, fillLevelDelta, fillType, TipTrigger.TOOL_TYPE_SHOVEL) |
112 | end |
113 | if self.fillTypes[fillType] ~= nil then |
114 | local price = g_currentMission.economyManager:getPricePerLiter(fillType); |
115 | if price > 0 then |
116 | g_currentMission:addSharedMoney(price*fillLevelDelta, "other"); |
117 | end |
118 | return fillLevelDelta; |
119 | end |
120 | end; |
121 | return 0; |
122 | end; |
getAllowPipeFillType
DescriptionGet allow pipe fill typeDefinition
getAllowPipeFillType(integer fillType)Arguments
integer | fillType | fill type |
boolean | allowFillType | allow fill type |
130 | function ShovelTarget:getAllowPipeFillType(fillType) |
131 | if self.parent ~= nil then |
132 | return self.parent:getAllowFillTypeFromTool(fillType, TipTrigger.TOOL_TYPE_PIPE) |
133 | end |
134 | return self.fillTypes[fillType] ~= nil; |
135 | end; |
getPipeNotAllowedText
DescriptionGet pipe not allowed textDefinition
getPipeNotAllowedText(table vehicle)Arguments
table | vehicle | vehicle |
string | notAllowedText | not allowed text |
141 | function ShovelTarget:getPipeNotAllowedText(vehicle) |
142 | if self.parent ~= nil then |
143 | return self.parent:getNotAllowedText(vehicle, TipTrigger.TOOL_TYPE_PIPE) |
144 | end |
145 | return nil; |
146 | end; |
addPipeFillLevel
DescriptionAdd the fill level. Returns the amount addedDefinition
addPipeFillLevel(table vehicle, integer fillLevelDelta, integer fillType)Arguments
table | vehicle | vehicle |
integer | fillLevelDelta | fill level to add |
integer | fillType | fill type |
integer | fillLevelDelta | fill level added |
154 | function ShovelTarget:addPipeFillLevel(vehicle, fillLevelDelta, fillType) |
155 | if fillLevelDelta > 0 then |
156 | if self.parent ~= nil then |
157 | return self.parent:addFillLevelFromTool(vehicle, fillLevelDelta, fillType, TipTrigger.TOOL_TYPE_PIPE) |
158 | end |
159 | if self.fillTypes[fillType] ~= nil then |
160 | local price = g_currentMission.economyManager:getPricePerLiter(fillType); |
161 | if price > 0 then |
162 | g_currentMission:addSharedMoney(price*fillLevelDelta, "other"); |
163 | end |
164 | return fillLevelDelta; |
165 | end |
166 | end; |
167 | return 0; |
168 | end; |