2929
3030function CpAIBunkerSiloWorker .registerEventListeners (vehicleType )
3131 SpecializationUtil .registerEventListener (vehicleType , ' onLoad' , CpAIBunkerSiloWorker )
32- SpecializationUtil .registerEventListener (vehicleType , ' onUpdate' , CpAIBunkerSiloWorker )
3332 SpecializationUtil .registerEventListener (vehicleType , ' onLoadFinished' , CpAIBunkerSiloWorker )
3433 SpecializationUtil .registerEventListener (vehicleType , ' onReadStream' , CpAIBunkerSiloWorker )
3534 SpecializationUtil .registerEventListener (vehicleType , ' onWriteStream' , CpAIBunkerSiloWorker )
@@ -49,46 +48,45 @@ function CpAIBunkerSiloWorker.registerOverwrittenFunctions(vehicleType)
4948 SpecializationUtil .registerOverwrittenFunction (vehicleType , ' startCpAtFirstWp' , CpAIBunkerSiloWorker .startCpAtFirstWp )
5049 SpecializationUtil .registerOverwrittenFunction (vehicleType , ' startCpAtLastWp' , CpAIBunkerSiloWorker .startCpAtLastWp )
5150end
51+
52+ -- shortcut to access the spec
53+ function CpAIBunkerSiloWorker .getSpec (self )
54+ return self [" spec_" .. CpAIBunkerSiloWorker .SPEC_NAME ]
55+ end
56+
5257---- --------------------------------------------------------------------------------------------------------------------
5358--- Event listeners
5459---- -----------------------------------------------------------------------------------------------------------------------
5560function CpAIBunkerSiloWorker :onLoad (savegame )
56- --- Register the spec: spec_CpAIBunkerSiloWorker
57- self .spec_cpAIBunkerSiloWorker = self [" spec_" .. CpAIBunkerSiloWorker .SPEC_NAME ]
58- local spec = self .spec_cpAIBunkerSiloWorker
61+ local spec = CpAIBunkerSiloWorker .getSpec (self )
5962 --- This job is for starting the driving with a key bind or the mini gui.
6063 spec .cpJob = g_currentMission .aiJobTypeManager :createJob (AIJobType .BUNKER_SILO_CP )
6164 spec .cpJob :setVehicle (self , true )
6265end
6366
6467
6568function CpAIBunkerSiloWorker :onLoadFinished (savegame )
66- local spec = self . spec_cpAIBunkerSiloWorker
69+ local spec = CpAIBunkerSiloWorker . getSpec ( self )
6770 if savegame ~= nil then
6871 spec .cpJob :loadFromXMLFile (savegame .xmlFile , savegame .key .. CpAIBunkerSiloWorker .KEY .. " .cpJob" )
6972 end
7073end
7174
7275function CpAIBunkerSiloWorker :saveToXMLFile (xmlFile , baseKey , usedModNames )
73- local spec = self . spec_cpAIBunkerSiloWorker
76+ local spec = CpAIBunkerSiloWorker . getSpec ( self )
7477 spec .cpJob :saveToXMLFile (xmlFile , baseKey .. " .cpJob" )
7578end
7679
7780function CpAIBunkerSiloWorker :onReadStream (streamId , connection )
78- local spec = self . spec_cpAIBunkerSiloWorker
81+ local spec = CpAIBunkerSiloWorker . getSpec ( self )
7982 spec .cpJob :readStream (streamId , connection )
8083end
8184
8285function CpAIBunkerSiloWorker :onWriteStream (streamId , connection )
83- local spec = self . spec_cpAIBunkerSiloWorker
86+ local spec = CpAIBunkerSiloWorker . getSpec ( self )
8487 spec .cpJob :writeStream (streamId , connection )
8588end
8689
87- function CpAIBunkerSiloWorker :onUpdate (dt )
88- local spec = self .spec_cpAIBunkerSiloWorker
89-
90- end
91-
9290--- Is the bunker silo allowed?
9391function CpAIBunkerSiloWorker :getCanStartCpBunkerSiloWorker ()
9492 return not self :getCanStartCpFieldWork ()
@@ -102,26 +100,26 @@ function CpAIBunkerSiloWorker:getCanStartCp(superFunc)
102100end
103101
104102function CpAIBunkerSiloWorker :getCpStartableJob (superFunc , isStartedByHud )
105- local spec = self . spec_cpAIBunkerSiloWorker
103+ local spec = CpAIBunkerSiloWorker . getSpec ( self )
106104 if isStartedByHud and self :cpIsHudBunkerSiloJobSelected () then
107105 return self :getCanStartCpBunkerSiloWorker () and spec .cpJob
108106 end
109107 return superFunc (self , isStartedByHud ) or not isStartedByHud and self :getCanStartCpBunkerSiloWorker () and spec .cpJob
110108end
111109
112110function CpAIBunkerSiloWorker :getCpBunkerSiloWorkerJobParameters ()
113- local spec = self . spec_cpAIBunkerSiloWorker
111+ local spec = CpAIBunkerSiloWorker . getSpec ( self )
114112 return spec .cpJob :getCpJobParameters ()
115113end
116114
117115function CpAIBunkerSiloWorker :applyCpBunkerSiloWorkerJobParameters (job )
118- local spec = self . spec_cpAIBunkerSiloWorker
116+ local spec = CpAIBunkerSiloWorker . getSpec ( self )
119117 spec .cpJob :getCpJobParameters ():validateSettings ()
120118 spec .cpJob :copyFrom (job )
121119end
122120
123121function CpAIBunkerSiloWorker :getCpBunkerSiloWorkerJob ()
124- local spec = self . spec_cpAIBunkerSiloWorker
122+ local spec = CpAIBunkerSiloWorker . getSpec ( self )
125123 return spec .cpJob
126124end
127125
130128function CpAIBunkerSiloWorker :startCpAtFirstWp (superFunc , ...)
131129 if not superFunc (self , ... ) then
132130 if self :getCanStartCpBunkerSiloWorker () then
133- local spec = self . spec_cpAIBunkerSiloWorker
131+ local spec = CpAIBunkerSiloWorker . getSpec ( self )
134132 spec .cpJob :applyCurrentState (self , g_currentMission , g_currentMission .playerSystem :getLocalPlayer ().farmId , true )
135133 spec .cpJob :setValues ()
136134 local success = spec .cpJob :validate (false )
148146function CpAIBunkerSiloWorker :startCpAtLastWp (superFunc , ...)
149147 if not superFunc (self , ... ) then
150148 if self :getCanStartCpBunkerSiloWorker () then
151- local spec = self . spec_cpAIBunkerSiloWorker
149+ local spec = CpAIBunkerSiloWorker . getSpec ( self )
152150 spec .cpJob :applyCurrentState (self , g_currentMission , g_currentMission .playerSystem :getLocalPlayer ().farmId , true )
153151 spec .cpJob :setValues ()
154152 local success = spec .cpJob :validate (false )
0 commit comments