scene.h 617 B

123456789101112131415161718192021222324252627
  1. #ifndef SCENE_H_
  2. #define SCENE_H_
  3. #include "vector.h"
  4. #include "sprite.h"
  5. #include "object.h"
  6. typedef void (*Scene_func)(struct Scene*);
  7. typedef bool (*Scene_func_add_object)(struct Scene*, struct Object*);
  8. typedef bool (*Scene_func_add_sprite)(struct Scene*, struct Sprite*);
  9. typedef struct Scene {
  10. char* name;
  11. Vector* objects;
  12. Vector* sprites;
  13. Scene_func_add_object add_object;
  14. Scene_func_add_sprite add_sprite;
  15. Scene_func update;
  16. Scene_func draw;
  17. Scene_func load;
  18. } Scene;
  19. void free_Scene(struct Scene* self);
  20. Scene* new_Scene(const char* name);
  21. Scene* current_Scene();
  22. #endif