diff --git a/screeps.com/testing-sim/creep_builds.js b/screeps.com/testing-sim/creep_builds.js index f2ea408..2926993 100644 --- a/screeps.com/testing-sim/creep_builds.js +++ b/screeps.com/testing-sim/creep_builds.js @@ -13,6 +13,10 @@ var creepBuilds = { return buildsDict; }, + + getRoleObject: function(roleStr) { + return require("./roles_" + roleStr); + } }; module.exports = creepBuilds; diff --git a/screeps.com/testing-sim/manage_creeps.js b/screeps.com/testing-sim/manage_creeps.js index e8a1094..8d7705a 100644 --- a/screeps.com/testing-sim/manage_creeps.js +++ b/screeps.com/testing-sim/manage_creeps.js @@ -13,6 +13,7 @@ var creepGoalAmount = settings.getCreepGoalAmount(); var creepManager = { run: function() { + //spawn desired creeps if (spawnCreeps) { for (let role in creepGoalAmount) { let roleCreepsAmount = (_.filter(Game.creeps, (creep) => creep.memory.role == role)).length; @@ -21,6 +22,14 @@ var creepManager = { } } } + + //run creeps by role + for (let creep in Game.creeps) { + let creepName = Game.creeps[creep]; + let role = creepName.memory.role; + let roleObject = creepBuilds.getRoleObject(role); + roleObject.run(creepName); + } } }; diff --git a/screeps.com/testing-sim/roles_builder.js b/screeps.com/testing-sim/roles_builder.js index 4ba342f..4c959e9 100644 --- a/screeps.com/testing-sim/roles_builder.js +++ b/screeps.com/testing-sim/roles_builder.js @@ -7,7 +7,7 @@ * mod.thing == 'a thing'; // true */ -var roleBuilder = { +var creep = { /** @param {Creep} creep **/ run: function(creep) { @@ -38,4 +38,4 @@ var roleBuilder = { } }; -module.exports = roleBuilder; \ No newline at end of file +module.exports = creep; diff --git a/screeps.com/testing-sim/roles_harvester.js b/screeps.com/testing-sim/roles_harvester.js index 95e28a6..d3e6d92 100644 --- a/screeps.com/testing-sim/roles_harvester.js +++ b/screeps.com/testing-sim/roles_harvester.js @@ -1,11 +1,14 @@ -var roleHarvester = { +var settings = require("./settings"); +var colorScheme = settings.getColorScheme(); + +var creep = { /** @param {Creep} creep **/ run: function(creep) { if(creep.store.getFreeCapacity() > 0) { var sources = creep.room.find(FIND_SOURCES); if(creep.harvest(sources[0]) == ERR_NOT_IN_RANGE) { - creep.moveTo(sources[0], {visualizePathStyle: {stroke: '#ffaa00'}}); + creep.moveTo(sources[0], {visualizePathStyle: {stroke: colorScheme["primary"]}}); } } else { @@ -24,4 +27,4 @@ var roleHarvester = { } }; -module.exports = roleHarvester; \ No newline at end of file +module.exports = creep; diff --git a/screeps.com/testing-sim/settings.js b/screeps.com/testing-sim/settings.js index 591f986..f8ddfd7 100644 --- a/screeps.com/testing-sim/settings.js +++ b/screeps.com/testing-sim/settings.js @@ -11,7 +11,16 @@ var settings = { getSpawnCreeps: function() { return true - } + }, + + getColorScheme: function() { + let colors = { + primary: "#7b9ce6", + secondary: "f6e6bd", + tertiary: "cc2222", + }; + return colors; + }, }; module.exports = settings;