35 lines
873 B
C++
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
|