Files
screeps/douwco_hivemind/include/Engine.hpp

35 lines
873 B
C++

#ifndef DOUWCO_HIVEMIND_ENGINE_HPP
#define DOUWCO_HIVEMIND_ENGINE_HPP
#include <vector>
#include "Creeps/CreepBase.hpp"
#include "Entity/Room.hpp"
#include "Structures/StructureBase.hpp"
namespace DouwcoHivemind {
class Engine {
private:
std::vector<std::unique_ptr<Room>> rooms;
std::vector<std::unique_ptr<CreepBase>> creeps;
std::vector<std::unique_ptr<StructureBase>> structures;
public:
// Readout data from screeps API into C++ vectors
Engine();
// Loop over all rooms, screeps and structures
void loop();
private:
// Readout player owned rooms
void ReadOutRooms();
// Readout player owned screeps and assign their roles
void ReadOutCreeps();
// Readout player owned buildings based on their structure type
void ReadOutStructures();
// Clear dead screep memory
void clearDeadCreepMemory();
};
}
#endif // DOUWCO_HIVEMIND_ENGINE_HPP