2016-11-17 5 views
0

ソースIDと、現在のSpawnがソースをメモリにマイニングしているIDを、その部屋の現在のスポーンの下に保存しようとしています。保存したら、FIND_SOURCESを実行することなく、各ソースにマイナーを簡単に割り当てることができます。このようにすると、CPU使用率が低下します。Screeps Spawnをメモリに保存する際に発生する問題

現在の問題は、作成しようとしているカスタムオブジェクトではなく、ソースIDのみを保存することです。この問題を修正するための助けをいただければ幸いです。

if(!spawn.memory.sources){ 
     //spawn.memory.sources = {}; //Add it 
     var roomSources = spawn.room.find(FIND_SOURCES); 
     console.log("loading memory"); 
     for(var i in roomSources){ 
      var source = {id:roomSources[i].id, currentMinerId: null}; 
      spawn.memory.sources[i] = source; 
     } 
    } 

答えて

0

私は次のコードでこの問題を修正することができた:

は、ここで私が使用しています現在のコードです。それが他の人にとって有益なことを願っています。

if(!spawns.memory.roomSources){ 
     spawns.memory.roomSources=[]; 
     var energySources = spawns.room.find(FIND_SOURCES); 
     for(var i in energySources){ 
      spawns.memory.roomSources[i] = {sourceId: energySources[i].id, currentMinerId: null}; 

     } 
    } 
関連する問題