LUADOC - Farming Simulator 17

Printable Version

ShovelTarget

Description
Class for shovel targets
Functions

onCreate

Description
Creating shovel target
Definition
onCreate(integer id)
Arguments
integeridnode id
Code
13function 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;
22end;

new

Description
Creating shovel target
Definition
new(table parent, table mt)
Arguments
tableparentparent
tablemtcustom metatable
Return Values
tableinstanceInstance of object
Code
29function 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;
40end;

load

Description
Load shovel target
Definition
load(integer nodeId)
Arguments
integernodeIdid of node
Return Values
booleansuccesssuccess
Code
46function 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;
68end

delete

Description
Deleting shovel target
Definition
delete()
Code
72function ShovelTarget:delete()
73 if self.nodeId ~= 0 then
74 g_currentMission:removeNodeObject(self.nodeId);
75 end
76end;

getAllowShovelFillType

Description
Get allow shovel fill type
Definition
getAllowShovelFillType(integer fillType)
Arguments
integerfillTypefill type
Return Values
booleanisAllowedis allowed
Code
84function 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;
89end;

getShovelNotAllowedText

Description
Get shovel not allowed text
Definition
getShovelNotAllowedText(table shovel)
Arguments
tableshovelshovel
Return Values
stringnotAllowedTextnot allowed text
Code
95function ShovelTarget:getShovelNotAllowedText(shovel)
96 if self.parent ~= nil then
97 return self.parent:getNotAllowedText(shovel, TipTrigger.TOOL_TYPE_SHOVEL)
98 end
99 return nil;
100end;

addShovelFillLevel

Description
Add the fill level. Returns the amount added
Definition
addShovelFillLevel(table shovel, integer fillLevelDelta, integer fillType)
Arguments
tableshovelshovel
integerfillLevelDeltafill level to add
integerfillTypefill type
Return Values
integerfillLevelDeltafill level added
Code
108function 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;
122end;

getAllowPipeFillType

Description
Get allow pipe fill type
Definition
getAllowPipeFillType(integer fillType)
Arguments
integerfillTypefill type
Return Values
booleanallowFillTypeallow fill type
Code
130function 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;
135end;

getPipeNotAllowedText

Description
Get pipe not allowed text
Definition
getPipeNotAllowedText(table vehicle)
Arguments
tablevehiclevehicle
Return Values
stringnotAllowedTextnot allowed text
Code
141function ShovelTarget:getPipeNotAllowedText(vehicle)
142 if self.parent ~= nil then
143 return self.parent:getNotAllowedText(vehicle, TipTrigger.TOOL_TYPE_PIPE)
144 end
145 return nil;
146end;

addPipeFillLevel

Description
Add the fill level. Returns the amount added
Definition
addPipeFillLevel(table vehicle, integer fillLevelDelta, integer fillType)
Arguments
tablevehiclevehicle
integerfillLevelDeltafill level to add
integerfillTypefill type
Return Values
integerfillLevelDeltafill level added
Code
154function 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;
168end;