25 lines
920 B
C
25 lines
920 B
C
#ifndef ENTITY_MANAGER_H
|
|
#define ENTITY_MANAGER_H
|
|
#include "Resource.h"
|
|
#include "Index.h"
|
|
#include "Entity.h"
|
|
|
|
struct EntityManager {
|
|
struct Resources *sprites; // Sprite Data
|
|
struct Resources *animations; // Animation Data
|
|
struct Resources *entities; // Entity Data
|
|
struct Entity **live_entities; // live entities
|
|
int live_count; // count of live entities
|
|
struct Index index;
|
|
};
|
|
int initEntityManager(struct EntityManager *manager);
|
|
// NOTE: entity manager will generally create/add entities itself
|
|
int addEntity(struct EntityManager *manager, struct Entity *entity);
|
|
struct Entity *getEntity(struct EntityManager *manager, int entity_id);
|
|
|
|
int setEntityAnimation(struct EntityManager *manager, int entity_id, char *name);
|
|
int setEntitySet(struct EntityManager *manager, int entity_id, char *name);
|
|
int setEntityFace(struct EntityManager *manager, int entity_id, char *name);
|
|
|
|
#endif
|