mirror of
https://github.com/zoriya/Bomberman.git
synced 2026-06-05 19:04:26 +00:00
Making menues selectable by keyboard or controller
This commit is contained in:
+20
-21
@@ -115,9 +115,8 @@ namespace BBM
|
||||
{SoundComponent::JUMP, "assets/sounds/click.ogg"}
|
||||
};
|
||||
auto scene = std::make_shared<WAL::Scene>();
|
||||
addMenuControl(*scene);
|
||||
scene->addEntity("control")
|
||||
.addComponent<ControllableComponent>()
|
||||
.addComponent<KeyboardComponent>()
|
||||
.addComponent<SoundComponent>(sounds)
|
||||
.addComponent<MusicComponent>("assets/musics/music_title.ogg");
|
||||
scene->addEntity("background")
|
||||
@@ -145,9 +144,8 @@ namespace BBM
|
||||
};
|
||||
auto scene = std::make_shared<WAL::Scene>();
|
||||
|
||||
addMenuControl(*scene);
|
||||
scene->addEntity("Control entity")
|
||||
.addComponent<ControllableComponent>()
|
||||
.addComponent<KeyboardComponent>()
|
||||
.addComponent<MusicComponent>("assets/musics/music_title.ogg")
|
||||
.addComponent<SoundComponent>(sounds);
|
||||
scene->addEntity("background")
|
||||
@@ -246,9 +244,8 @@ namespace BBM
|
||||
};
|
||||
auto scene = std::make_shared<WAL::Scene>();
|
||||
|
||||
addMenuControl(*scene);
|
||||
scene->addEntity("Control entity")
|
||||
.addComponent<ControllableComponent>()
|
||||
.addComponent<KeyboardComponent>()
|
||||
.addComponent<MusicComponent>("assets/musics/music_player_select.ogg")
|
||||
.addComponent<SoundComponent>(sounds);
|
||||
scene->addEntity("background")
|
||||
@@ -328,9 +325,8 @@ namespace BBM
|
||||
};
|
||||
auto scene = std::make_shared<WAL::Scene>();
|
||||
|
||||
addMenuControl(*scene);
|
||||
scene->addEntity("Control entity")
|
||||
.addComponent<ControllableComponent>()
|
||||
.addComponent<KeyboardComponent>()
|
||||
.addComponent<MusicComponent>("assets/musics/music_player_select.ogg")
|
||||
.addComponent<SoundComponent>(sounds);
|
||||
scene->addEntity("background")
|
||||
@@ -410,9 +406,8 @@ namespace BBM
|
||||
{SoundComponent::JUMP, "assets/sounds/click.ogg"}
|
||||
};
|
||||
|
||||
addMenuControl(*scene);
|
||||
scene->addEntity("Control entity")
|
||||
.addComponent<ControllableComponent>()
|
||||
.addComponent<KeyboardComponent>()
|
||||
.addComponent<MusicComponent>("assets/musics/music_title.ogg")
|
||||
.addComponent<SoundComponent>(sounds);
|
||||
scene->addEntity("background")
|
||||
@@ -599,9 +594,6 @@ namespace BBM
|
||||
std::shared_ptr<WAL::Scene> Runner::loadGameScene()
|
||||
{
|
||||
auto scene = std::make_shared<WAL::Scene>();
|
||||
scene->addEntity("control")
|
||||
.addComponent<ControllableComponent>()
|
||||
.addComponent<KeyboardComponent>();
|
||||
std::map<SoundComponent::SoundIndex, std::string> soundPath ={
|
||||
{SoundComponent::JUMP, "assets/sounds/jump.wav"},
|
||||
{SoundComponent::MOVE, "assets/sounds/move.ogg"},
|
||||
@@ -647,14 +639,6 @@ namespace BBM
|
||||
.addComponent<Drawable2DComponent, RAY::Texture>("assets/plain_menu_background.png");
|
||||
|
||||
scene->addEntity("Control entity")
|
||||
/*scene->addEntity("cube")
|
||||
.addComponent<PositionComponent>(5, 0, 5)
|
||||
.addComponent<ShaderComponentDrawable2D>("assets/shaders/glsl330/grayscale.fs")
|
||||
//.addComponent<Drawable3DComponent, RAY3D::Cube>(Vector3f(-5, 0, -5), Vector3f(3, 3, 3), RED)
|
||||
.addComponent<Drawable2DComponent, RAY2D::Rectangle>(BBM::Vector2f{200,200}, BBM::Vector2f{200, 200}, RED)
|
||||
.addComponent<ControllableComponent>()
|
||||
.addComponent<KeyboardComponent>()
|
||||
.addComponent<CollisionComponent>(WAL::Callback<WAL::Entity &, const WAL::Entity &>(), &MapGenerator::wallCollide, 3); */
|
||||
.addComponent<MusicComponent>("assets/musics/music_title.ogg")
|
||||
.addComponent<SoundComponent>(sounds);
|
||||
|
||||
@@ -695,6 +679,21 @@ namespace BBM
|
||||
return scene;
|
||||
}
|
||||
|
||||
void Runner::addMenuControl(WAL::Scene &scene)
|
||||
{
|
||||
scene.addEntity("Keyboard default control")
|
||||
.addComponent<ControllableComponent>()
|
||||
.addComponent<KeyboardComponent>();
|
||||
scene.addEntity("Keyboard second control")
|
||||
.addComponent<ControllableComponent>()
|
||||
.addComponent<KeyboardComponent>(KEY_UP, KEY_DOWN, KEY_LEFT, KEY_RIGHT, KEY_RIGHT_CONTROL, KEY_ENTER, KEY_BACKSPACE);
|
||||
for (int i = 0; i < 4; i++) {
|
||||
scene.addEntity("Gamepad controller")
|
||||
.addComponent<ControllableComponent>()
|
||||
.addComponent<GamepadComponent>(i);
|
||||
}
|
||||
}
|
||||
|
||||
void Runner::loadScenes()
|
||||
{
|
||||
gameState._loadedScenes[GameState::SceneID::MainMenuScene] = loadMainMenuScene();
|
||||
|
||||
Reference in New Issue
Block a user