22 lines
735 B
C
22 lines
735 B
C
#ifndef OBJECT_STORE_H
|
|
#define OBJECT_STORE_H
|
|
|
|
#include "Renderer.h"
|
|
#include "SDL_events.h"
|
|
|
|
typedef void (*EventHandlerPtr)(const SDL_Event *event, void *object);
|
|
typedef void (*UpdateFuncPtr)(float delta, void *object);
|
|
typedef void (*RenderFuncPtr)(Renderer *renderer, void *object);
|
|
|
|
typedef struct object_store ObjectStore;
|
|
|
|
void add_object_to_store(ObjectStore *os, const char *object_tag,
|
|
EventHandlerPtr eh, UpdateFuncPtr uf,
|
|
RenderFuncPtr rf);
|
|
void handle_all_object_events(ObjectStore *os);
|
|
void update_all_objects(ObjectStore *os);
|
|
void render_all_objects(ObjectStore *os);
|
|
void remove_object_from_store(ObjectStore *os, const char *object_tag);
|
|
|
|
#endif // !OBJECT_STORE_H
|