#include "StdAfx.h"
#include "ShortcutManager.h"

#include "KeyboardAgent.h"

#include "Application.h"
#include "RenderSystem.h"
#include "UIManager.h"

#include "skillmanager.h"
#include "DramaturgyManager.h"

cShortcutManager* cShortcutManager::mpShortcutManager = NULL;

cShortcutManager::cShortcutManager()
{
	mpShortcutManager = this;
}

cShortcutManager::~cShortcutManager()
{
	mpShortcutManager = 0;
}

bool cShortcutManager::ProcessKeyPressed( cKeyboardAgent* /*keyInfo*/ )
{
	/// stage에 상관 없는 공통 처리부분을 넣어라..
	return false;
}

bool cShortcutManager::ProcessKeyUpDown( cKeyboardAgent* keyInfo )
{
	/// stage에 상관 없는 공통 처리부분을 넣어라..
	/// 시스템관련 키 입력은 이곳에 넣을것..
	if( keyInfo->GetKeyPressed(KEY_CONTROL) )
	{

		//if( keyInfo->GetKeyDown(KEY_RETURN) )
		//{
		//	THEAPP->ToggleScreen();
		//	return true;
		//}

		/// 프로그램을 종료하지 않고 스킨만 재적용 가능하다.
		if( keyInfo->GetKeyDown( KEY_F5 ) )
		{
			/// 스킨 파일 로딩 후 재적용 
			UIMAN->ChangeSkin( "./Script/Interface/List_SkinImage.txt" );
			return true;
		}

		if( keyInfo->GetKeyDown( KEY_F12) )
		{
			if( RENDERSYS->GetScreenWidth() == 1024 && RENDERSYS->GetScreenHeight() == 768 )
				THEAPP->UpdateScreenSize( 1152, 864, 32, 1 );
			else
				THEAPP->UpdateScreenSize( 1024, 768, 32, 1 );

			return true;
		}

		return false;
	}

//	if( keyInfo->GetKeyDown(KEY_ESCAPE) )
//	{
//		::SendMessage( THEAPP->GetHWND(), WM_CLOSE, 0, 0 );
//		return true;
//	}

	if( keyInfo->GetKeyDown(KEY_F12) )
	{
		/// 스크린샷..
		THEAPP->SetSaveScreenShot( true );
		return true;
	}
	
	return false;
}
