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