private IEnumerator UpdateAvatar() { ResourceRequest request = Resources.LoadAsync <Texture2D>(AppStorage.Instance.CurrentCharacter.Avatar); do { yield return(new WaitForSeconds(.01f)); }while (!request.isDone); Texture2D tex = request.asset as Texture2D; AppStorage.Instance.CurrentCharacter.AvatarBytes = tex.EncodeToPNG(); AvatarImage.sprite = ViewUtility.CreateSpriteUseTexture(AppStorage.Instance.CurrentCharacter.AvatarBytes, AvatarImage); yield return(new WaitForEndOfFrame()); }
private IEnumerator SetButtons() { if (mButtons.Count < mImageList.Count) { Debug.LogError("something went wrong when creating the buttons!"); } if (AppStorage.Instance.CurrentCharacter == null) { UpdateSelectionBorder(0); } else { int index = mImageList.FindIndex(x => x == AppStorage.Instance.CurrentCharacter.Avatar); if (index >= 0) { UpdateSelectionBorder(index); } else { UpdateSelectionBorder(0); } } for (int i = 0; i < mButtons.Count; ++i) { if (i < mImageList.Count) { string item = string.Format(cImagePath, mImageList[i]); ResourceRequest request = Resources.LoadAsync <Texture2D>(item); do { yield return(new WaitForSeconds(0.01f)); }while (!request.isDone); Texture2D tex = request.asset as Texture2D; mButtons[i].GetComponent <Image>().sprite = ViewUtility.CreateSpriteUseTexture(tex.EncodeToPNG(), mButtons[i].GetComponent <Image>()); } else { mButtons[i].SetActive(false); } } Title.text = cTitleText; LoadingSymbol.SetActive(false); }
private IEnumerator InitView() { float onePerCent = Screen.height / 100f; float multiplier = 0.18f; if (mFirstTime) { mFirstTime = false; } else { onePerCent = 1f; multiplier = 1f; } mTotalHeight = 0; const float cWaitTime = 0.01f; DnDCharacter character = AppStorage.Instance.CurrentCharacter as DnDCharacter; // TOP: float heightMultiplier = Screen.height * .2f / 160; Transform currentParent = transform.FindChild("Top"); RectTransform rect = currentParent.GetComponent <RectTransform>(); rect.localScale = new Vector3(heightMultiplier, heightMultiplier, heightMultiplier); Image AvatarImage = currentParent.FindChild("Avatar").FindChild("AvatarMask").FindChild("Avatar").GetComponent <Image>(); AvatarImage.sprite = ViewUtility.CreateSpriteUseTexture(character.AvatarBytes, AvatarImage); // MENU: // name: currentParent = transform.FindChild("Menu").FindChild("DragArea").FindChild("ScrollArea").FindChild("Name"); Text text = currentParent.FindChild(cView).GetComponent <Text>(); text.text = character.Name; text = currentParent.FindChild(cInput).FindChild("Placeholder").GetComponent <Text>(); text.text = character.Name; float current = currentParent.GetComponent <LayoutElement>().minHeight; currentParent.GetComponent <LayoutElement>().minHeight = current * multiplier * onePerCent; mTotalHeight += (int)currentParent.GetComponent <LayoutElement>().minHeight; UpdateNow = true; currentParent.gameObject.SetActive(true); yield return(new WaitForSeconds(cWaitTime)); // level / xp currentParent = transform.FindChild("Menu").FindChild("DragArea").FindChild("ScrollArea").FindChild("ExpLevel"); currentParent.FindChild(cInput).FindChild("InputField").FindChild("Placeholder").GetComponent <Text>().text = character.Experience.ToString(); currentParent.FindChild(cView).FindChild("Bottom").FindChild("Value").GetComponent <Text>().text = character.Experience.ToString(); currentParent.FindChild(cView).FindChild("Top").FindChild("Value").GetComponent <Text>().text = character.CharacterLevel.ToString(); current = currentParent.GetComponent <LayoutElement>().minHeight; currentParent.GetComponent <LayoutElement>().minHeight = current * multiplier * onePerCent; mTotalHeight += (int)currentParent.GetComponent <LayoutElement>().minHeight; UpdateNow = true; currentParent.gameObject.SetActive(true); yield return(new WaitForSeconds(cWaitTime)); // abilities currentParent = transform.FindChild("Menu").FindChild("DragArea").FindChild("ScrollArea").FindChild("Attributes"); SetAbilitiesTexts(currentParent); current = currentParent.GetComponent <LayoutElement>().minHeight; currentParent.GetComponent <LayoutElement>().minHeight = current * multiplier * onePerCent; mTotalHeight += (int)currentParent.GetComponent <LayoutElement>().minHeight; UpdateNow = true; currentParent.gameObject.SetActive(true); yield return(new WaitForSeconds(cWaitTime)); // gender: currentParent = transform.FindChild("Menu").FindChild("DragArea").FindChild("ScrollArea").FindChild("Gender"); SetGenderText(currentParent); current = currentParent.GetComponent <LayoutElement>().minHeight; currentParent.GetComponent <LayoutElement>().minHeight = current * multiplier * onePerCent; mTotalHeight += (int)currentParent.GetComponent <LayoutElement>().minHeight; UpdateNow = true; currentParent.gameObject.SetActive(true); yield return(new WaitForSeconds(cWaitTime)); // race: currentParent = transform.FindChild("Menu").FindChild("DragArea").FindChild("ScrollArea").FindChild("Race"); SetRaceText(currentParent); current = currentParent.GetComponent <LayoutElement>().minHeight; currentParent.GetComponent <LayoutElement>().minHeight = current * multiplier * onePerCent; mTotalHeight += (int)currentParent.GetComponent <LayoutElement>().minHeight; UpdateNow = true; currentParent.gameObject.SetActive(true); yield return(new WaitForSeconds(cWaitTime)); // alignment: currentParent = transform.FindChild("Menu").FindChild("DragArea").FindChild("ScrollArea").FindChild("Alignment"); Image image = currentParent.FindChild(cView).FindChild("AlignmentImage").GetComponent <Image>(); string path = mAlignmentPaths[(int)character.Alignment]; ResourceRequest request = Resources.LoadAsync <Texture2D>(path); do { yield return(new WaitForSeconds(.001f)); }while (!request.isDone); Texture2D tex = request.asset as Texture2D; byte[] array = tex.EncodeToPNG(); image.sprite = ViewUtility.CreateSpriteUseTexture(array, image); yield return(new WaitForSeconds(.001f)); text = currentParent.FindChild(cInput).FindChild("Top").FindChild("BoxSetText").GetComponent <Text>(); text.text = AlignmentGrid.SelectedAlignment.ToString(); current = currentParent.GetComponent <LayoutElement>().minHeight; currentParent.GetComponent <LayoutElement>().minHeight = current * multiplier * onePerCent; mTotalHeight += (int)currentParent.GetComponent <LayoutElement>().minHeight; UpdateNow = true; currentParent.gameObject.SetActive(true); yield return(new WaitForSeconds(cWaitTime)); // buffer: currentParent = transform.FindChild("Menu").FindChild("DragArea").FindChild("ScrollArea").FindChild("Buffer"); currentParent.GetComponent <LayoutElement>().minHeight = (int)(Screen.height * 0.12f); mTotalHeight += (int)currentParent.GetComponent <LayoutElement>().minHeight; UpdateNow = true; }