public IEnumerator LoadFaceIcon(int characterId) { if (icon == null) { icon = this.GetComponent <Image>(); } icon.color = new Color32(255, 255, 255, 1); while (FaceCacher.Instance.IsLoadingId(characterId)) { yield return(new WaitForEndOfFrame()); } App.Model.Scriptable.MFace mFace = FaceCacher.Instance.Get(characterId); if (mFace != null) { icon.sprite = Sprite.Create(mFace.image, new Rect(0, 0, mFace.image.width, mFace.image.height), Vector2.zero); icon.color = new Color32(255, 255, 255, 255); yield break; } string url = string.Format(App.Model.Scriptable.FaceAsset.FaceUrl, characterId); FaceCacher.Instance.LoadingId(characterId); yield return(this.StartCoroutine(Global.SUser.Download(url, App.Util.Global.versions.face, (AssetBundle assetbundle) => { App.Model.Scriptable.FaceAsset.assetbundle = assetbundle; mFace = App.Model.Scriptable.FaceAsset.Data.face; icon.sprite = Sprite.Create(mFace.image, new Rect(0, 0, mFace.image.width, mFace.image.height), Vector2.zero); mFace.id = characterId; FaceCacher.Instance.Set(mFace); icon.color = new Color32(255, 255, 255, 255); }))); }
public IEnumerator LoadFaceIcon(int characterId) { if (icon == null) { icon = this.GetComponent <RawImage>(); } while (FaceCacher.Instance.IsLoadingId(characterId)) { yield return(new WaitForEndOfFrame()); } App.Model.Scriptable.MFace mFace = FaceCacher.Instance.Get(characterId); if (mFace != null) { icon.texture = mFace.image as Texture; icon.uvRect = mFace.rect; yield break; } string url = string.Format(App.Model.Scriptable.FaceAsset.FaceUrl, characterId); FaceCacher.Instance.LoadingId(characterId); yield return(this.StartCoroutine(Global.SUser.Download(url, App.Util.Global.versions.face, (AssetBundle assetbundle) => { App.Model.Scriptable.FaceAsset.assetbundle = assetbundle; mFace = App.Model.Scriptable.FaceAsset.Data.face; icon.texture = mFace.image as Texture; icon.uvRect = mFace.rect; mFace.id = characterId; FaceCacher.Instance.Set(mFace); }, true, false))); }