private static void AddNumberToGroup(Transform group, int damage, NumberColor color) { if (!dicNumber.ContainsKey(color)) { DebugTool.LogError("UINumberManager not exit color image, color\t" + color.ToString()); return; } bool isHaveSub = dicSprite.ContainsKey(color) && dicSprite[color].ContainsKey(-1); int length = CalculateDamageLength(damage); if (isHaveSub) { length++; } Transform[] arrayNumImages = new Transform[length]; if (isHaveSub) { AddSubToList(color, (Transform sub) => { arrayNumImages[0] = sub; LoadCompletedCallBack(color, arrayNumImages, group); }); } AddNumberToList(damage, color, (Transform numberImage, int index) => { arrayNumImages[index] = numberImage; LoadCompletedCallBack(color, arrayNumImages, group); }, length - 1); }
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; }