2016-08-01 180 views
0

我剛剛開始嘗試按名稱搜索結構。我一直在尋找通過API沒有運氣。我似乎無法找到任何結構對象的名稱屬性,所以我不能只循環遍歷它們並找到我想要的。如何按名稱搜索結構?

如何搜索名稱結構?有沒有可訪問的名稱屬性?

回答

1

大多數結構沒有名稱,例外是生成。 有關更多信息,請參閱this article

那些已經在單獨的散列,Game.spawns

你可以去:

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

如果你正在尋找另一種結構類型,所有的結構有一個id財產。

4

在大多數情況下,通過id或type進行搜索更加可取,因爲只有Spawns具有合法名稱。

在ID

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) 
     )}