Herramientas de usuario

Herramientas del sitio


rf_assetmanager

RF_AssetManager

La clase RF_AssetManager es la clase que gestiona la carga, descarga y recuperación de Assets.

Miembros públicos

Funciones

static void LoadAssetPackage(string package)

Carga el paquete de assets indicado.

static void UnloadAssetPackage(string package)

Descarga el paquete de assets indicado.

static int PackageSize(string package)

Devuelve el número de elementos que contiene el paquete indicado.

static int Size()

Devuelve el número de paquetes cargados.

static bool isLoaded(string package, string id = "")

Indica si está cargado el paquete indicado o el recurso indicado dentro del paquete indicado.

static typename T::element_type Get(string package, string id)

Retorna el contenido del asset solicitado convirtiéndolo al element_type de clase solicitada.
La clase solicitada debe heredar de RF_Asset.

Implementación

class RF_AssetManager
{
  public:
    static void LoadAssetPackage(string package);
    static void UnloadAssetPackage(string package);
    static int PackageSize(string package);
    static int Size();
 
    static bool isLoaded(string package, string id = "");
 
    template <typename T>
    static typename T::element_type Get(string package, string id)
    {
      static_assert(std::is_base_of<RF_Asset, T>::value, "T must derive from RF_Asset");
      assert(isLoaded(package, id) == true);
 
      return assetManager[package]->Get<T>(id);
    }
 
  private:
    static unordered_map<string, RF_AssetList*> assetManager;
};
Categorías: Clases
rf_assetmanager.txt · Última modificación: 2018/03/05 13:13 por Yawin