using System.Collections.Generic;
|
using System.Text;
|
using System.Text.RegularExpressions;
|
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace Snxxz.UI
|
{
|
public class RoleRenameWin : Window
|
{
|
[SerializeField] InputField renameInput;
|
[SerializeField] Button sureBtn;
|
[SerializeField] Button closeBtn;
|
[SerializeField] ItemCell itemCell;
|
PackModel playerPack { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
|
|
RoleModel roleModel { get { return ModelCenter.Instance.GetModel<RoleModel>(); } }
|
public const int renameToolId = 953;
|
protected override void BindController()
|
{
|
|
}
|
protected override void AddListeners()
|
{
|
sureBtn.AddListener(ClickRenameBtn);
|
closeBtn.AddListener(CloseClick);
|
}
|
protected override void OnPreOpen()
|
{
|
OnDisplay();
|
}
|
protected override void OnAfterOpen()
|
{
|
|
}
|
protected override void OnPreClose()
|
{
|
|
}
|
protected override void OnAfterClose()
|
{
|
|
}
|
|
private void OnDisplay()
|
{
|
ItemConfig itemConfig = ItemConfig.Get(renameToolId);
|
if (itemConfig == null) return;
|
ItemCellModel cellModel = new ItemCellModel(renameToolId, false,(ulong)GetRenameToolNum());
|
itemCell.Init(cellModel);
|
itemCell.countText.gameObject.SetActive(true);
|
if(GetRenameToolNum() > 0)
|
{
|
itemCell.countText.text = StringUtility.Contact(UIHelper.AppendColor(TextColType.Green,GetRenameToolNum().ToString()),
|
"/",1);
|
}
|
else
|
{
|
itemCell.countText.text = StringUtility.Contact(UIHelper.AppendColor(TextColType.Red,0.ToString()),
|
"/", 1);
|
}
|
itemCell.button.RemoveAllListeners();
|
itemCell.button.AddListener(()=>
|
{
|
ItemTipUtility.Show(renameToolId);
|
});
|
}
|
|
private int GetRenameToolNum()
|
{
|
return playerPack.GetItemCountByID(PackType.Item, renameToolId);
|
}
|
|
private int GetRenameToolIndex()
|
{
|
SinglePack singlePack = playerPack.GetSinglePack(PackType.Item);
|
if (singlePack == null) return 0;
|
|
List<int> indexlist = singlePack.GetItemIndexsAppointedCount(renameToolId, 1);
|
if(indexlist.Count > 0)
|
{
|
return indexlist[0] + 1;
|
}
|
return 0;
|
}
|
|
private void ClickRenameBtn()
|
{
|
if (renameInput.text.Equals(string.Empty))
|
{
|
ServerTipDetails.DisplayNormalTip(Language.Get("CreateRole_NameNull"));
|
return;
|
}
|
if(GetRenameToolNum() < 1)
|
{
|
ItemTipUtility.Show(renameToolId);
|
return;
|
}
|
|
int error = 0;
|
if (!UIHelper.SatisfyNameLength(renameInput.text, out error))
|
{
|
switch (error)
|
{
|
case 1:
|
ServerTipDetails.DisplayNormalTip(Language.Get("CreateRole_NameLimit"));
|
break;
|
case 2:
|
ServerTipDetails.DisplayNormalTip(Language.Get("CreateRole_NameShort"));
|
break;
|
}
|
return;
|
}
|
if (DirtyWordConfig.IsDirtWord(renameInput.text) || UIHelper.HasSpecialCharac(renameInput.text)
|
|| DirtyNameConfig.IsDirtName(renameInput.text))
|
{
|
ServerTipDetails.DisplayNormalTip(Language.Get("L1007"));
|
return;
|
}
|
|
ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"),Language.Get("RenameText_01", renameInput.text), (bool isOk) =>
|
{
|
if (isOk)
|
{
|
LanguageVerify.Instance.VerifyPlayerName(renameInput.text, (int)PlayerDatas.Instance.baseData.PlayerID,
|
UIHelper.ServerStringTrim(PlayerDatas.Instance.baseData.PlayerName), PlayerDatas.Instance.baseData.LV,
|
PlayerDatas.Instance.baseData.VIPLv, (bool ok, string name) =>
|
{
|
if (ok)
|
{
|
roleModel.SetRename(name);
|
CA122_tagUpdatePlayerName renamePlayerName = new CA122_tagUpdatePlayerName();
|
renamePlayerName.NewNameLen = (byte)ChatCtrl.GetUTF8InfoLen(name);
|
renamePlayerName.NewName = name;
|
renamePlayerName.ItemIndex = (byte)GetRenameToolIndex();
|
renamePlayerName.ServerID = (uint)ServerListCenter.Instance.currentServer.region_flag;
|
GameNetSystem.Instance.SendInfo(renamePlayerName);
|
}
|
|
});
|
}
|
});
|
|
}
|
}
|
}
|