I recently encoded something that you might call a "screen manager."
, , , , ( ). , , - , , ( , .. , ... ..).
, " " , , , ( , , , .. ).
singleton GraphicsSystem, :
GameState gs;
Graphics::System().Init(DOUBLE_BUFFER, 640, 480);
...
while(still_looping) {
...
Graphics::System().RenderGameState(&gs);
}
, , Graphics:: System() singleton , ? , , ...
class BaseRenderer
{
public:
virtual void Render(BITMAP *render_surface) = 0;
};
class GameState : public BaseRenderer
{
public:
void Render(BITMAP *render_surface);
...
... (, , ).
? , ++, , 1 . , . , ( C ).
. . , .
, , , .