0

我刚开始并试图按名称搜索结构。我一直在查看API,但没有运气。我似乎无法在任何结构对象上找到 name 属性,所以我不能只遍历它们并找到我想要的那个。

如何按名称搜索结构?某处是否有可访问的名称属性?

4

2 回答 2

4

在大多数情况下,通过 id 或类型搜索更可取,因为只有 Spawn 具有合法名称。

身份证的情况下

var someStructure = Game.getObjectById('....');

在结构类型的情况下,例如寻找扩展

var extensions = Game.rooms.W25S25.find(FIND_STRUCTURES, {filter:{structureType: STRUCTURE_EXTENSION}});

查找的过滤器部分也可以更复杂,例如查找未充满能量的结构。

{ filter: (s) => ((
            s.structureType == STRUCTURE_SPAWN
            || s.structureType == STRUCTURE_EXTENSION
            || s.structureType == STRUCTURE_TOWER
            ) && (s.energy < s.energyCapacity)
        )}
于 2016-08-06T08:57:56.180 回答
1

大多数结构没有名称,生成的例外。有关更多信息,请参阅本文

这些已经在单独的哈希中,Game.spawns.

你可以去:

for(name in Game.spawns){console.log("Found spawn " + Game.spawns[name]");}

如果您正在寻找另一种结构类型,则所有结构都有一个id属性。

于 2016-08-02T22:11:55.960 回答