view LightClone/Source/Mediator.h @ 72:9a9be3d8632e

Remove reference to World.h
author koryspansel
date Tue, 11 Oct 2011 13:49:40 -0700
parents ffaeccdc105e
children 0574e2cf8bac
line wrap: on
line source

/*
 * Mediator
 */

#ifndef __MEDIATOR_H__
#define __MEDIATOR_H__

#include "Core.h"
#include "Clock.h"
#include "Window.h"
#include "InputManager.h"
#include "GraphicsDevice.h"
#include "ResourceManager.h"
#include "RenderContext.h"
#include "ServiceProvider.h"
#include "ScreenManager.h"
#include "MainScreen.h"
#include "HelpScreen.h"
#include "PauseScreen.h"
#include "GameScreen.h"

/*
 * Mediator
 */
class Mediator : public WindowCallback
{
	/*
	 * kWindow
	 */
	Window kWindow;

	/*
	 * kClock
	 */
	Clock kClock;

	/*
	 * pGraphicsDevice
	 */
	GraphicsDevice* pGraphicsDevice;

	/*
	 * kResourceManager
	 */
	ResourceManager kResourceManager;

	/*
	 * kContext
	 */
	RenderContext kContext;

	/*
	 * kInputManager
	 */
	InputManager kInputManager;

	/*
	 * kServiceProvider
	 */
	ServiceProvider kServiceProvider;

	/*
	 * kScreenManager
	 */
	ScreenManager kScreenManager;

	/*
	 * kMainScreen
	 */
	MainScreen kMainScreen;

	/*
	 * kHelpScreen
	 */
	HelpScreen kHelpScreen;

	/*
	 * kGameScreen
	 */
	GameScreen kGameScreen;

	/*
	 * kPauseScreen
	 */
	PauseScreen kPauseScreen;

public:

	/*
	 * Mediator
	 */
	Mediator();

	/*
	 * Run
	 */
	ErrorCode Run();

	/*
	 * OnMessage
	 */
	virtual int32 OnMessage(Window* pInstance, uint32 nMessage, WPARAM wParam, LPARAM lParam);

private:

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

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

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

	/*
	 * Render
	 */
	void Render();

	/*
	 * ProcessMessages
	 */
	virtual void ProcessMessages();
};

#endif //__MEDIATOR_H__