#pragma once

#include "Common.h"
#include "StrategyManager.h"

namespace MyBot
{
	/// 봇 프로그램 개발의 편의성 향상을 위해 게임 화면에 추가 정보들을 표시하는 class
	/// 여러 Manager 들로부터 정보를 조회하여 Screen 혹은 Map 에 정보를 표시합니다
	class UXManager_Additional
	{
		UXManager_Additional();

		void drawStrategy(int x, int y);

		/// StrategicTask 를 Screen 에 표시합니다
		void drawStrategicTaskList(int x, int y);		

		void drawSquadNameOnUnit();

		void drawSquadUnitCountOnScreen(int x, int y);

		void drawChokepointStatus();
		void drawBaseLocationInfo();

		void drawSafePositions();

		void drawConfidenceMapForMutalisk();

	public:
		/// static singleton 객체를 리턴합니다
		static UXManager_Additional &	Instance();

		/// 대결이 시작될 때 일회적으로 추가 정보를 출력합니다
		void onStart();

		/// 대결 진행 중 매 프레임마다 추가 정보를 출력하고 사용자 입력을 처리합니다
		void update();
	};
}
