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); } } }
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; }