LUADOC - Farming Simulator 19

WeatherTypeManager

Description
This class handles all weather types
Parent
AbstractManager
Functions

addWeatherType

Description
Adds a new weather type
Definition
addWeatherType(string name)
Arguments
stringnameweather type name
Return Values
tablebrandColorbrandColor object
Code
45function WeatherTypeManager:addWeatherType(name)
46 if not ClassUtil.getIsValidIndexName(name) then
47 print("Warning: '"..tostring(name).."' is not a valid name for a weather type. Ignoring it!")
48 return nil
49 end
50
51 name = name:upper()
52
53 local weatherType = {}
54 weatherType.index = #self.weatherTypes + 1
55 weatherType.name = name
56
57 table.insert(self.weatherTypes, weatherType)
58 self.nameToIndex[name] = weatherType.index
59 self.indexToName[weatherType.index] = name
60
61 return weatherType
62end

getWeatherTypeByIndex

Description
Definition
getWeatherTypeByIndex()
Code
98function WeatherTypeManager:getWeatherTypeByIndex(index)
99 if index ~= nil then
100 return self.weatherTypes[index]
101 end
102 return nil
103end

getWeatherTypeByName

Description
Definition
getWeatherTypeByName()
Code
84function WeatherTypeManager:getWeatherTypeByName(name)
85 if name ~= nil then
86 if ClassUtil.getIsValidIndexName(name) then
87 local index = self.nameToIndex[name]
88 if index ~= nil then
89 return self.weatherTypes[index]
90 end
91 end
92 end
93 return nil
94end

getWeatherTypeIndexByName

Description
Definition
getWeatherTypeIndexByName()
Code
72function WeatherTypeManager:getWeatherTypeIndexByName(name)
73 if name ~= nil then
74 if ClassUtil.getIsValidIndexName(name) then
75 name = name:upper()
76 return self.nameToIndex[name]
77 end
78 end
79 return nil
80end

getWeatherTypeNameByIndex

Description
Definition
getWeatherTypeNameByIndex()
Code
107function WeatherTypeManager:getWeatherTypeNameByIndex(index)
108 if index ~= nil then
109 return self.indexToName[index]
110 end
111 return nil
112end

getWeatherTypes

Description
Definition
getWeatherTypes()
Code
66function WeatherTypeManager:getWeatherTypes()
67 return self.weatherTypes
68end

initDataStructures

Description
Initialize data structures
Definition
initDataStructures()
Code
24function WeatherTypeManager:initDataStructures()
25 self.weatherTypes = {}
26 self.nameToIndex = {}
27 self.indexToName = {}
28 self:loadDefaultTypes()
29
30 WeatherType = self.nameToIndex
31end

loadDefaultTypes

Description
Definition
loadDefaultTypes()
Code
35function WeatherTypeManager:loadDefaultTypes()
36 self:addWeatherType("SUN")
37 self:addWeatherType("CLOUDY")
38 self:addWeatherType("RAIN")
39end

new

Description
Creating manager
Definition
new()
Return Values
tableinstanceinstance of object
Code
18function WeatherTypeManager:new(customMt)
19 return AbstractManager:new(customMt or WeatherTypeManager_mt)
20end