diff LightClone/Source/Mediator.h @ 0:7e3a0ae9c016

Initial commit
author koryspansel <koryspansel@bendbroadband.com>
date Wed, 07 Sep 2011 12:36:37 -0700
parents
children 968341ab1fb2
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/LightClone/Source/Mediator.h	Wed Sep 07 12:36:37 2011 -0700
@@ -0,0 +1,91 @@
+/*
+ * Mediator
+ */
+
+#ifndef __MEDIATOR_H__
+#define __MEDIATOR_H__
+
+#include "Core.h"
+#include "Clock.h"
+#include "Model.h"
+#include "View.h"
+#include "Controller.h"
+
+/*
+ * MediatorState
+ */
+enum
+{
+	MediatorState_Initialize,
+	MediatorState_Splash,
+	MediatorState_Game,
+	MediatorState_Complete,
+	MediatorState_Exit,
+};
+
+/*
+ * Mediator
+ */
+class Mediator
+{
+	/*
+	 * kClock
+	 */
+	Clock kClock;
+
+	/*
+	 * pModel
+	 */
+	Model* pModel;
+
+	/*
+	 * pView
+	 */
+	View* pView;
+
+	/*
+	 * pController
+	 */
+	Controller* pController;
+
+public:
+
+	/*
+	 * Mediator
+	 */
+	Mediator();
+
+	/*
+	 * Run
+	 */
+	ErrorCode Run();
+
+protected:
+
+	/*
+	 * Initialize
+	 */
+	virtual ErrorCode Initialize();
+
+	/*
+	 * Terminate
+	 */
+	virtual void Terminate();
+
+	/*
+	 * Update
+	 */
+	void Update(float fElapsed);
+
+	/*
+	 * Render
+	 */
+	void Render();
+
+	/*
+	 * ProcessMessages
+	 */
+	virtual void ProcessMessages();
+};
+
+#endif //__MEDIATOR_H__