scene.h 582 B

1234567891011121314151617181920212223242526
  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*, Object*);
  8. typedef bool (*Scene_func_add_sprite)(struct Scene*, 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;
  18. void free_Scene(struct Scene* self);
  19. Scene* new_Scene(const char* name);
  20. Scene* current_Scene();
  21. #endif