2

我试过Game.STRUCTURE_EXTENSION.lengthand Game.STRUCTURES.E.length,但这些要么导致错误,要么未定义——即使我有扩展。

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

4

2 回答 2

4

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

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

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

请参阅Room.find文档中的方法。

于 2015-03-09T15:45:22.443 回答
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方法

于 2015-08-04T22:08:52.057 回答