using DG.Tweening.Core.Easing; using System.Collections; using UnityEngine; using UnityEngine.Networking; using UnityEngine.UI; public class UIManager : MonoBehaviour { public static UIManager ins; public LogOnState LogOnState = LogOnState.no; [SerializeField] LogOn logOn; [SerializeField] Transform MainPanel; [SerializeField] Image im; [SerializeField] user user; [SerializeField] Button userBtn; [SerializeField] Transform trans; public int score; public int TempScore; public string UserPath = "https://img-blog.csdnimg.cn/20201110182621125.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzUxMTg3MQ==,size_16,color_FFFFFF,t_70#pic_center"; public string UserName = "明明"; public void Awake() { // 检查是否已经存在实例,如果存在则销毁当前对象 if (ins != null && ins != this) { Destroy(gameObject); return; } ins = this; DontDestroyOnLoad(gameObject); PlayerPrefs.SetInt("isStart", 0); } // Start is called before the first frame update void Start() { Sprite sp = null; //userBtn?.onClick.AddListener(()=>Logon()); } public void Logon() { LogOn log = Instantiate(logOn, trans); log.gameObject.SetActive(true); } /// /// 登录成功 /// public void LogOnTrue() { user.gameObject.SetActive(true); userBtn.gameObject.SetActive(false); } public void end() { Debug.Log("完成大部分参数"); } /// /// 加载图片 /// /// 路径 /// 需要更改的Im /// 是否需要补全路径 public void LoadImageAsync(string filePath,Image im,bool isok = true) { try { //this.im = im; if (isok) { StartCoroutine(LoadImageAsync2(Application.streamingAssetsPath + "/" + filePath,im)); } else { StartCoroutine(LoadImageAsync2(filePath,im)); } } catch (System.Exception ex) { Debug.LogError(ex.Message); throw; } } private IEnumerator LoadImageAsync2(string filePath,Image im) { using (UnityWebRequest request = UnityWebRequestTexture.GetTexture(filePath)) { yield return request.SendWebRequest(); if (request.result != UnityWebRequest.Result.Success) { Debug.LogError("加载失败: " + request.error); yield break; } Texture2D texture = DownloadHandlerTexture.GetContent(request); Rect rect = new Rect(0, 0, texture.width, texture.height); Sprite sprite = Sprite.Create(texture, rect, Vector2.one * 0.5f); if (im.sprite != null && sprite != null) { im.sprite = sprite; } } } } public enum LogOnState { ok, no }