Mercurial > LightClone
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__