Skip to content
Snippets Groups Projects
Commit 00bcae2d authored by Joseph Walton-Rivers's avatar Joseph Walton-Rivers
Browse files

small code reordering for demo

parent 3871eaed
No related branches found
No related tags found
Loading
...@@ -41,18 +41,39 @@ ...@@ -41,18 +41,39 @@
#include "GameScene.h" #include "GameScene.h"
#include "rollball.hpp" #include "rollball.hpp"
static void setup_menu(fggl::App& app) {
auto *menu = app.add_state<fggl::scenes::BasicMenu>("menu");
// add some menu items for the game states
menu->add("terrain", [&app]() {
auto* audio = app.service<fggl::audio::AudioService>();
audio->play("click.ogg", false);
app.change_state("game");
});
menu->add("rollball", [&app]() {
auto* audio = app.service<fggl::audio::AudioService>();
audio->play("click.ogg", false);
app.change_state("rollball");
});
menu->add("quit", [&app]() {
auto* audio = app.service<fggl::audio::AudioService>();
audio->play("click.ogg", false);
app.running(false);
});
}
int main(int argc, const char* argv[]) { int main(int argc, const char* argv[]) {
// DAG initialisation test // DAG initialisation test
fggl::modules::Manager moduleManager; fggl::modules::Manager moduleManager;
moduleManager.use<fggl::input::Generic>(); moduleManager.use<fggl::input::Generic>();
moduleManager.use<fggl::data::LocalStorage>(); moduleManager.use<fggl::data::LocalStorage>();
moduleManager.use<fggl::audio::NullAudio>();
moduleManager.use<fggl::gui::FreeType>(); moduleManager.use<fggl::gui::FreeType>();
moduleManager.use<fggl::audio::OpenAL>();
moduleManager.use<fggl::gfx::OpenGL4>(); moduleManager.use<fggl::gfx::OpenGL4>();
moduleManager.use<fggl::display::GLFW>(); moduleManager.use<fggl::display::GLFW>();
moduleManager.resolve(); moduleManager.resolve();
// create the application // create the application
...@@ -73,27 +94,8 @@ int main(int argc, const char* argv[]) { ...@@ -73,27 +94,8 @@ int main(int argc, const char* argv[]) {
app.use<FGGL_MODULE_BULLET>(); app.use<FGGL_MODULE_BULLET>();
#endif #endif
// Add a basic main menu // our test states
auto *menu = app.add_state<fggl::scenes::BasicMenu>("menu"); setup_menu(app);
// add some menu items for the game states
auto* audio = app.service<fggl::audio::AudioService>();
menu->add("terrain", [&app, &audio]() {
audio->play("click.ogg", false);
app.change_state("game");
});
menu->add("rollball", [&app, &audio]() {
audio->play("click.ogg", false);
app.change_state("rollball");
});
menu->add("quit", [&app, &audio]() {
audio->play("click.ogg", false);
app.running(false);
});
// the game states themselves
app.add_state<GameScene>("game"); app.add_state<GameScene>("game");
app.add_state<demo::RollBall>("rollball"); app.add_state<demo::RollBall>("rollball");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment