public void Unload(string resource, out SkyContent obj) { if (skies.ContainsKey(resource)) { obj = null; skies.Remove(resource); } else { obj = null; Log.Write(this, "Unable to unload resource [" + resource + "] because it was not found in the cache.", LogLevels.Warning); } }
public void Load(string resource, out SkyContent obj) { if (skies.ContainsKey(resource)) { if (skies[resource] != null) { obj = skies[resource]; return; } else { obj = null; skies.Remove(resource); Log.Write(this, "Resource [" + resource + "] was null in the cache. Pruning reference.", LogLevels.Warning); } } else { try { obj = game.Content.Load<SkyContent>(resource); } catch (ContentLoadException e) { Log.Write(this, "Exception: " + e.Message); Log.Write(this, "Resource [" + resource + "], not found in content directory.", LogLevels.Error); obj = null; return; } if (obj == null) { Log.Write(this, "Unable to load resource [" + resource + "] into memory, reason unknown.", LogLevels.Error); return; } else skies.Add(resource, obj); } }