7#include "hellfire/assets/AssetManager.h"
8#include "hellfire/scene/Scene.h"
12
13
static constexpr hellfire::EntityID INVALID_ENTITY
Registry for storing assets.
std::filesystem::path get_absolute_path(AssetID uuid)
Creates scene entities from an ImportResult.
EntityID instantiate(Scene &scene, const ImportResult &model, EntityID parent=INVALID_ENTITY)
AssetRegistry & registry_
ModelInstantiator(AssetManager &assets, AssetRegistry ®istry)
EntityID instantiate(Scene &scene, const std::filesystem::path &hfmodel_path, EntityID parent=INVALID_ENTITY)
EntityID instantiate(Scene &scene, AssetID model_asset_id, EntityID parent=INVALID_ENTITY)
void attach_mesh_components(Entity *entity, const ImportedMesh &mesh_ref)
EntityID instantiate_node(Scene &scene, const ImportResult &model, size_t node_index, EntityID parent)
Serializes the ImportResult to a .hfmodel file.
static std::optional< ImportResult > load(const std::filesystem::path &filepath)
Manages a collection of entities and their hierarchical relationships.
void set_parent(EntityID child_id, EntityID parent_id)
Sets the parent of an entity.
Entity * get_entity(EntityID id)
Retrieves an entity by its ID.
constexpr AssetID INVALID_ASSET_ID
Complete result of importing a model file.
Represents an imported mesh with its material binding.