view LightClone/Source/Screen.h @ 71:bc8afcf7e1ec

Refactor world into game screen
author koryspansel <koryspansel@bendbroadband.com>
date Tue, 11 Oct 2011 13:20:43 -0700
parents ffaeccdc105e
children
line wrap: on
line source

/*
 * Screen
 */

#ifndef __SCREEN_H__
#define __SCREEN_H__

#include "Core.h"
#include "ServiceProvider.h"
#include "RenderContext.h"

/*
 * Screen
 */
class Screen
{
	/*
	 * ScreenManager
	 */
	friend class ScreenManager;

protected:

	/*
	 * pScreenManager
	 */
	ScreenManager* pScreenManager;

public:

	/*
	 * ~Screen
	 */
	virtual ~Screen();

	/*
	 * Initialize
	 */
	virtual ErrorCode Initialize(ServiceProvider* pServiceProvider);

	/*
	 * Terminate
	 */
	virtual void Terminate();

	/*
	 * Update
	 */
	virtual void Update(float fElapsed);

	/*
	 * Render
	 */
	virtual void Render(RenderContext& kContext);

protected:

	/*
	 * OnEnter
	 *	Called when this screen is pushed onto the display stack
	 */
	virtual void OnEnter();

	/*
	 * OnExit
	 *	Called when this screen is popped from the display stack
	 */
	virtual void OnExit();

	/*
	 * OnPause
	 *	Called when another screen is pushed on top of this screen
	 */
	virtual void OnPause();

	/*
	 * OnResume
	 *	Called when this screen returns to the top of the stack
	 */
	virtual void OnResume();
};

#endif //__SCREEN_H__