From 99cd961d449afe7b295ad726d1b60a57985d5737 Mon Sep 17 00:00:00 2001 From: Emil Kabirov Date: Thu, 18 Oct 2018 13:24:17 +0500 Subject: [PATCH] master --- assets/back_btn.png | Bin 6746 -> 0 bytes assets/gui_game_pause_menu.json | 53 +++++++++++++++++ assets/slide_up_btn.png | Bin 9664 -> 0 bytes assets/tap_to_continue_btn.png | Bin 6909 -> 0 bytes assets/ui/back_btn.png | Bin 6746 -> 16109 bytes assets/ui/slide_up_btn.png | Bin 0 -> 9651 bytes assets/ui/tap_to_continue_btn.png | Bin 0 -> 8428 bytes game/gamecode.cpp | 96 +++++++++++++----------------- game/main_code.cpp | 81 +++++++++++++++++++++---- 9 files changed, 167 insertions(+), 63 deletions(-) delete mode 100755 assets/back_btn.png create mode 100755 assets/gui_game_pause_menu.json delete mode 100755 assets/slide_up_btn.png delete mode 100755 assets/tap_to_continue_btn.png create mode 100755 assets/ui/slide_up_btn.png create mode 100755 assets/ui/tap_to_continue_btn.png diff --git a/assets/back_btn.png b/assets/back_btn.png deleted file mode 100755 index 4176c8b200a15f51e0a2598817a555724de2aa31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6746 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 Q!Q2I48hYwgsutn@1EFJALI3~& diff --git a/assets/gui_game_pause_menu.json b/assets/gui_game_pause_menu.json new file mode 100755 index 0000000..4da31b2 --- /dev/null +++ b/assets/gui_game_pause_menu.json @@ -0,0 +1,53 @@ +{ + "widgets": [ + { + "type": "FrameLayout", + "name": "gameFrame", + "background": "#00000000", + "width": "match_parent", + "height": "match_parent", + "visible": 1, + "touchTransparency": 0, + "marginTop": 20, + "horizontalAlignment": "HA_CENTER", + "verticalAlignment": "VA_TOP", + "children" : [ + { + "type": "Button", + "name": "pauseButton", + "width": 128, + "height": 64, + "background": "back_btn.png" + }] + }, + { + "type": "VerticalLinearLayout", + "name": "buttonList", + "background": "#00000000", + "width": "match_parent", + "height": "match_parent", + "touchTransparency": 0, + "visible": 0, + "zLevel": 10, + "marginTop" : 20, + "marginBottom" : 20, + "marginLeft" : 20, + "marginRight" : 20, + "itemSpacing": 20, + "children" : [ + { + "type": "Button", + "name": "exitButton", + "width": 128, + "height": 128, + "background": "slide_up_btn.png" + }, + { + "type": "Button", + "name": "resumeButton", + "width": 128, + "height": 128, + "background": "tap_to_continue_btn.png" + }] + }] +} \ No newline at end of file diff --git a/assets/slide_up_btn.png b/assets/slide_up_btn.png deleted file mode 100755 index fb26969bafa72a0cc244049815c25c57e5756c6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9664 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 literal 6746 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 Q!Q2I48hYwgsutn@1EFJALI3~& diff --git a/assets/ui/slide_up_btn.png b/assets/ui/slide_up_btn.png new file mode 100755 index 0000000000000000000000000000000000000000..1de7b759024c12ed86bf4957daf91f3a2c578634 GIT binary patch literal 9651 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 HmZARx9!On- literal 0 HcmV?d00001 diff --git a/game/gamecode.cpp b/game/gamecode.cpp index dc4734c..9b27cc1 100755 --- a/game/gamecode.cpp +++ b/game/gamecode.cpp @@ -911,10 +911,10 @@ void TGameLevel::InnerDraw(int screenWidth, int screenHeight, int matrixWidth, i //Renderer->TranslateMatrix(-Vector3f(matrixWidth * 0.5f, matrixHeight * 0.5f, 0)); DrawBuffer(); - if (mustShowButtons) - { - DrawPauseButtons(); - } + //if (mustShowButtons) + //{ + // DrawPauseButtons(); + //} //Renderer->PopMatrix(); CheckGlError(); @@ -1079,12 +1079,12 @@ void TGameLevel::InnerDraw(int screenWidth, int screenHeight, int matrixWidth, i if (!pause && LevelState != CONST_LEVELSTATE_SNAPSHOTTING) { - RenderUniform1f("Transparency", 1.f); - glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[CONST_BACK_BTN_TEXTURE]); - const Vector2f BackBtnPos(screenWidth*0.5f, Application->GetGameLevelScreenHeight() - 52.f*(Application->GetGameLevelScreenHeight()/320.f)); - const float const_backBtnWidth = CONST_BACK_BTN_WIDTH * Application->GetGameLevelScreenWidth()/480.f; - const float const_backBtnHeight = CONST_BACK_BTN_HEIGHT * Application->GetGameLevelScreenHeight()/320.f; - Renderer->DrawRect(Vector2f(-const_backBtnWidth*0.5f, -const_backBtnHeight*0.5f)+BackBtnPos, Vector2f(const_backBtnWidth*0.5f, const_backBtnHeight*0.5f)+BackBtnPos); + // RenderUniform1f("Transparency", 1.f); + // glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[CONST_BACK_BTN_TEXTURE]); + // const Vector2f BackBtnPos(screenWidth*0.5f, Application->GetGameLevelScreenHeight() - 52.f*(Application->GetGameLevelScreenHeight()/320.f)); + //const float const_backBtnWidth = CONST_BACK_BTN_WIDTH * Application->GetGameLevelScreenWidth()/480.f; + //const float const_backBtnHeight = CONST_BACK_BTN_HEIGHT * Application->GetGameLevelScreenHeight()/320.f; + // Renderer->DrawRect(Vector2f(-const_backBtnWidth*0.5f, -const_backBtnHeight*0.5f)+BackBtnPos, Vector2f(const_backBtnWidth*0.5f, const_backBtnHeight*0.5f)+BackBtnPos); } drawOutline(screenWidth, screenHeight); @@ -1104,10 +1104,10 @@ void TGameLevel::InnerDraw(int screenWidth, int screenHeight, int matrixWidth, i Renderer->ScaleMatrix(OutScale); Renderer->TranslateMatrix(-Vector3f(matrixWidth * 0.5f, matrixHeight * 0.5f, 0)); DrawBuffer(); - if (mustShowButtons) - { - DrawPauseButtons(); - } + //if (mustShowButtons) + //{ + // DrawPauseButtons(); + //} Renderer->PopMatrix(); RenderBufferReady = true; CheckGlError(); @@ -1200,6 +1200,10 @@ void TGameLevel::DrawBuffer() void TGameLevel::SetPause() { + if (LevelState == CONST_LEVELSTATE_STANDBY) + { + PrevLevelStateIsStandby = true; + } OutScaleVelocity = 0.f; OutScale = 1.f; @@ -1254,7 +1258,7 @@ void TGameLevel::Update(size_t dt) if (LevelState == CONST_LEVELSTATE_PAUSE) { OutScale += OutScaleVelocity * dt; - TryGoToMenu(); + //TryGoToMenu(); CheckGlError(); return; } @@ -1825,37 +1829,20 @@ void TGameLevel::OnTapDown(Vector2f pos) if (LevelState == CONST_LEVELSTATE_STANDBY) { - if (TapInBackBtnArea({ xPos, yPos })) - { - SetPause(); - PrevLevelStateIsStandby = true; - } - else - { - - LevelState = CONST_LEVELSTATE_PLAYING; - BallList.begin()->Go(); - } + LevelState = CONST_LEVELSTATE_PLAYING; + BallList.begin()->Go(); } else if (LevelState == CONST_LEVELSTATE_PLAYING) { - if (TapInBackBtnArea({ xPos, yPos })) - { - SetPause(); - } - else// if (fabs(ReflectorPos(0) - xPos / Application->GetGameLevelScreenWidth()) > 64.f / Application->GetGameLevelScreenWidth()) - { - ReflectorPos(0) = xPos / Application->GetGameLevelScreenWidth(); - } - - } - else if (LevelState == CONST_LEVELSTATE_PAUSE) - { - if (yPos > 128.f) - { - ReleasePause(); - } + ReflectorPos(0) = xPos / Application->GetGameLevelScreenWidth(); } + //else if (LevelState == CONST_LEVELSTATE_PAUSE) + //{ + // if (yPos > 128.f) + // { + // ReleasePause(); + // } + //} } void TGameLevel::OnTapUp(Vector2f pos) @@ -1886,23 +1873,26 @@ void TGameLevel::OnScroll(Vector2f shift) OutScale += shift(1)/320.f; - TryGoToMenu(); + //TryGoToMenu(); } } void TGameLevel::TryGoToMenu() { - if (OutScale < 0.5f) - { - OutScale = 0.5f; - LevelState = CONST_LEVELSTATE_NODRAW; - Application->GoFromGameToMenu(); - } - if (OutScale > 1.f) - { - OutScale = 1.f; - } + LevelState = CONST_LEVELSTATE_NODRAW; + Application->GoFromGameToMenu(); + + //if (OutScale < 0.5f) + //{ + // OutScale = 0.5f; + // LevelState = CONST_LEVELSTATE_NODRAW; + // Application->GoFromGameToMenu(); + //} + //if (OutScale > 1.f) + //{ + // OutScale = 1.f; + //} } bool TBrick::IsAppear() { diff --git a/game/main_code.cpp b/game/main_code.cpp index 3f4157b..1db39c3 100755 --- a/game/main_code.cpp +++ b/game/main_code.cpp @@ -57,6 +57,11 @@ TMyApplication* Application; int currentStar; int currentLevel; +boost::property_tree::ptree gamePauseMenuUi; +boost::property_tree::ptree galaxyMenuUi; + +bool ignoreTapUp = false; + void TMyApplication::LoadUserProgress() { boost::property_tree::ptree userProgressJson; @@ -143,7 +148,7 @@ void TMyApplication::InnerInit() #ifdef TARGET_WIN32 #ifdef NDEBUG ST::PathToResources = "resources/"; - //ST::PathToResources = "../../../assets/"; + ST::PathToResources = "../../../assets/"; #else ST::PathToResources = "../../../assets/"; #endif @@ -203,6 +208,10 @@ void TMyApplication::InnerInit() EffectsInit(); // ------- UI ------- + + boost::property_tree::json_parser::read_json(ST::PathToResources + "gui_game_pause_menu.json", gamePauseMenuUi); + boost::property_tree::json_parser::read_json(ST::PathToResources + "gui_main_menu.json", galaxyMenuUi); + ResourceManager->FontManager.AddFont("arial32", "arial32.png", "arial32.txt"); ResourceManager->FontManager.AddFont("lucon12", "lucon12.png", "lucon12.txt"); ResourceManager->FontManager.PushFont("lucon12"); @@ -253,11 +262,21 @@ void TMyApplication::InnerDeinit() void TMyApplication::InnerOnTapUp(Vector2f p) { + if (ignoreTapUp) + { + return; + } + OnTapUpSignal(Vector2f(p(0), p(1))); } void TMyApplication::InnerOnTapUpAfterMove(Vector2f p) { + if (ignoreTapUp) + { + return; + } + OnTapUpAfterMoveSignal(Vector2f(p(0), p(1))); } @@ -422,9 +441,9 @@ void TMyApplication::LoadResources() TextureNamesToLoad.push_back(std::pair(CONST_WALL_UP_TEXTURE + ".png", CONST_WALL_UP_TEXTURE)); TextureNamesToLoad.push_back(std::pair(CONST_WALL_BONUS_TEXTURE + ".png", CONST_WALL_BONUS_TEXTURE)); TextureNamesToLoad.push_back(std::pair(CONST_REFLECTOR_TEXTURE + ".png", CONST_REFLECTOR_TEXTURE)); - TextureNamesToLoad.push_back(std::pair(CONST_BACK_BTN_TEXTURE + ".png", CONST_BACK_BTN_TEXTURE)); - TextureNamesToLoad.push_back(std::pair(CONST_SLIDE_UP_BTN_TEXTURE + ".png", CONST_SLIDE_UP_BTN_TEXTURE)); - TextureNamesToLoad.push_back(std::pair(CONST_TAP_TO_CONTINUE_BTN_TEXTURE + ".png", CONST_TAP_TO_CONTINUE_BTN_TEXTURE)); + //TextureNamesToLoad.push_back(std::pair(CONST_BACK_BTN_TEXTURE + ".png", CONST_BACK_BTN_TEXTURE)); + //TextureNamesToLoad.push_back(std::pair(CONST_SLIDE_UP_BTN_TEXTURE + ".png", CONST_SLIDE_UP_BTN_TEXTURE)); + //TextureNamesToLoad.push_back(std::pair(CONST_TAP_TO_CONTINUE_BTN_TEXTURE + ".png", CONST_TAP_TO_CONTINUE_BTN_TEXTURE)); TextureNamesToLoad.push_back(std::pair(CONST_CREDITS_TEXTURE + ".png", CONST_CREDITS_TEXTURE)); #ifdef TARGET_IOS @@ -577,6 +596,36 @@ void TMyApplication::InnerUpdate(size_t dt) //CONNECT SLOT DisapplySignalsToMenu(); ApplySignalsToGame(); + + ResourceManager->newGuiManager.LoadFromConfig(gamePauseMenuUi); + + auto pauseButton = (Button*)ResourceManager->newGuiManager.findWidgetByName("pauseButton").get(); + auto resumeButton = (Button*)ResourceManager->newGuiManager.findWidgetByName("resumeButton").get(); + auto exitButton = (Button*)ResourceManager->newGuiManager.findWidgetByName("exitButton").get(); + auto gameFrame = (WidgetAncestor*)ResourceManager->newGuiManager.findWidgetByName("gameFrame").get(); + auto pauseBackground = (WidgetAncestor*)ResourceManager->newGuiManager.findWidgetByName("buttonList").get(); + + pauseButton->onMouseDownSignal.connect([this, gameFrame, pauseBackground](Vector2f, int) { + GameLevel->SetPause(); + + gameFrame->setVisibility(false); + pauseBackground->setVisibility(true); + }); + + resumeButton->onMouseDownSignal.connect([this, gameFrame, pauseBackground](Vector2f, int) { + GameLevel->ReleasePause(); + + gameFrame->setVisibility(true); + pauseBackground->setVisibility(false); + }); + + pauseBackground->onMoveSignal.connect([this](Vector2f, Vector2f shift, int) { + SE::GetConsole() << shift.norm(); + if (shift.norm() > 15) + { + GameLevel->TryGoToMenu(); + } + }); } } else if (GameState == CONST_GAMESTATE_FROM_MENU_TO_CREDITS) @@ -616,7 +665,7 @@ void TMyApplication::InnerUpdate(size_t dt) void TMyApplication::LoadGalaxyUi() { ResourceManager->newGuiManager.Clear(); - ResourceManager->newGuiManager.LoadFromConfig("gui_main_menu.json"); + ResourceManager->newGuiManager.LoadFromConfig(galaxyMenuUi); std::shared_ptr modal_background = ResourceManager->newGuiManager.findWidgetByName("modal_background"); @@ -756,11 +805,21 @@ void TMyApplication::GoFromGameToMenu() //#ifndef TARGET_IOS // ResourceManager->SoundManager.StopMusic("level1ogg.ogg"); //#endif - TrySaveGame(); - DisapplySignalsToGame(); - ApplySignalsToMenu(); - GameState = CONST_GAMESTATE_MENU; - OnDrawSignal.disconnect(boost::bind(&TGameLevel::Draw, boost::ref(GameLevel))); + + PerformInMainThreadAsync([this]() { + TrySaveGame(); + DisapplySignalsToGame(); + + ignoreTapUp = true; + + LoadGalaxyUi(); + + Menu.GalaxMenu.UpdateGalaxyMenu(Renderer->GetMatrixWidth(), Renderer->GetMatrixHeight(), 0); + + ApplySignalsToMenu(); + GameState = CONST_GAMESTATE_MENU; + OnDrawSignal.disconnect(boost::bind(&TGameLevel::Draw, boost::ref(GameLevel))); + }); } void TMyApplication::GoFromMenuToCredits() @@ -835,6 +894,8 @@ float TMyApplication::GetGameLevelScreenHeight() void TMyApplication::InnerOnMouseDown(TMouseState& mouseState) { + ignoreTapUp = false; + OnTapDownSignal(Vector2f(mouseState.X, ((Renderer->GetScreenHeight()) - mouseState.Y))); // Temp mouse down action for WIN32 }