2016-08-01 3 views
0

방금 ​​시작하여 이름으로 구조를 검색하려고합니다. 나는 행운이없는 API를보고있었습니다. 어떤 구조체 객체에 대해서도 name 속성을 찾을 수없는 것 같아요. 따라서 모든 객체를 루프 처리하고 원하는 객체를 찾을 수는 없습니다.이름으로 구조를 검색하려면 어떻게해야합니까?

이름으로 구조를 검색하려면 어떻게해야합니까? 어딘가에 접근 가능한 이름 속성이 있습니까?

답변

1

대부분의 구조에는 이름이 없으며 예외는 발생합니다. 자세한 내용은 this article을 참조하십시오.

이들은 이미 별도의 해시 인 Game.spawns입니다.

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

다른 구조 유형을 찾고 있다면이 모든 구조는 id 속성이 :와

당신은 갈 수있다.

4

대부분의 경우 ID 또는 유형별 검색은 Spawn에 합법적 인 이름 만 있기 때문에 더 좋습니다. 구조 유형, 예를 들어 인 경우 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) 
     )} 
관련 문제