Herramientas de usuario

Herramientas del sitio


rf_assetmanager

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

rf_assetmanager [2018/03/05 13:13] (actual)
Yawin creado
Línea 1: Línea 1:
 +====== 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 =====
 +<code cpp>
 +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;​
 +};
 +</​code>​
 +
 +|Categorías:​ [[Clases]]|
rf_assetmanager.txt · Última modificación: 2018/03/05 13:13 por Yawin