9#include "hellfire/assets/AssetManager.h"
10#include "hellfire/assets/AssetRegistry.h"
11#include "hellfire/graphics/renderer/Renderer.h"
12#include "hellfire/scene/SceneManager.h"
28 explicit Project(
const std::string &name);
50 const std::string &
get_name()
const {
return metadata_.name; }
51 const std::string &
get_version()
const {
return metadata_.version; }
void import_all_pending()
Import all unprocessed assets in registry.
Registry for storing assets.
const std::string & get_name() const
std::unique_ptr< AssetManager > asset_manager_
const ProjectMetadata & get_metadata() const
ProjectMetadata & get_metadata()
std::filesystem::path get_assets_path() const
std::filesystem::path get_settings_path() const
AssetRegistry * get_asset_registry() const
std::unique_ptr< SceneManager > scene_manager_
std::vector< std::filesystem::path > recent_scenes_
void initialize_default_assets()
static std::unique_ptr< Project > create(const std::string &name, const std::filesystem::path &location)
const std::string & get_version() const
static std::unique_ptr< Project > load_data(const std::filesystem::path &project_file)
std::unique_ptr< Renderer > scene_renderer_
std::unique_ptr< AssetRegistry > asset_registry_
Project(const ProjectMetadata &metadata)
SceneManager * get_scene_manager() const
ProjectMetadata metadata_
void create_directory_structure() const
std::filesystem::path project_root_path_
std::filesystem::path project_file_path_
Project(const std::string &name)
void initialize_managers()
std::filesystem::path get_scenes_path() const
std::filesystem::path get_project_root() const
static std::string get_current_timestamp()