void ConsoleCommands::registerCommands(Console& console, AppService& appService, Menu& menu, GameSettings& gameSettings) { SDL_version sdlVersion; std::string verStr = D6_L("version"); // Print application info console.printLine(D6_L("\n===Application information===")); console.printLine(Format("{0} {1}: {2}") << APP_NAME << verStr << APP_VERSION); SDL_GetVersion(&sdlVersion); console.printLine(Format("SDL {0}: {1}.{2}.{3}") << verStr << sdlVersion.major << sdlVersion.minor << sdlVersion.patch); const SDL_version* mixVersion = Mix_Linked_Version(); console.printLine(Format("SDL_mixer {0}: {1}.{2}.{3}") << verStr << mixVersion->major << mixVersion->minor << mixVersion->patch); console.printLine(D6_L("Language: english")); // Set some console functions console.setLast(15); console.registerCommand("switch_render_mode", [&gameSettings](Console& con, const Console::Arguments& args) { toggleRenderMode(con, args, gameSettings); }); console.registerCommand("show_fps", [&gameSettings](Console& con, const Console::Arguments& args) { toggleShowFps(con, args, gameSettings); }); console.registerCommand("gl_info", openGLInfo); console.registerCommand("lang", language); console.registerCommand("volume", [&appService](Console& con, const Console::Arguments& args) { volume(con, args, appService.getSound()); }); console.registerCommand("rounds", [&gameSettings](Console& con, const Console::Arguments& args) { maxRounds(con, args, gameSettings); }); console.registerCommand("ghosts", [&gameSettings](Console& con, const Console::Arguments& args) { ghostMode(con, args, gameSettings); }); console.registerCommand("music", [&menu](Console& con, const Console::Arguments& args) { musicOnOff(con, args, menu); }); console.registerCommand("joy_scan", [&menu](Console& con, const Console::Arguments& args) { joyScan(con, args, menu); }); console.registerCommand("skin", [&menu](Console& con, const Console::Arguments& args) { loadSkin(con, args, menu); }); console.registerCommand("gun", enableWeapon); console.registerCommand("start_ammo_range", [&gameSettings](Console& con, const Console::Arguments& args) { ammoRange(con, args, gameSettings); }); }
// on "init" you need to initialize your instance bool OptionsScene::init() { ////////////////////////////// // 1. super init first if (!Layer::init()) { return false; } Size visibleSize = Director::getInstance()->getVisibleSize(); // Creating Menu auto background = Sprite::create("images/OptionsScreen/fondo.jpg"); background->setPosition(Point((visibleSize.width / 2), (visibleSize.height / 2))); addChild(background, 0); auto backItem = MenuItemImage::create("images/OptionsScreen/volver.jpg", "images/OptionsScreen/volver.jpg", CC_CALLBACK_1(OptionsScene::goToMainMenu, this)); auto resetItem = MenuItemImage::create("images/OptionsScreen/reset.jpg", "images/OptionsScreen/reset.jpg", CC_CALLBACK_1(OptionsScene::reset, this)); auto back = Menu::create(backItem, NULL); auto reset = Menu::create(resetItem, NULL); back->setPositionX(1147); back->setPositionY(654); reset->setPosition(Vec2(197, 85)); addChild(back, 1); addChild(reset, 10); this->easy = Sprite::create("images/OptionsScreen/facil.jpg"); this->easy->setPosition(197, 418); this->addChild(easy, 10); this->medium = Sprite::create("images/OptionsScreen/media.jpg"); this->medium->setPosition(411, 418); this->addChild(medium, 10); this->hard = Sprite::create("images/OptionsScreen/dificil.jpg"); this->hard->setPosition(625, 418); this->addChild(hard, 10); this->music = Sprite::create("images/OptionsScreen/on.jpg"); this->music->setPosition(304, 260); this->addChild(music, 10); switch (Global::_max_time) { case 30: hard->setOpacity(125); medium->setOpacity(125); easy->setOpacity(255); break; case 15: hard->setOpacity(125); medium->setOpacity(255); easy->setOpacity(125); break; case 10: hard->setOpacity(255); medium->setOpacity(125); easy->setOpacity(125); break; default: break; } auto event_listener = EventListenerTouchAllAtOnce::create(); if (!Global::musicPlayed) this->music->setTexture("images/OptionsScreen/off.jpg"); else this->music->setTexture("images/OptionsScreen/on.jpg"); event_listener->onTouchesBegan = [=](const std::vector<Touch*>& pTouches, Event* event) { auto touch = *pTouches.begin(); auto openGl_location = touch->getLocation(); float distance; distance = this->easy->getPosition().getDistance(touch->getLocation()); if (distance < 30) { setDifficult(0); return; } distance = this->medium->getPosition().getDistance(touch->getLocation()); if (distance < 30) { setDifficult(1); return; } distance = this->hard->getPosition().getDistance(touch->getLocation()); if (distance < 30) { setDifficult(2); return; } distance = this->music->getPosition().getDistance(touch->getLocation()); if (distance < 40) { musicOnOff(); return; } }; this->getEventDispatcher()->addEventListenerWithSceneGraphPriority(event_listener, easy); return true; }