Ejemplo n.º 1
0
        public T ImportRessource <T>(string ressourceID) where T : IRessource
        {
            if (!ManagedRessources.ContainsKey(ressourceID))
            {
                Debugger.WriteLog($"Importing : '{ressourceID}'...", LogType.Info, nameof(RessourceManager));
                string             ressourceTypeName = ressourceID.Split(':')[0];
                IRessourceImporter importer          = Importers[ressourceTypeName];
                IRessource         ressource         = importer.Import(this, $"{RessourceFolderName}/{ressourceTypeName}/{ressourceID.Split(':')[1]}");
                if (ressource != null)
                {
                    ManagedRessources[ressourceID] = ressource;
                }
                else
                {
                    throw new Exception($"Cannot import '{ressourceID}' with '{Importers}'. The importer return a 'null'!");
                }
            }

            return((T)ManagedRessources[ressourceID]);
        }
Ejemplo n.º 2
0
 public void AddImporter(IRessourceImporter importer)
 {
     Importers.Add(importer.RessourceTypeName, importer);
     Directory.CreateDirectory($"{RessourceFolderName}/{importer.RessourceTypeName}");
 }