95 lines
2.2 KiB
C#
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
|
|||
|
}
|
|||
|
}
|