Quellcode durchsuchen

:sparkles: cursor is now only shown in menu

Felix Bytow vor 1 Jahr
Ursprung
Commit
81a6d54957
4 geänderte Dateien mit 18 neuen und 2 gelöschten Zeilen
  1. 6 1
      game/LoadingState.cxx
  2. 2 0
      game/LoadingState.hxx
  3. 8 1
      game/MenuState.cxx
  4. 2 0
      game/MenuState.hxx

+ 6 - 1
game/LoadingState.cxx

@@ -50,4 +50,9 @@ void LoadingState::render(SDLRenderer& renderer)
   SDL_RenderFillRect(renderer, &progress_rect);
 
   SDL_RenderPresent(renderer);
-}
+}
+
+void LoadingState::on_enter(GameStateManager& gsm)
+{
+  SDL_ShowCursor(SDL_DISABLE);
+}

+ 2 - 0
game/LoadingState.hxx

@@ -7,6 +7,8 @@
 
 class LoadingState final : public GameState {
 public:
+  void on_enter(GameStateManager& gsm) override;
+
   void update(GameStateManager& gsm, std::chrono::milliseconds delta_time) override;
 
   void render(SDLRenderer& renderer) override;

+ 8 - 1
game/MenuState.cxx

@@ -35,6 +35,8 @@ void MenuState::on_enter(GameStateManager& gsm)
       gsm.pop_state();
     }
   });
+
+  SDL_ShowCursor(SDL_ENABLE);
 }
 
 void MenuState::on_event(GameStateManager& gsm, SDL_Event const& evt)
@@ -83,7 +85,7 @@ void MenuState::render(SDLRenderer& renderer)
   }
   high_score_button_.move(x, y += BUTTON_HEIGHT+20);
   credits_button_.move(x, y += BUTTON_HEIGHT+20);
-  quit_button_.move(x, y + BUTTON_HEIGHT+20);
+  quit_button_.move(x, y+BUTTON_HEIGHT+20);
 
   SDL_SetRenderDrawColor(renderer, 0, 0, 0, SDL_ALPHA_OPAQUE);
   SDL_RenderClear(renderer);
@@ -103,3 +105,8 @@ void MenuState::render(SDLRenderer& renderer)
 
   SDL_RenderPresent(renderer);
 }
+
+void MenuState::on_leave()
+{
+  SDL_ShowCursor(SDL_DISABLE);
+}

+ 2 - 0
game/MenuState.hxx

@@ -14,6 +14,8 @@ class MenuState final : public GameState {
 public:
   void on_enter(GameStateManager& gsm) override;
 
+  void on_leave() override;
+
   void on_event(GameStateManager& gsm, SDL_Event const& evt) override;
 
   void update(GameStateManager& gsm, std::chrono::milliseconds delta_time) override;