using System.Collections.Generic; using System.Text; using System.Text.RegularExpressions; using UnityEngine; using UnityEngine.UI; namespace vnxbqy.UI { public class RoleRenameWin : Window { [SerializeField] InputField renameInput; [SerializeField] Button sureBtn; [SerializeField] Button closeBtn; [SerializeField] ItemCell itemCell; PackModel playerPack { get { return ModelCenter.Instance.GetModel(); } } RoleModel roleModel { get { return ModelCenter.Instance.GetModel(); } } 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.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 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); } }); } }); } } }