#pragma once
#include "InformationManager.h"
#include "SquadAgent.h"

class AbstractLayer
{
public:
	AbstractLayer();
    void addSquadToGameState(SquadAgent* squad);
    std::map<SquadAgent*, BWAPI::Position> searchBestOrders();
    bool hasFriendlyUnits();
    float getEvaluation();
    void printBranchingStats();

private:
    std::map<unsigned int, std::set<SquadAgent*> > _idToSquad;

};
