evil_portal_scene.h 1.0 KB

12345678910111213141516171819202122232425262728293031
  1. #pragma once
  2. #include <gui/scene_manager.h>
  3. // Generate scene id and total number
  4. #define ADD_SCENE(prefix, name, id) Evil_PortalScene##id,
  5. typedef enum {
  6. #include "evil_portal_scene_config.h"
  7. Evil_PortalSceneNum,
  8. } Evil_PortalScene;
  9. #undef ADD_SCENE
  10. extern const SceneManagerHandlers evil_portal_scene_handlers;
  11. // Generate scene on_enter handlers declaration
  12. #define ADD_SCENE(prefix, name, id) \
  13. void prefix##_scene_##name##_on_enter(void *);
  14. #include "evil_portal_scene_config.h"
  15. #undef ADD_SCENE
  16. // Generate scene on_event handlers declaration
  17. #define ADD_SCENE(prefix, name, id) \
  18. bool prefix##_scene_##name##_on_event(void *context, SceneManagerEvent event);
  19. #include "evil_portal_scene_config.h"
  20. #undef ADD_SCENE
  21. // Generate scene on_exit handlers declaration
  22. #define ADD_SCENE(prefix, name, id) \
  23. void prefix##_scene_##name##_on_exit(void *context);
  24. #include "evil_portal_scene_config.h"
  25. #undef ADD_SCENE