GameManager::GameManager() : _activeRenderingInstance(NULL) { // disable escape key for quitting viewer // we use an own escape implementation _viewer.setKeyEventSetsDone(0); // configure viewer to use the primary screen only _viewer.setUpViewOnSingleScreen(0); // avoids segfaults when updating the HUD _viewer.setThreadingModel(osgViewer::Viewer::SingleThreaded); // set background color _viewer.getCamera()->setClearColor(osg::Vec4( 0., 0., 0., 1. )); // window view for testing purpose, uncomment if needed // push with fullscreen ONLY!!! // _viewer.setUpViewInWindow(40, 40, 800, 600, 0); addRenderingInstance("game", new Game(&_viewer)); buildMenus(); selectRenderingInstance("main_menu"); _keyboardHandler = new GameManagerKeyboardHandler(this); _viewer.addEventHandler(_keyboardHandler); }
GameManager::GameManager() : _activeRenderingInstance(NULL) { // configure viewer to use the primary screen only _viewer.setUpViewOnSingleScreen(0); // avoids segfaults when updating the HUD _viewer.setThreadingModel(osgViewer::Viewer::SingleThreaded); // set background color _viewer.getCamera()->setClearColor(osg::Vec4( 0., 0., 0., 1. )); buildMenus(); addRenderingInstance("game", new Game(&_viewer)); selectRenderingInstance("main_menu"); }
void GameManager::roadSelectMenu() { selectRenderingInstance("road_select_menu"); }
void GameManager::runLevel(const std::string &mapFile) { selectRenderingInstance("game"); ((Game *)_renderingInstances["game"])->runLevel(mapFile); }
void GameManager::startGame() { selectRenderingInstance("game"); }