|
static void | addResourceProvider (IResourceProvider *provider) |
|
static IResourceProvider * | getLatestResourceProvider (const std::string &provider) |
|
static IResourceProvider * | getResourceProviderWithResource (const std::string &identifier) |
|
template<typename ResourceType , typename... Params> |
static SharedPointer< ResourceType > | getResource (const std::string &identifier, Params... params) |
|
template<typename ResourceType , typename... Params> |
static void | precacheResource (const std::string &identifier, Params... params) |
|
template<typename ResourceType > |
static SharedPointer< ResourceType > | getCachedResource (const std::string &identifier) |
|
template<typename ResourceType , typename... Params> |
static SharedPointer< ResourceType > | getUniqueResource (const std::string &identifier, Params... params) |
|
template<typename ResourceType , typename... Params> |
static SharedPointer< ResourceType > | getUniqueUncachedResource (const std::string &identifier, Params... params) |
| You might want to use this sparingly as it defeats the entire point of a cached, shared resource system.
|
|
template<typename ResourceType , typename... Params> |
static std::unique_ptr< ResourceType > | getUniqueUncachedPropertyResource (const std::string &identifier, const nlohmann::json &props, Params... params) |
| The only way to make a PropertiesResource without a provider is to make it unique, and not to cache it. More...
|
|
static std::pair< std::string, std::string > | splitResourceIdentifier (const std::string &identifier) |
|
static const std::vector< std::unique_ptr< IResourceProvider > > & | getResourceProviders (const std::string &providerName) |
|
static bool | hasResource (const std::string &identifier) |
|
static void | removeResource (const std::string &identifier) |
| If resource is present in the cache and has a reference count less than or equal to 2, mark it for removal.
|
|
static void | cleanup () |
| Delete all resources marked for removal.
|
|
static void | discardAll () |
| Deletes ALL resources and providers. Should only ever be called once, when the program closes.
|
|
template<typename ResourceType > |
static bool | registerDefaultResource (const std::string &identifier) |
|
template<typename ResourceType > |
static bool | hasDefaultResource () |
|
template<typename ResourceType > |
static SharedPointer< ResourceType > | getDefaultResource () |
|
static void | createDefaultResources () |
|
static auto | getDefaultResourceConstructors () -> std::unordered_map< std::type_index, std::function< void()>> & |
|
static void | logResourceError (const std::string &identifier, const std::string &resourceName) |
| We do a few predeclaration workarounds.
|
|
static std::unordered_map< std::string, std::vector< std::unique_ptr< IResourceProvider > > > | providers |
|
static std::unordered_map< std::string, std::unordered_map< std::string, SharedPointer< Resource > > > | resources |
|
static std::unordered_map< std::type_index, SharedPointer< Resource > > | defaultResources |
|
static std::vector< std::string > | garbageResources |
|
Definition at line 12 of file MaterialFactory.h.