view LightClone/Source/Mediator.h @ 58:5e382dee4c70

Rename CodePanel/CodeSlot to ProgramPanel/ActionSlot
author koryspansel <koryspansel@bendbroadband.com>
date Fri, 30 Sep 2011 22:39:08 -0700
parents d27c06bd8ce1
children 44dcff5abf12
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 "World.h"

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

	/*
	 * kClock
	 */
	Clock kClock;

	/*
	 * pGraphicsDevice
	 */
	GraphicsDevice* pGraphicsDevice;

	/*
	 * kResourceManager
	 */
	ResourceManager kResourceManager;

	/*
	 * kContext
	 */
	RenderContext kContext;

	/*
	 * kInputManager
	 */
	InputManager kInputManager;

	/*
	 * kWorld
	 */
	World kWorld;

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__