Files
BallCrushBest_GP/Assets/Scripts/ModuleUI/PersonView/PersonViewUI.cs
T
2026-04-20 12:06:34 +08:00

174 lines
4.1 KiB
C#

using System;
using FairyGUI;
using FGUI.ZM_Common_01;
using FGUI.ZM_Setting_07;
// using FGUI.G006_menu;
using UnityEngine;
namespace BallKingdomCrush
{
public class PersonalUI : BaseUI
{
private PersonViewUICtrl ctrl;
private PersonViewModel model;
private FGUI.ZM_Setting_07.com_person ui;
private int selectIndex = -1;
private int total_item;
public PersonalUI(PersonViewUICtrl ctrl) : base(ctrl)
{
uiName = UIConst.PersonViewUI;
this.ctrl = ctrl;
}
protected override void SetUIInfo(UIInfo uiInfo)
{
uiInfo.packageName = "ZM_Setting_07";
uiInfo.assetName = "com_person";
uiInfo.layerType = UILayerType.Popup;
uiInfo.isNeedOpenAnim = false;
uiInfo.isNeedCloseAnim = false;
uiInfo.isNeedUIMask = true;
}
#region
protected override void OnInit()
{
model = moduleManager.GetModel(ModelConst.PersonViewModel) as PersonViewModel;
}
protected override void OnClose()
{
CommonHelper.FadeOut(ui);
}
protected override void OnBind()
{
ui = baseUI as FGUI.ZM_Setting_07.com_person;
}
protected override void OnOpenBefore(object args)
{
total_item = 8;
selectIndex = DataMgr.PlayerAvatarId.Value;
InitView();
}
protected override void OnOpen(object args)
{
// CommonHelper.FadeIn(ui);
ui.showAnim.Play();
}
protected override void OnHide()
{
}
protected override void OnDisplay(object args)
{
}
#endregion
#region
protected override void AddListener()
{
HallManager.Instance.AddChangeGiftSwitch(InitView);
}
protected override void RemoveListener()
{
HallManager.Instance.RemoveChangeGiftSwitch(InitView);
}
#endregion
private void InitView()
{
var namStr = GameHelper.GetUserName();
ui.edit_name.input.text = namStr;
ui.btn_update.SetClick(UpdateUserInfo);
ui.edit_name.btn_amend.SetClick(SaveName);
ui.com_task.SetClick(OnCloseView);
ui.list.itemRenderer = UpdateItem;
ui.list.numItems = total_item;
}
private void UpdateItem(int index, GObject items)
{
var currentIndex = index + 1;
var head = items as btn_item_head;
var btn_head = head.head as btn_head;
var headcom = btn_head.head as head;
TextureHelper.SetAvatarToLoader(currentIndex, headcom.load_avatar);
head.head_select.selectedIndex = selectIndex == currentIndex
? btn_item_head.Head_select_select
: btn_item_head.Head_select_none;
head.SetClick(() =>
{
selectIndex = currentIndex;
ui.list.numItems = total_item;
});
}
private void UpdateUserInfo()
{
if (selectIndex != -1)
{
DataMgr.PlayerAvatarId.Value = selectIndex;
}
SaveName();
OnCloseView();
}
private void SaveName()
{
var name = ui.edit_name.input.text;
if (string.IsNullOrEmpty(name) || name.IsNullOrWhiteSpace())
{
GameHelper.ShowTips("empty_input", true);
return;
}
// if (name.Equals(GameHelper.GetPlayerInviteCode()))
// {
// return;
// }
if (name.Equals(DataMgr.PlayerName.Value)) return;
GameHelper.ShowTips("save_name", true);
DataMgr.PlayerName.Value = name;
}
private void OnCloseView()
{
ui.hideAnim.Play(() =>
{
CtrlCloseUI();
});
}
}
}