cs381/as6/scene/StartMenuScene.cpp

34 lines
850 B
C++

#include "scene/StartMenuScene.hpp"
#include "EnergyBarRaygui.hpp"
#include "scene/GameplayScene.hpp"
#include "scene/SceneManager.hpp"
#include "raylib.h"
void StartMenuScene::Enter() { ::SetMasterVolume(isMuted ? 0.0f : 1.0f); }
void StartMenuScene::Update(float) {
if (IsKeyPressed(KEY_M)) {
isMuted = !isMuted;
::SetMasterVolume(isMuted ? 0.0f : 1.0f);
}
if (IsKeyPressed(KEY_ENTER)) {
manager.QueueSceneChange<GameplayScene>(isMuted);
}
}
void StartMenuScene::Draw() {
DrawMainMenu();
if (DrawMuteButton(isMuted)) {
isMuted = !isMuted;
::SetMasterVolume(isMuted ? 0.0f : 1.0f);
}
if (GuiButton((Rectangle){WINDOW_WIDTH / 2 - 150, WINDOW_HEIGHT / 2 + 80, 300, 20}, "Start Game")) {
manager.QueueSceneChange<GameplayScene>(isMuted);
}
Scene::Draw();
}