Files
screeps/douwco_hivemind/include/Creeps/Creep.hpp
2025-08-24 12:08:22 +02:00

42 lines
783 B
C++

#ifndef DOUWCO_HIVEMIND_CREEP_HPP
#define DOUWCO_HIVEMIND_CREEP_HPP
#include <Screeps/Creep.hpp>
namespace Screeps{
class RoomPosition;
class RoomObject;
class PathStep;
}
namespace DouwcoHivemind
{
enum CreepRole
{
UNEMPLOYED,
HARVESTER
};
class Creep
{
public:
CreepRole role;
std::string target_id;
protected:
Screeps::Creep creep;
JSON memory;
public:
Creep(Screeps::Creep crp);
virtual ~Creep();
virtual void loop() {}
bool isNearTo(const Screeps::RoomPosition &pos, int dist);
protected:
void moveToTarget(int dist = 1);
std::unique_ptr<Screeps::RoomObject> getRoomObjectTarget();
};
}
#endif // DOUWCO_HIVEMIND_CREEP_HPP