#ifndef DOUWCO_HIVEMIND_CREEP_HPP #define DOUWCO_HIVEMIND_CREEP_HPP #include #include "Constants.hpp" namespace DouwcoHivemind { class Creep { public: CreepRole role; protected: Screeps::Creep creep; JSON memory; public: Creep(Screeps::Creep crp) : creep(crp), memory(crp.memory()) { role = memory.contains("role") ? static_cast(memory["role"]) : CreepRole::UNEMPLOYED; } virtual ~Creep() { creep.setMemory(memory); } virtual void loop() {} }; } #endif // DOUWCO_HIVEMIND_CREEP_HPP