// ***********************************************************************
// 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
}
}