12 class ResourcePackage;
28 if (resources.Contains(path))
30 return resources[path];
34 if (stream !=
nullptr)
36 T* resource = MemoryManager::New<T>(stream);
37 resources.Add(path,
static_cast<IResource*
>(resource));
54 class ResourceLoaderThread :
public IThread
57 void ThreadInit()
override;
58 void ThreadUpdate()
override;
59 void ThreadDestroy()
override;
62 String GetThreadId()
override;
66 Array<ResourceLoaderThread*> loaderThreads;
68 void SetLoaderThreadCount(
uint16 count);
#define RequireSubClass(BaseClass, SubClass)
Definition Assert.hpp:55
Interface that reads and writes data to and from a stream.
Definition Stream.hpp:21
Definition Resource.hpp:19
Base class for a thread.
Definition Thread.hpp:56
Definition ResourceManager.hpp:15
void Init()
Definition ResourceManager.cpp:11
void Destroy()
Definition ResourceManager.cpp:26
DataStream * GetFile(Path path)
Definition ResourceManager.cpp:42
T * GetResource(Path path)
Definition ResourceManager.hpp:24
void AddPackage(ResourcePackage *)
Definition ResourceManager.cpp:52
void OnResourceClaimChanged(IResource *resource)
Definition ResourceManager.cpp:70
Definition ResourcePackage.hpp:12
Container class providing thread-safe access to the internal object.
Definition ThreadSafety.hpp:24
uint16_t uint16
Definition Primitives.hpp:9
ResourceManager GResources
Definition ResourceManager.cpp:7