using System;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
public class RenameWin : UIBase
|
{
|
[SerializeField] InputField input;
|
[SerializeField] Button btnOk;
|
[SerializeField] Button btnRandom;
|
[SerializeField] TextEx txtFirst;
|
[SerializeField] TextEx txtNeedCount;
|
[SerializeField] ImageEx imgIcon;
|
|
RenameManager manager { get { return RenameManager.Instance; } }
|
protected override void InitComponent()
|
{
|
base.InitComponent();
|
btnRandom.SetListener(() =>
|
{
|
input.text = manager.GetSafeRandomName();
|
});
|
|
btnOk.SetListener(() =>
|
{
|
bool isFirstRename = manager.IsFirstRename();
|
if (!isFirstRename && !UIHelper.CheckItemCount(manager.costItemID, 1, 2))
|
return;
|
|
if (!manager.CheckNameLimit(input.text, out var errorCode))
|
{
|
manager.ShowNameErrorTip(errorCode);
|
return;
|
}
|
|
manager.SendRenamePack(input.text);
|
CloseWindow();
|
});
|
}
|
|
protected override void OnPreOpen()
|
{
|
base.OnPreOpen();
|
manager.OnUpdatePlayerNameCountEvent += OnUpdatePlayerNameCount;
|
manager.OnUpdateRenameResultEvent += OnUpdateRenameResultEvent;
|
PackManager.Instance.RefreshItemEvent += OnRefreshItemEvent;
|
Display();
|
}
|
|
protected override void OnPreClose()
|
{
|
base.OnPreClose();
|
manager.OnUpdatePlayerNameCountEvent -= OnUpdatePlayerNameCount;
|
manager.OnUpdateRenameResultEvent -= OnUpdateRenameResultEvent;
|
PackManager.Instance.RefreshItemEvent -= OnRefreshItemEvent;
|
}
|
|
private void OnRefreshItemEvent(PackType type, int index, int itemID)
|
{
|
if (type != PackType.Item)
|
return;
|
if (itemID != manager.costItemID)
|
return;
|
Display();
|
}
|
|
private void OnUpdateRenameResultEvent()
|
{
|
Display();
|
}
|
|
private void OnUpdatePlayerNameCount()
|
{
|
Display();
|
}
|
|
void Display()
|
{
|
bool isFirstRename = manager.IsFirstRename();
|
txtFirst.SetActive(isFirstRename);
|
txtNeedCount.SetActive(!isFirstRename);
|
|
if (!isFirstRename)
|
{
|
imgIcon.SetItemSprite(manager.costItemID);
|
txtNeedCount.text = UIHelper.ShowUseItem(PackType.Item, manager.costItemID, 1);
|
}
|
}
|
}
|