33 lines
677 B
C++
33 lines
677 B
C++
#ifndef DOUWCO_HIVEMIND_CREEP_HPP
|
|
#define DOUWCO_HIVEMIND_CREEP_HPP
|
|
|
|
#include <Screeps/Creep.hpp>
|
|
#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<CreepRole>(memory["role"]) : CreepRole::UNEMPLOYED;
|
|
}
|
|
|
|
virtual ~Creep() {
|
|
creep.setMemory(memory);
|
|
}
|
|
|
|
virtual void loop() {}
|
|
};
|
|
}
|
|
|
|
#endif // DOUWCO_HIVEMIND_CREEP_HPP
|