using System.Collections; using System.Collections.Generic; using System.Text; using UnityEngine; using UnityEngine.Networking; using UnityEngine.UI; public class UIUserInfo : UIBase { // public Button btn_CloseBtn; // public Button btn_Title; // public Text txt_YinPiao; // public Text txt_Name; // Image img_Title; // [Header("TitleChangePanel")] // public GameObject obj_TitlePrefab; // public Transform tra_TitleParent; // //public void AddImage() // //{ // // NativeGallery.GetImageFromGallery((path) => // // { // // Debug.Log(path); // // if (string.IsNullOrEmpty(path)) // // { // // Debug.LogError("未选择图片"); // // return; // // } // // // 回调里不能 yield,所以启动协程 // // StartCoroutine(DownloadTextureWithRetry(path, 5, (tex) => // // { // // if (tex != null) // // { // // Debug.Log("Image Down Ok"); // // StartCoroutine(DefaultTools.UploadingImage(DataManager.Instance.settingData.uid.ToString(), tex.EncodeToPNG())); // // //WebSocketManager.Instance.SendMessageToUrl(UrlType.defaultType, new { CMD = 11011, avatar_id = tex.EncodeToPNG() }); // // // TODO: 使用 tex // // //DataManager.Instance.myPlayerInfo.titleSprite = Sprite.Create(tex, new Rect(0, 0, 110, 110), new Vector2(0.5f, 0.5f)); // // } // // else // // { // // UIManager.Instance.ShowLog("图片下载失败 5 次"); // // } // // })); // // }); // //} // //public RawImage previewImage; // 用来显示裁剪后的头像 // public void AddImage() // { // NativeGallery.GetImageFromGallery((path) => // { // if (string.IsNullOrEmpty(path)) // { // Debug.LogError("未选择图片"); // return; // } // // 启动协程加载图片 // StartCoroutine(LoadAndCropImage(path)); // }); // } // private IEnumerator LoadAndCropImage(string path) // { // using (UnityEngine.Networking.UnityWebRequest req = UnityEngine.Networking.UnityWebRequestTexture.GetTexture("file://" + path)) // { // yield return req.SendWebRequest(); // if (req.result == UnityEngine.Networking.UnityWebRequest.Result.Success) // { // Texture2D tex = UnityEngine.Networking.DownloadHandlerTexture.GetContent(req); // ImageCropper.Instance.Show(tex, (bool result, Texture originalImage, Texture2D croppedImage) => // { // if (result && croppedImage != null) // { // // 创建一个新的可读纹理副本 // Texture2D readableTex = new Texture2D(croppedImage.width, croppedImage.height, TextureFormat.RGBA32, false); // Graphics.CopyTexture(croppedImage, readableTex); // 复制像素数据到可读纹理 // // 显示裁剪后的图片 // btn_Title.GetComponent().sprite = Sprite.Create( // readableTex, // new Rect(0, 0, readableTex.width, readableTex.height), // new Vector2(0.5f, 0.5f) // ); // // 上传服务器 // StartCoroutine(DefaultTools.UploadingImage( // DataManager.Instance.settingData.uid.ToString(), // readableTex.EncodeToPNG() // )); // } // }, //settings: new ImageCropper.Settings() //{ // ovalSelection = false, // autoZoomEnabled = true, // selectionMinAspectRatio = 1f, // selectionMaxAspectRatio = 1f //}); // } // else // { // Debug.LogError("图片加载失败: " + req.error); // } // } // } // private IEnumerator DownloadTextureWithRetry(string url, int retryCount, System.Action callback) // { // //url = "file://" + url; // Texture2D tex = null; // for (int i = 0; i < retryCount; i++) // { // using (UnityWebRequest req = UnityWebRequestTexture.GetTexture("file://" + url)) // { // yield return req.SendWebRequest(); // if (req.result == UnityWebRequest.Result.Success) // { // tex = DownloadHandlerTexture.GetContent(req); // break; // } // else // { // Debug.LogError($"Down Failed {i + 1}/{retryCount} 次: {req.error}" + url); // try // { // byte[] bytes = System.IO.File.ReadAllBytes(url); // tex.LoadImage(bytes); // if (tex != null) // { // Debug.LogError($"Down Failed {i + 1}/{retryCount} 次: {req.error}" + "File Down Ok"); // } // } // catch // { // Debug.LogError($"Down Failed {i + 1}/{retryCount} 次: {req.error}" + "File Down No"); // } // yield return new WaitForSeconds(0.5f); // 等半秒再重试 // } // } // } // callback?.Invoke(tex); // } // public void Init() // { // img_Title = btn_Title.GetComponent(); // img_Title.sprite = DataManager.Instance.myPlayerInfo.titleSprite; // //img_Title.sprite= Resources.Load("TitleImg/" + DataManager.Instance.myPlayerInfo.image); // txt_Name.name = DataManager.Instance.myPlayerInfo.name; // //读取 // foreach (Sprite item in Resources.LoadAll("TitleImg")) // { // var v = Instantiate(obj_TitlePrefab, tra_TitleParent); // v.GetComponent().sprite = item; // v.name = item.name; // v.GetComponent