sandbox
Loading...
Searching...
No Matches
sbx::assets::assets_module Class Reference
Inheritance diagram for sbx::assets::assets_module:
sbx::core::module< assets_module > sbx::utility::noncopyable

Public Member Functions

auto update () -> void override
 
auto asset_root () const -> const std::filesystem::path &
 
auto set_asset_root (const std::filesystem::path &root) -> void
 
auto resolve_path (const std::filesystem::path &path) -> std::filesystem::path
 
template<typename Function , typename... Args>
requires (std::is_invocable_v<Function, Args...>)
auto submit (Function &&function, Args &&... args) -> std::future< std::invoke_result_t< Function, Args... > >
 
template<utility::string_literal Type, typename... Args>
auto load_asset (const std::filesystem::path &path, Args &&... args) -> asset_handle< Type >
 
template<typename Type , std::invocable< void > Save, std::invocable< void > Load>
auto register_asset (const std::string &name, Save &&save, Load &&load) -> void
 
auto asset_io (const std::uint32_t id) -> asset_io &
 
auto has_asset_io (const std::uint32_t id) -> bool
 
template<typename Type , typename... Args>
auto add_asset (Args &&... args) -> math::uuid
 
template<typename Type >
auto add_asset (std::unique_ptr< Type > &&asset) -> math::uuid
 
template<typename Type >
auto get_asset (const math::uuid &id) const -> const Type &
 
template<typename Type >
auto get_asset (const math::uuid &id) -> Type &
 
- Public Member Functions inherited from sbx::utility::noncopyable
 noncopyable (const noncopyable &)=delete
 
 noncopyable (noncopyable &&) noexcept=default
 
auto operator= (const noncopyable &) -> noncopyable &=delete
 
auto operator= (noncopyable &&) noexcept -> noncopyable &=default
 

Additional Inherited Members

- Protected Types inherited from sbx::core::module< assets_module >
using base_type = module_manager::module_base
 
using dependencies = module_manager::dependencies< Dependencies... >
 
using stage = module_manager::stage
 
- Static Protected Member Functions inherited from sbx::core::module< assets_module >
static auto register_module (stage stage, dependencies< Dependencies... > &&dependencies={}) -> bool
 

The documentation for this class was generated from the following file: