////////////////////////////////////////////////////////////////////////////// // // Globals // ////////////////////////////////////////////////////////////////////////////// TRef GetEngine(); TRef GetModeler(); TRef GetWindow(); ////////////////////////////////////////////////////////////////////////////// // // GameScene // ////////////////////////////////////////////////////////////////////////////// class GameScene : public IObject { public: virtual void InitScene() = 0; virtual TRef GetSceneImage() = 0; virtual void UpdateScene(Time time, float dtime) = 0; virtual void TermScene() = 0; }; ////////////////////////////////////////////////////////////////////////////// // // GameContext // ////////////////////////////////////////////////////////////////////////////// class GameContext : public IObject { public: // creation static TRef Create(); // incoming calls from app virtual void Initialize() = 0; virtual TRef GetImage() = 0; virtual void Update(Time time, float dtime) = 0; virtual void Terminate() = 0; // scene control virtual void SwitchToScene(GameScene* pscene) = 0; };