using AppUI.Manager.Role; using AppUI.Util.Input; using JCUnityLib; using Newtonsoft.Json.Linq; using System; using UnityEngine; using UnityEngine.UI; namespace AppUI.View.Home.UserCenter { public class BoxUserProfile : MonoBehaviour { [SerializeField] AppUITMPInputField inputFieldNickname; [SerializeField] UserInfo userInfo; [SerializeField] UserInfo userInfoRecord; [SerializeField] Image selectAvatarImage; void OnEnable() { if (inputFieldNickname != null) inputFieldNickname.OnEndEdit += OnNicknameEndEdit; InitInfo(); } void OnDisable() { if (inputFieldNickname != null) inputFieldNickname.OnEndEdit -= OnNicknameEndEdit; } void OnNicknameEndEdit(string _) { if (inputFieldNickname == null) return; var nickname = inputFieldNickname.TrimmedText; if (nickname.Length == 0) return; LoginMgr.myUserInfo.nickname = nickname; LoginMgr.myUserInfo.Save(); RenderInfo(); } void InitInfo() { if (inputFieldNickname != null) inputFieldNickname.SetText(LoginMgr.myUserInfo.nickname); RenderAvatar(); } void RenderInfo() { // 更新界面显示 userInfo.RenderUserInfo(); userInfoRecord.RenderUserInfo(); GetComponentInParent().NotifyUserInfoRefresh(); } void RenderAvatar() { RenderInfo(); // 更新头像显示 RoleManager.SetAvatarToImage(selectAvatarImage, LoginMgr.myUserInfo.avatarID, LoginMgr.myUserInfo.avatarUrl); } #region 头像选择 [SerializeField] Transform avatarSelectView; [SerializeField] GameObject avatarPrefab; GridLayoutGroup gridLayoutGroup; GameObject customAvatarObj; bool avatarSelectViewInited = false; int curAvatarSelectID = 0; public void ShowAvatarSelectView() { AudioMgr.ins.PlayBtn(); avatarSelectView.gameObject.SetActive(true); if (!avatarSelectViewInited) { avatarSelectViewInited = true; curAvatarSelectID = LoginMgr.myUserInfo.avatarID;//服务器带的信息是 -1是微信头像,-2是自定义。 avatarSelectView.Find("FrameBox/BtnClose").GetComponent