如何查找扩展数量

时间:2015-03-09 03:11:20

标签: screeps

我已尝试过Game.STRUCTURE_EXTENSION.lengthGame.STRUCTURES.E.length,但这些会导致错误或未定义 - 即使我有扩展名。

是否存在扩展的全局变量,或者是否有某种方法可以通过循环查找扩展数。因为我需要我的spawn知道有多少扩展来确定产生什么。

2 个答案:

答案 0 :(得分:3)

STRUCTURE_EXTENSION只是一个数字常量,而不是数组。

为了计算产卵所在房间的扩展总数,您可以执行以下操作:

var extensions = Game.spawns.Spawn1.room.find(FIND_MY_STRUCTURES, {
  filter: { structureType: STRUCTURE_EXTENSION }
});
console.log(extensions.length);

请参阅documentaion中的Room.find方法。

答案 1 :(得分:0)

滚动你的房间,或者你可以算一个房间。

var extensionCount = 0;
for(var roomName in Game.rooms) {
    extensionCount += Game.rooms[roomName].find(FIND_MY_STRUCTURES,{
        filter: function(object){return object.structureType === STRUCTURE_EXTENSION;
    }).length;
}

使用 room.find 方法