Assets

// Assets loading.
class RVAPI Assets
{
public:
    // Begin asynchronous assets load. [path] is relative to assets root folder.
    // Multiple loads will combine assets in memory.
    static void BeginLoadAsync(wcstr path);

    // Asynchronous load of assets. Call frequently from main code to load assets.
    // The normalized return value can be used to track progress.
    static float LoadAsync();

    // Call when asynchronous assets load is complete.
    static void EndLoadAsync();

    // Synchronous load of assets. Blocks until all assets are loaded. [path] is relative 
    // to assets root folder. Multiple loads will combine assets in memory.
    static void Load(wcstr path);

    // Unload all assets. Very important to call this before loading assets, unless
    // assets are being shared between scenes.
    static void Clear();
};