Improved walking system.
This commit is contained in:
45
Screeps/CreepClass.js
Normal file
45
Screeps/CreepClass.js
Normal file
@@ -0,0 +1,45 @@
|
||||
const jobBuilder = require("JobBuilder");
|
||||
const jobCleaner = require("JobCleaner");
|
||||
const jobMiner = require("JobMiner");
|
||||
const jobSupplier = require("JobSupplier");
|
||||
const jobUpgrader = require("JobUpgrader");
|
||||
|
||||
module.exports = {
|
||||
setup: function () {
|
||||
Creep.prototype = _Creep.prototype;
|
||||
global.Role = Role;
|
||||
}
|
||||
}
|
||||
|
||||
const Role = {
|
||||
BUILDER: 0,
|
||||
CLEANER: 1,
|
||||
MINER: 2,
|
||||
SUPPLIER: 3,
|
||||
UPGRADER: 4
|
||||
}
|
||||
|
||||
class _Creep extends Creep {
|
||||
begin(){
|
||||
if(!this.memory.job) this.memory.job = { role: Role.HARVESTER };
|
||||
switch (this.memory.job.role) {
|
||||
case Role.BUILDER: jobBuilder.begin(this); break;
|
||||
case Role.CLEANER: jobCleaner.begin(this); break;
|
||||
case Role.MINER: jobMiner.begin(this); break;
|
||||
case Role.SUPPLIER: jobSupplier.begin(this); break;
|
||||
case Role.UPGRADER: jobUpgrader.begin(this); break;
|
||||
}
|
||||
this.memory.init = true;
|
||||
}
|
||||
|
||||
tick(){
|
||||
if(!this.memory.init) this.begin();
|
||||
switch (this.memory.job.role) {
|
||||
case Role.BUILDER: jobBuilder.tick(this); break;
|
||||
case Role.CLEANER: jobCleaner.tick(this); break;
|
||||
case Role.MINER: jobMiner.tick(this); break;
|
||||
case Role.SUPPLIER: jobSupplier.tick(this); break;
|
||||
case Role.UPGRADER: jobUpgrader.tick(this); break;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user