public void Load(ResourceDesc resourceDescription) { string fullPath = typeRootPath + resourceDescription.FileName; resourceDescription.FileName = fullPath; if (!data.ContainsKey(resourceDescription.FileName)) { T resource = (T)Activator.CreateInstance(typeof(T), new object[] { resourceDescription }); data.Add(resourceDescription.FileName, resource); if (resourceDescription.Alias != null) { aliases.Add(resourceDescription.Alias, resourceDescription.FileName); Logger.Write(LogType.Info, "{0} - Loaded Resource \"{1}\" with alias \"{2}\"", type, resourceDescription.FileName, resourceDescription.Alias); } else { Logger.Write(LogType.Info, "{0} - Loaded Resource \"{1}\"", type, resourceDescription.FileName); } } }
protected abstract void Load(ResourceDesc resourceDescription);
public Resource(ResourceDesc resourceDescription) { Load(resourceDescription); this.resourceDescription = resourceDescription; }