LUADOC - Farming Simulator 22

EnvironmentalScoreValue

Functions

getFarmlandData

Description
Definition
getFarmlandData()
Code
33function EnvironmentalScoreValue:getFarmlandData(farmlandId)
34 if farmlandId ~= nil and self.farmlandDatas[farmlandId] == nil then
35 self.farmlandDatas[farmlandId] = self:initFarmlandData()
36 self.farmlandDatas[farmlandId].farmlandId = farmlandId
37 end
38
39 return self.farmlandDatas[farmlandId]
40end

getScore

Description
Definition
getScore()
Code
136function EnvironmentalScoreValue:getScore()
137 return 0.5
138end

initFarmlandData

Description
Definition
initFarmlandData()
Code
27function EnvironmentalScoreValue:initFarmlandData()
28 return {}
29end

loadFarmlandData

Description
Definition
loadFarmlandData()
Code
76function EnvironmentalScoreValue:loadFarmlandData(data, xmlFile, key)
77end

loadFromItemsXML

Description
Definition
loadFromItemsXML()
Code
52function EnvironmentalScoreValue:loadFromItemsXML(xmlFile, key)
53 xmlFile:iterate(string.format("%s.%s.farmland", key, self.xmlKey), function(index, dataKey)
54 local farmlandId = xmlFile:getInt(dataKey .. "#farmlandId")
55 if farmlandId ~= nil then
56 local data = self:getFarmlandData(farmlandId)
57 self:loadFarmlandData(data, xmlFile, dataKey)
58 end
59 end)
60end

loadFromXML

Description
Definition
loadFromXML()
Code
44function EnvironmentalScoreValue:loadFromXML(xmlFile, key, baseDirectory, configFileName, mapFilename)
45 self.farmlandDatas = {}
46
47 return true
48end

new

Description
Definition
new()
Code
16function EnvironmentalScoreValue.new(pfModule, customMt)
17 local self = setmetatable({}, customMt or EnvironmentalScoreValue_mt)
18
19 self.pfModule = pfModule
20 self.xmlKey = "default"
21
22 return self
23end

overwriteGameFunctions

Description
Definition
overwriteGameFunctions()
Code
142function EnvironmentalScoreValue:overwriteGameFunctions(pfModule)
143 pfModule:overwriteGameFunction(FertilizingSowingMachine, "processSowingMachineArea", function(superFunc, vehicle, ...)
144 local realArea, area = superFunc(vehicle, ...)
145
146 if realArea > 0 and vehicle.getPFStatisticInfo ~= nil then
147 local _, _, farmlandId = vehicle:getPFStatisticInfo()
148 if farmlandId ~= nil then
149 if vehicle.spec_sowingMachine.useDirectPlanting then
150 self:addWorkedArea(farmlandId, realArea, EnvironmentalScoreTillage.TYPE_DIRECT_PLANTING)
151 end
152 end
153 end
154
155 return realArea, area
156 end)
157end

readFarmlandDataFromStream

Description
Definition
readFarmlandDataFromStream()
Code
121function EnvironmentalScoreValue:readFarmlandDataFromStream(data, streamId, connection)
122end

readStream

Description
Read data on client side
Definition
readStream(integer streamId, integer connection)
Arguments
integerstreamIdstreamId
integerconnectionconnection
Code
88function EnvironmentalScoreValue:readStream(streamId, connection, farmId)
89 local numFarmlandDatas = streamReadUIntN(streamId, g_farmlandManager.numberOfBits)
90 for i=1, numFarmlandDatas do
91 local farmlandId = streamReadUIntN(streamId, g_farmlandManager.numberOfBits)
92 local data = self:getFarmlandData(farmlandId)
93 self:readFarmlandDataFromStream(data, streamId, connection)
94 end
95end

saveFarmlandData

Description
Definition
saveFarmlandData()
Code
81function EnvironmentalScoreValue:saveFarmlandData(data, xmlFile, key)
82end

saveToXMLFile

Description
Definition
saveToXMLFile()
Code
64function EnvironmentalScoreValue:saveToXMLFile(xmlFile, key, usedModNames)
65 local index = 0
66 for farmlandId, data in pairs(self.farmlandDatas) do
67 local dataKey = string.format("%s.%s.farmland(%d)", key, self.xmlKey, index)
68 xmlFile:setInt(dataKey .. "#farmlandId", farmlandId)
69 self:saveFarmlandData(data, xmlFile, dataKey)
70 index = index + 1
71 end
72end

update

Description
Definition
update()
Code
131function EnvironmentalScoreValue:update(dt)
132end

writeFarmlandDataToStream

Description
Definition
writeFarmlandDataToStream()
Code
126function EnvironmentalScoreValue:writeFarmlandDataToStream(data, streamId, connection)
127end

writeStream

Description
Write data to client
Definition
writeStream(integer streamId, integer connection)
Arguments
integerstreamIdstreamId
integerconnectionconnection
Code
101function EnvironmentalScoreValue:writeStream(streamId, connection, farmId)
102 local numFarmlandDatas = 0
103 for farmlandId, _ in pairs(self.farmlandDatas) do
104 if g_farmlandManager.farmlandMapping[farmlandId] == farmId then
105 numFarmlandDatas = numFarmlandDatas + 1
106 end
107 end
108
109 streamWriteUIntN(streamId, numFarmlandDatas, g_farmlandManager.numberOfBits)
110
111 for farmlandId, data in pairs(self.farmlandDatas) do
112 if g_farmlandManager.farmlandMapping[farmlandId] == farmId then
113 streamWriteUIntN(streamId, farmlandId, g_farmlandManager.numberOfBits)
114 self:writeFarmlandDataToStream(data, streamId, connection)
115 end
116 end
117end