Removing cache from Gleed2D as ContentManager automatically does this
Adding cache Adding XOR Shift random class
This commit is contained in:
55
axios/Engine/Data/Cache.cs
Normal file
55
axios/Engine/Data/Cache.cs
Normal file
@@ -0,0 +1,55 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Axios.Engine.Data
|
||||
{
|
||||
// Q. What is the point of this?
|
||||
// A. This is not to cache textures loaded by content manager
|
||||
// but other data/content that isn't. Use cases include:
|
||||
// - Any graphics generated during runtime (such as dialogs)
|
||||
// - Any data that is loaded in during run time (such as maps)
|
||||
// Content manager performs it's own caching so anything loaded by it
|
||||
// or the Gameservice - then attempted to load again will not be loaded
|
||||
// again but rather a reference to it will be returned
|
||||
// ************************************************
|
||||
// DANGER WILL ROBINSON DANGER
|
||||
// ************************************************
|
||||
// Only store stuff here that you want during the FULL lifecycle of your game
|
||||
// The cache is never cleared - so a reference will exist for the objects you leave
|
||||
// You MAY clear the cache by using the clear method or unset
|
||||
//
|
||||
// You probably don't want this
|
||||
// There is no cache...
|
||||
// This is not the cache you are looking for...
|
||||
//
|
||||
public class Cache : Singleton<Cache>
|
||||
{
|
||||
private Dictionary<string, object> _cache;
|
||||
public Cache()
|
||||
{
|
||||
_cache = new Dictionary<string, object>();
|
||||
}
|
||||
|
||||
public object get(string key)
|
||||
{
|
||||
return _cache[key];
|
||||
}
|
||||
|
||||
public void set(string key, object obj)
|
||||
{
|
||||
_cache[key] = obj;
|
||||
}
|
||||
|
||||
public void unset(string key)
|
||||
{
|
||||
_cache.Remove(key);
|
||||
}
|
||||
|
||||
public void clear()
|
||||
{
|
||||
_cache = new Dictionary<string, object>();
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user