#include "../Mechanics/Object.h"
#include "../Graphics/Animation.h"
#include "General.h"
#include "EventDisplay.h"

namespace interface {
	mechanics::Object *selectedObject=NULL;
	gge::utils::Collection<mechanics::Object> selectedObjects;

	std::function<void()> showIngameMapSelection;
	std::function<void()> showTitleMapSelection;
	std::function<void()> closeMapSelection;

	std::function<void()> showIngameCredits;
	std::function<void()> showTitleCredits;
	std::function<void()> closeCredits;

	bool isBuilding=false;
	std::string buildingID="";
	gge::utils::Point buildingOffset;
	int cancelCount=0;
	EventDisplay *eventDisplay;
	gge::utils::Bounds selectionArea(-1,-1,-1,-1);


	bool showEvent(mechanics::MapEvent &event) {
		if(eventDisplay->IsVisible()) return false;

		eventDisplay->Show(event);
		return true;
	}

	void initialize() {
		eventDisplay=new EventDisplay;
	}

}
