#include #include #include "Runner.hpp" #include #include "Component/Music/MusicComponent.hpp" #include "Component/Sound/SoundComponent.hpp" #include "Component/Controllable/ControllableComponent.hpp" #include "Component/Position/PositionComponent.hpp" #include "Component/Keyboard/KeyboardComponent.hpp" #include "Component/Renderer/Drawable2DComponent.hpp" #include "Component/Button/ButtonComponent.hpp" #include "Drawables/2D/Text.hpp" namespace RAY2D = RAY::Drawables::Drawables2D; namespace BBM { std::shared_ptr Runner::loadTitleScreenScene() { static const std::map sounds = { {SoundComponent::JUMP, "assets/sounds/click.ogg"} }; auto scene = std::make_shared(); addMenuControl(*scene); scene->addEntity("control") .addComponent(sounds) .addComponent("assets/musics/music_title.ogg"); scene->addEntity("background") .addComponent() .addComponent("assets/plain_menu_background.png"); scene->addEntity("logo") .addComponent(320, 180, 0) .addComponent("assets/logo_big.png"); scene->addEntity("text_prompt") .addComponent(1920 / 2.5, 1080 - 130, 0) .addComponent("Press space", 70, RAY::Vector2(), BLACK) .addComponent() .addComponent() .addComponent([](WAL::Entity &entity, WAL::Wal &) { gameState.nextScene = BBM::GameState::SceneID::MainMenuScene; }); return scene; } }