// *********************************************************************** // Assembly : Game // Author : Kimch // Created : 2021-11-23 // Description : // Last Modified By : // Last Modified On : // *********************************************************************** // // // *********************************************************************** namespace G.UI { using UnityEngine; using UnityEngine.UI; /// /// 头像界面 /// partial class AvatarBox { #region Field #pragma warning disable CS0649 // 从未对字段赋值,字段将一直保持其默认值 null [KUIFlag] Button _btnClose; [KUIFlag] Button _btnSet; [KUIFlag] KUIList __listHeads; #pragma warning restore CS0649 // 从未对字段赋值,字段将一直保持其默认值 null #endregion #region Method /// /// /// public void InitView() { SetViewData(); __listHeads.AddTemplate(true); _btnClose.onClick.AddListener(this.OnCloseBtnClick); _btnSet.onClick.AddListener(this.OnSetBtnClick); } /// /// /// public void RefreshView() { int.TryParse(PlayerProxy.Instance.headURL, out var avatarId); __listHeads.Clear(); var avatarItems = ItemProxy.Instance.GetStaticItems(); if (avatarItems != null) foreach (var item in avatarItems) { var widget = __listHeads.GetItem(); if (item.id == avatarId) { AvatarItemWidget.SelectedWidget = widget; AvatarItemWidget.UsedWidget = widget; } widget.SetData(item); } } void OnCloseBtnClick() { CloseWindow(this); OpenWindow(); SoundProxy.PlayFxAsync(GlobalDefine.BUTTON_CLICK_SOUND); } void OnSetBtnClick() { if (AvatarItemWidget.SelectedWidget != null) { var chaAvatar = AvatarItemWidget.SelectedWidget.data as ItemChaAvatar; PlayerProxy.Instance.headURL = chaAvatar.id.ToString(); PostNotification(GlobalDefine.EVENT_PLAYER_AVATAR_CHANGED, chaAvatar); AvatarItemWidget.SelectedWidget.OnUsed(); } OnCloseBtnClick(); } #endregion } }