/// <summary>
/// Gets a resource.
/// </summary>
/// <param name="filename">The filename of the resource to get.</param>
/// <returns>A GameGlobal instance containing the resource.</returns>
public GameGlobal Get(string filename)
{
filename = filename.ToLowerInvariant();
lock (Cache)
{
if (Cache.ContainsKey(filename))
{
return(Cache[filename]);
}
//if we can't load this let it throw an exception...
//probably sanity check this when we add user objects.
var iff = new IffFile(Path.Combine(Content.Get().BasePath, "objectdata/globals/" + filename + ".iff"));
OTFFile otf = null;
try
{
otf = new OTFFile(Path.Combine(Content.Get().BasePath, "objectdata/globals/" + filename + ".otf"));
}
catch (IOException)
{
//if we can't load an otf, it probably doesn't exist.
}
var resource = new GameGlobalResource(iff, otf);
var item = new GameGlobal
{
Resource = resource
};
Cache.Add(filename, item);
return(item);
}
}