Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- interface IGameFrame
- {
- void Update();
- void Render();
- void SetUp();
- void OnChangedToOtherFrame(newFrame);
- void OnKeyFirstDown(key, char);
- void OnKeyStillDown(key, duration);
- void OnKeyReleased(key);
- void OnMouseKeyFirstDown(key);
- void OnMouseKeyStillDown(key, duration);
- void OnMouseKeyReleased(key);
- void OnMouseWheel(delta);
- }
- class GameFrameMenu : IGameFrame
- {
- ...
- }
- class GameFrameMain : IGameFrame { ... }
- class GameFrameSettings ....
- ...
- class Engine
- {
- ...
- (public) IGameFrame currentFrame;
- (private) GameFrameMain frameMain;
- (private) GameFrameSettings frameSettings;
- (private) GameFrameXXX frameXXX;
- ...
- void Initialize()
- {
- frameMain = new GameFrameMain();
- ...
- currentFrame = frameMain;
- ...
- }
- void Update()
- {
- /*Handling input - then call currentFrame.On...*/
- ...
- currentFrame.Update();
- ...
- }
- void Render()
- {
- currentFrame.Render();
- ...
- //Overlays? Debug output ....
- }
- ...
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement