LUADOC - Farming Simulator 19

SprayTypeManager

Description
This class handles all sprayTypes
Parent
AbstractManager
Functions

getFillTypeByName

Description
Gets a sprayType by index name
Definition
getFillTypeByName(string name)
Arguments
stringnamethe sprayType index name
Return Values
tablesprayTypethe sprayType object
Code
185function SprayTypeManager:getFillTypeByName(name)
186 if name ~= nil then
187 name = name:upper()
188 return self.nameToSprayType[name]
189 end
190 return nil
191end

getFillTypeIndexByName

Description
Gets a sprayType index by name
Definition
getFillTypeIndexByName(string name)
Arguments
stringnamethe sprayType index name
Return Values
integerfillTypeIndexthe sprayType index
Code
173function SprayTypeManager:getFillTypeIndexByName(name)
174 if name ~= nil then
175 name = name:upper()
176 return self.nameToIndex[name]
177 end
178 return nil
179end

getFillTypeNameByIndex

Description
Gets a fillTypeName by index
Definition
getFillTypeNameByIndex(integer index)
Arguments
integerindexthe sprayType index
Return Values
stringfillTypeNamethe sprayType name
Code
162function SprayTypeManager:getFillTypeNameByIndex(index)
163 if index ~= nil then
164 return self.indexToName[index]
165 end
166 return nil
167end

getSprayTypeByIndex

Description
Gets a sprayType by index
Definition
getSprayTypeByIndex(integer index)
Arguments
integerindexthe sprayType index
Return Values
tablesprayTypethe sprayType object
Code
139function SprayTypeManager:getSprayTypeByIndex(index)
140 if index ~= nil then
141 return self.sprayTypes[index]
142 end
143 return nil
144end

getSprayTypeByName

Description
Gets a sprayType by name
Definition
getSprayTypeByName(string name)
Arguments
stringnamethe sprayType name
Return Values
tablesprayTypethe sprayType object
Code
150function SprayTypeManager:getSprayTypeByName(name)
151 if name ~= nil then
152 name = name:upper()
153 return self.nameToSprayType[name]
154 end
155 return nil
156end

getSprayTypeIndexByFillTypeIndex

Description
Gets a sprayTypeIndex by fillType index
Definition
getSprayTypeIndexByFillTypeIndex(integer index)
Arguments
integerindexthe fillType index
Return Values
integersprayTypeIndexthe sprayType index
Code
204function SprayTypeManager:getSprayTypeIndexByFillTypeIndex(index)
205 if index ~= nil then
206 local sprayType = self.fillTypeIndexToSprayType[index]
207 if sprayType ~= nil then
208 return sprayType.index
209 end
210 end
211 return nil
212end

getSprayTypes

Description
Gets a list of sprayTypes
Definition
getSprayTypes()
Return Values
tablesprayTypeslist of sprayTypes
Code
217function SprayTypeManager:getSprayTypes()
218 return self.sprayTypes
219end

initDataStructures

Description
Initialize data structures
Definition
initDataStructures()
Code
25function SprayTypeManager:initDataStructures()
26 self.numSprayTypes = 0
27 self.sprayTypes = {}
28 self.nameToSprayType = {}
29 self.nameToIndex = {}
30 self.indexToName = {}
31 self.fillTypeIndexToSprayType = {}
32
33 SprayType = self.nameToIndex
34end

loadMapData

Description
Load data on map load
Definition
loadMapData()
Return Values
booleantrueif loading was successful else false
Code
45function SprayTypeManager:loadMapData(xmlFile, missionInfo, baseDirectory)
46 SprayTypeManager:superClass().loadMapData(self)
47 self:loadDefaultTypes()
48 return XMLUtil.loadDataFromMapXML(xmlFile, "sprayTypes", baseDirectory, self, self.loadSprayTypes, missionInfo)
49end

loadSprayTypes

Description
Load data on map load
Definition
loadSprayTypes()
Return Values
booleantrueif loading was successful else false
Code
54function SprayTypeManager:loadSprayTypes(xmlFile, missionInfo, isBaseType)
55 local i = 0
56 while true do
57 local key = string.format("map.sprayTypes.sprayType(%d)", i)
58 if not hasXMLProperty(xmlFile, key) then
59 break
60 end
61
62 local name = getXMLString(xmlFile, key.."#name")
63 local litersPerSecond = getXMLFloat(xmlFile, key.."#litersPerSecond")
64 local typeName = getXMLString(xmlFile, key.."#type")
65 local groundType = getXMLInt(xmlFile, key.."#groundType")
66
67 self:addSprayType(name, litersPerSecond, typeName, groundType, isBaseType)
68
69 i = i + 1
70 end
71
72 return true
73end

new

Description
Creating manager
Definition
new()
Return Values
tableinstanceinstance of object
Code
18function SprayTypeManager:new(customMt)
19 local self = AbstractManager:new(customMt or SprayTypeManager_mt)
20 return self
21end