Newer
Older
#pragma once
#include "BaseLocation.h"
class IDABot;
class BaseLocationManager
{
IDABot & m_bot;
std::vector<BaseLocation> m_baseLocationData;
std::vector<const BaseLocation *> m_baseLocationPtrs;
std::vector<const BaseLocation *> m_startingBaseLocations;
std::map<int, const BaseLocation *> m_playerStartingBaseLocations;
std::map<int, std::set<const BaseLocation *>> m_occupiedBaseLocations;
std::vector<std::vector<BaseLocation *>> m_tileBaseLocations;
BaseLocation * getBaseLocation(const CCPosition & pos) const;
public:
BaseLocationManager(IDABot & bot);
void onStart();
void onFrame();
void drawBaseLocations();
const std::vector<const BaseLocation *> & getBaseLocations() const;
const std::vector<const BaseLocation *> & getStartingBaseLocations() const;
const std::set<const BaseLocation *> & getOccupiedBaseLocations(int player) const;
const BaseLocation * getPlayerStartingBaseLocation(int player) const;
const BaseLocation * getNextExpansion(int player) const;
};