121 lines
1.8 KiB
C
121 lines
1.8 KiB
C
|
#pragma once
|
||
|
|
||
|
typedef struct asset_mgr {
|
||
|
struct {
|
||
|
hash_t hash;
|
||
|
size_t count;
|
||
|
mesh_t data[MAX_MESH_COUNT];
|
||
|
} meshes;
|
||
|
|
||
|
struct {
|
||
|
hash_t hash;
|
||
|
size_t count;
|
||
|
material_t data[MAX_MATERIAL_COUNT];
|
||
|
} materials;
|
||
|
|
||
|
struct {
|
||
|
size_t count;
|
||
|
transform_t data[MAX_TRANSFORM_COUNT];
|
||
|
} transforms;
|
||
|
|
||
|
struct {
|
||
|
hash_t hash;
|
||
|
size_t count;
|
||
|
camera_t data[MAX_CAMERA_COUNT];
|
||
|
} cameras;
|
||
|
|
||
|
struct {
|
||
|
size_t count;
|
||
|
renderable_t data[MAX_RENDERABLE_COUNT];
|
||
|
} renderables;
|
||
|
|
||
|
struct {
|
||
|
size_t count;
|
||
|
box_collider_t data[MAX_COLLIDER_COUNT];
|
||
|
} colliders;
|
||
|
|
||
|
struct {
|
||
|
size_t count;
|
||
|
point_light_t data[MAX_LIGHT_COUNT];
|
||
|
} lights;
|
||
|
|
||
|
struct {
|
||
|
hash_t hash;
|
||
|
size_t count;
|
||
|
sound_t data[MAX_SOUND_COUNT];
|
||
|
} sounds;
|
||
|
|
||
|
struct {
|
||
|
hash_t hash;
|
||
|
size_t count;
|
||
|
audio_source_t data[MAX_SOUND_COUNT];
|
||
|
} audio_sources;
|
||
|
} asset_mgr_t;
|
||
|
|
||
|
void
|
||
|
asset_mgr_startup(void);
|
||
|
|
||
|
void
|
||
|
insert_mesh(mesh_t mesh);
|
||
|
|
||
|
void
|
||
|
insert_material(material_t material);
|
||
|
|
||
|
void
|
||
|
insert_sound(sound_t sound);
|
||
|
|
||
|
void
|
||
|
insert_audio_source(audio_source_t source);
|
||
|
|
||
|
void
|
||
|
insert_transform(transform_t transform);
|
||
|
|
||
|
void
|
||
|
insert_camera(camera_t camera);
|
||
|
|
||
|
void
|
||
|
insert_renderable(renderable_t renderable);
|
||
|
|
||
|
void
|
||
|
insert_collider(box_collider_t collider);
|
||
|
|
||
|
void
|
||
|
insert_light(point_light_t light);
|
||
|
|
||
|
handle_t
|
||
|
get_mesh_handle(const char* name);
|
||
|
|
||
|
mesh_t*
|
||
|
get_mesh(handle_t handle);
|
||
|
|
||
|
handle_t
|
||
|
get_material_handle(const char* name);
|
||
|
|
||
|
material_t*
|
||
|
get_material(handle_t handle);
|
||
|
|
||
|
handle_t
|
||
|
get_sound_handle(const char* name);
|
||
|
|
||
|
sound_t*
|
||
|
get_sound(handle_t handle);
|
||
|
|
||
|
handle_t
|
||
|
get_audio_source_handle(const char* name);
|
||
|
|
||
|
audio_source_t*
|
||
|
get_audio_source(handle_t handle);
|
||
|
|
||
|
renderable_t*
|
||
|
get_renderable(handle_t handle);
|
||
|
|
||
|
transform_t*
|
||
|
get_transform(handle_t handle);
|
||
|
|
||
|
handle_t
|
||
|
get_camera_handle(const char* name);
|
||
|
|
||
|
camera_t*
|
||
|
get_camera(handle_t handle);
|
||
|
|