@@ -66,7 +66,7 @@ gadgetHandler = {
66
66
knownGadgets = {},
67
67
knownCount = 0 ,
68
68
knownChanged = true ,
69
-
69
+
70
70
GG = {}, -- shared table for gadgets
71
71
72
72
globals = {}, -- global vars/funcs
@@ -140,6 +140,7 @@ local callInLists = {
140
140
' AllowUnitCreation' ,
141
141
' AllowUnitTransfer' ,
142
142
' AllowUnitBuildStep' ,
143
+ ' AllowFeatureBuildStep' ,
143
144
' AllowFeatureCreation' ,
144
145
' AllowResourceLevel' ,
145
146
' AllowResourceTransfer' ,
@@ -244,20 +245,20 @@ function gadgetHandler:Initialize()
244
245
local gadgetFiles = VFS .DirList (GADGETS_DIR , " *.lua" , VFSMODE )
245
246
-- table.sort(gadgetFiles)
246
247
247
- for k ,gf in ipairs (gadgetFiles ) do
248
- Spring .Echo (' gf1 = ' .. gf ) -- FIXME
249
- end
248
+ -- for k,gf in ipairs(gadgetFiles) do
249
+ -- Spring.Echo('gf1 = ' .. gf) -- FIXME
250
+ -- end
250
251
251
252
-- stuff the gadgets into unsortedGadgets
252
253
for k ,gf in ipairs (gadgetFiles ) do
253
- Spring .Echo (' gf2 = ' .. gf ) -- FIXME
254
+ -- Spring.Echo('gf2 = ' .. gf) -- FIXME
254
255
local gadget = self :LoadGadget (gf )
255
256
if (gadget ) then
256
257
table.insert (unsortedGadgets , gadget )
257
258
end
258
259
end
259
260
260
- -- sort the gadgets
261
+ -- sort the gadgets
261
262
table.sort (unsortedGadgets , function (g1 , g2 )
262
263
local l1 = g1 .ghInfo .layer
263
264
local l2 = g2 .ghInfo .layer
@@ -275,7 +276,7 @@ function gadgetHandler:Initialize()
275
276
end
276
277
end )
277
278
278
- -- add the gadgets
279
+ -- add the gadgets
279
280
for _ ,g in ipairs (unsortedGadgets ) do
280
281
gadgetHandler :InsertGadget (g )
281
282
@@ -298,7 +299,7 @@ function gadgetHandler:LoadGadget(filename)
298
299
Spring .Echo (' Failed to load: ' .. basename .. ' (' .. err .. ' )' )
299
300
return nil
300
301
end
301
-
302
+
302
303
local gadget = gadgetHandler :NewGadget ()
303
304
304
305
setfenv (chunk , gadget )
@@ -1126,6 +1127,18 @@ function gadgetHandler:AllowUnitBuildStep(builderID, builderTeam,
1126
1127
end
1127
1128
1128
1129
1130
+ function gadgetHandler :AllowFeatureBuildStep (builderID , builderTeam ,
1131
+ featureID , featureDefID , part )
1132
+ for _ ,g in ipairs (self .AllowFeatureBuildStepList ) do
1133
+ if (not g :AllowFeatureBuildStep (builderID , builderTeam ,
1134
+ featureID , featureDefID , part )) then
1135
+ return false
1136
+ end
1137
+ end
1138
+ return true
1139
+ end
1140
+
1141
+
1129
1142
function gadgetHandler :AllowFeatureCreation (featureDefID , teamID , x , y , z )
1130
1143
for _ ,g in ipairs (self .AllowFeatureCreationList ) do
1131
1144
if (not g :AllowFeatureCreation (featureDefID , teamID , x , y , z )) then
0 commit comments