26 lines
723 B
JavaScript
26 lines
723 B
JavaScript
var harvester = require('energy.harvest.roundrobin');
|
|
|
|
var do_collect = function(creep, done_state, done_state_message) {
|
|
var source = null;
|
|
if(creep.memory.source_id) {
|
|
source = Game.getObjectById(creep.memory.source_id);
|
|
} else {
|
|
source = harvester.get_source(creep);
|
|
}
|
|
|
|
if(creep.store.getFreeCapacity() > 0) {
|
|
if(creep.harvest(source) == ERR_NOT_IN_RANGE) {
|
|
creep.moveTo(source, {visualizePathStyle: {stroke: '#ffaa00'}});
|
|
}
|
|
} else {
|
|
creep.memory.state = done_state;
|
|
harvester.release_source(creep);
|
|
creep.say(done_state_message);
|
|
}
|
|
}
|
|
|
|
var baseHarvester = {
|
|
do_collect: do_collect,
|
|
}
|
|
|
|
module.exports = baseHarvester; |