2025-05-18 01:04:31 +08:00

95 lines
2.2 KiB
C#

// ***********************************************************************
// Assembly : Game
// Author : Kimch
// Created : 2021-11-23
// Description :
// Last Modified By :
// Last Modified On :
// ***********************************************************************
// <copyright file= "AvatarBox.View" company="Kunpo"></copyright>
// <summary></summary>
// ***********************************************************************
namespace G.UI
{
using UnityEngine;
using UnityEngine.UI;
/// <summary>
/// 头像界面
/// </summary>
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
/// <summary>
///
/// </summary>
public void InitView()
{
SetViewData();
__listHeads.AddTemplate<AvatarItemWidget>(true);
_btnClose.onClick.AddListener(this.OnCloseBtnClick);
_btnSet.onClick.AddListener(this.OnSetBtnClick);
}
/// <summary>
///
/// </summary>
public void RefreshView()
{
int.TryParse(PlayerProxy.Instance.headURL, out var avatarId);
__listHeads.Clear();
var avatarItems = ItemProxy.Instance.GetStaticItems<ItemChaAvatar>();
if (avatarItems != null)
foreach (var item in avatarItems)
{
var widget = __listHeads.GetItem<AvatarItemWidget>();
if (item.id == avatarId)
{
AvatarItemWidget.SelectedWidget = widget;
AvatarItemWidget.UsedWidget = widget;
}
widget.SetData(item);
}
}
void OnCloseBtnClick()
{
CloseWindow(this);
OpenWindow<SettingWindow>();
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
}
}