///////////////////////////////////////////////////////////////////////////////
//
// File   : AVP_CoreState_GameFrontend.h
// Author : Rav Tharanee
// Date   : 25/02/09
//
// Copyright (C) 2009 Rebellion, All Rights Reserved.
//
///////////////////////////////////////////////////////////////////////////////

#ifdef ASURA_USE_PRAGMA_ONCE
#pragma once
#endif   // ifdef ASURA_USE_PRAGMA_ONCE

#ifndef __AVP_CORESTATE_GAMEFRONTEND_H__
#define __AVP_CORESTATE_GAMEFRONTEND_H__

#if defined(AVP_USE_GAME_FRONTEND)

#include "Core/States/Core/AVP_State_Core.h"

#include "Core/States/Core/AVP_StateMachine_GameFrontend.h"

class	AVP_CoreState_GameFrontend	:	public	AVP_State_Core
{
public:
	AVP_CoreState_GameFrontend( AVP_StateMachine_Core& xParentMachine );
	virtual ~AVP_CoreState_GameFrontend() {}

	virtual	void Enter(const u_int uPreviousState);
	virtual	void Update();
	virtual	void Render() const;
	virtual	void Exit(const u_int uNextState);

	virtual	const char*	GetName(void) const	{ return("AVP_CoreState_GameFrontend"); }

	void RequestQuitApplication();

protected:
	AVP_StateMachine_GameFrontend		m_xStateMachine;



private:
	typedef AVP_State_Core PARENT;
};

#endif	//defined(AVP_USE_GAME_FRONTEND)

#endif