public static void RemoveCallback(string groupName, string spriteName, SpriteCreateNextCall callback)
 {
     if (sNextCallDic.ContainsKey(groupName))
     {
         if (sNextCallDic[groupName].ContainsKey(spriteName))
         {
             if (sNextCallDic[groupName][spriteName].Contains(callback))
             {
                 sNextCallDic[groupName][spriteName].Remove(callback);
             }
         }
     }
 }
    public static void AddNextCall(string groupName, string spriteName, SpriteCreateNextCall callback, Texture2D texture, object atlas)
    {
        if (sGroupSprite.ContainsKey(groupName))
        {
            if (sGroupSprite[groupName].ContainsKey(spriteName))
            {
                callback(sGroupSprite[groupName][spriteName]);
                return;
            }
            else
            {
                if (sNextCallDic[groupName].ContainsKey(spriteName))
                {
                    if (!sNextCallDic[groupName][spriteName].Contains(callback))
                    {
                        sNextCallDic[groupName][spriteName].Add(callback);
                    }
                }
                else
                {
                    sNextCallDic[groupName][spriteName] = new List <SpriteCreateNextCall>()
                    {
                        callback
                    };
                    sGroupSpriteNameDic[groupName].Add(spriteName);
                }
            }
        }
        else
        {
            sGroupSprite[groupName]        = new Dictionary <string, Sprite>();
            sNextCallDic[groupName]        = new Dictionary <string, List <SpriteCreateNextCall> >();
            sGroupSpriteNameDic[groupName] = new List <string>()
            {
                spriteName
            };

            List <SpriteCreateNextCall> calls = new List <SpriteCreateNextCall>()
            {
                callback
            };

            sNextCallDic[groupName].Add(spriteName, calls);
            AtlasConfig config = new AtlasConfig();
            config.texture       = texture;
            config.atlas         = atlas;
            sAtlasDic[groupName] = config;
        }

        AsyncCreateGroup(groupName);
    }