Ejemplo n.º 1
0
 internal static void setSkinTextureCache(string skin, string filename, CustomKnightTexture texture)
 {
     if (!skinTextureCache.ContainsKey(skin))
     {
         skinTextureCache[skin] = new Dictionary <string, CustomKnightTexture>();
     }
     skinTextureCache[skin][filename] = texture;
 }
Ejemplo n.º 2
0
 private static void DestroyObjects()
 {
     foreach (KeyValuePair <string, Skinable> pair in SkinManager.Skinables)
     {
         CustomKnightTexture texture = pair.Value.ckTex;
         if (texture.tex != null)
         {
             GameObject.Destroy(texture.tex);
         }
     }
     LoadComplete = false;
 }
Ejemplo n.º 3
0
 internal static void LoadSprites()
 {
     LoadComplete = false;
     if (SkinManager.CurrentSkin == null)
     {
         SkinManager.CurrentSkin = SkinManager.GetDefaultSkin();
     }
     if (SkinManager.CurrentSkin.shouldCache())
     {
         TextureCache.recentSkins.Add(SkinManager.CurrentSkin.GetId());
     }
     foreach (KeyValuePair <string, Skinable> kvp in SkinManager.Skinables)
     {
         kvp.Value.prepare();
         CustomKnightTexture texture = kvp.Value.ckTex;
         if (TextureCache.skinTextureCache.TryGetValue(SkinManager.CurrentSkin.GetId(), out var skinCache) && skinCache.TryGetValue(texture.fileName, out var cachedTex))
         {
             texture.tex     = cachedTex.tex;
             texture.missing = cachedTex.missing;
             continue;
         }
         texture.missing = !SkinManager.CurrentSkin.Exists(texture.fileName);
         if (!texture.missing)
         {
             texture.tex = SkinManager.CurrentSkin.GetTexture(texture.fileName);
             if (SkinManager.CurrentSkin.shouldCache())
             {
                 TextureCache.setSkinTextureCache(SkinManager.CurrentSkin.GetId(), texture.fileName, new CustomKnightTexture(texture.fileName, texture.missing, texture.defaultTex, texture.tex));
             }
         }
         else
         {
             texture.tex = null;
         }
     }
     TextureCache.trimTextureCache();
     SetSkin(SkinManager.Skinables);
     LoadComplete = true;
 }