Exemplo n.º 1
0
 private static void InitSpriteCache()
 {
     dicNumber = new Dictionary <NumberColor, Dictionary <int, List <Transform> > >();
     dicSprite = new Dictionary <NumberColor, Dictionary <int, Sprite> >();
     groupPool = new Stack <Transform>();
     listGroup = new List <Transform>();
     for (int i = 0; i < loadedAssets.Length; i++)
     {
         Sprite     sprite = loadedAssets[i] as Sprite;
         GameObject obj    = GameObject.Instantiate(numberPrefab);
         obj.transform.SetParent(GameManager.LogicScript.transform);
         UINumberImage image = obj.GetComponent <UINumberImage>();
         image.sprite = sprite;
         NumberColor color  = image.Color;
         int         number = image.Number;
         AddImageData(obj.transform, color, number);
         if (!dicSprite.ContainsKey(color))
         {
             dicSprite.Add(color, new Dictionary <int, Sprite>());
         }
         if (!dicSprite[color].ContainsKey(number))
         {
             dicSprite[color].Add(number, sprite);
         }
     }
 }
Exemplo n.º 2
0
    private static IEnumerator CreateImage(NumberColor color, int number, System.Action <Transform> callback)
    {
        if (!dicSprite.ContainsKey(color))
        {
            DebugTool.LogError("UINumberManager not exit color\t" + color.ToString());
            yield break;
        }
        if (!dicSprite[color].ContainsKey(number))
        {
            DebugTool.LogError("UINumberManager not exit color number\t" + number);
            yield break;
        }
        GameObject    obj   = GameObject.Instantiate(numberPrefab);
        UINumberImage image = obj.GetComponent <UINumberImage>();

        image.sprite = dicSprite[color][number];
        AddImageData(obj.transform, color, number);
        callback(obj.transform);
        yield break;
    }