pokemon_shiny.c 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #include <gui/modules/submenu.h>
  2. #include <src/include/pokemon_app.h>
  3. #include <src/include/pokemon_attribute.h>
  4. #include <src/scenes/include/pokemon_scene.h>
  5. static void select_shiny_selected_callback(void* context, uint32_t index) {
  6. PokemonFap* pokemon_fap = (PokemonFap*)context;
  7. pokemon_set_shiny(pokemon_fap->pdata, (bool)index);
  8. view_dispatcher_send_custom_event(pokemon_fap->view_dispatcher, PokemonSceneBack);
  9. }
  10. void pokemon_scene_select_shiny_on_enter(void* context) {
  11. PokemonFap* pokemon_fap = (PokemonFap*)context;
  12. submenu_reset(pokemon_fap->submenu);
  13. submenu_add_item(
  14. pokemon_fap->submenu, "Shiny", 1, select_shiny_selected_callback, pokemon_fap);
  15. submenu_add_item(
  16. pokemon_fap->submenu, "Not Shiny", 0, select_shiny_selected_callback, pokemon_fap);
  17. }
  18. bool pokemon_scene_select_shiny_on_event(void* context, SceneManagerEvent event) {
  19. furi_assert(context);
  20. PokemonFap* pokemon_fap = context;
  21. bool consumed = false;
  22. if(event.type == SceneManagerEventTypeCustom && event.event & PokemonSceneBack) {
  23. scene_manager_previous_scene(pokemon_fap->scene_manager);
  24. consumed = true;
  25. }
  26. return consumed;
  27. }
  28. void pokemon_scene_select_shiny_on_exit(void* context) {
  29. UNUSED(context);
  30. }