//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Thursday, January 18, 2018 //-------------------------------------------------------- using vnxbqy.UI; using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace vnxbqy.UI { public class FamilyChangeNameWin : Window { [SerializeField] Button m_CloseBtn; [SerializeField] Button m_ConfirmBtn; [SerializeField] Text m_FairyNameTxt; [SerializeField] InputField m_FairyNameInput; FairyModel m_Model; FairyModel model { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel()); } } #region Built-in protected override void BindController() { } protected override void AddListeners() { m_CloseBtn.onClick.AddListener(CloseClick); m_ConfirmBtn.onClick.AddListener(ConfirmBtn); } protected override void OnPreOpen() { model.UpdateFairyChangeNameEvent += UpdateFairyChangeNameEvent; } protected override void OnAfterOpen() { if (!PlayerDatas.Instance.fairyData.HasFairy) { CloseImmediately(); } m_FairyNameTxt.text = Language.Get("FamliyNameChangeCheck", UIHelper.ServerStringTrim(PlayerDatas.Instance.fairyData.fairy.FamilyName)); } protected override void OnPreClose() { model.UpdateFairyChangeNameEvent -= UpdateFairyChangeNameEvent; } protected override void OnAfterClose() { } #endregion private void ConfirmBtn() { if (PlayerDatas.Instance.PlayerId != PlayerDatas.Instance.fairyData.Leader.PlayerID) { SysNotifyMgr.Instance.ShowTip("FamilyNameChangeOnluZhu"); return; } if (PlayerDatas.Instance.fairyData.fairy.FamilyName.Equals(m_FairyNameInput.text)) { SysNotifyMgr.Instance.ShowTip("FamilyNameChangeNo"); return; } var _errorCode = 0; if (!model.CheckFairyNameLimit(m_FairyNameInput.text, out _errorCode)) { model.ShowFairyNameErrorTip(_errorCode); return; } ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("FamilyNameChangeTipInfo", UIHelper.ServerStringTrim(PlayerDatas.Instance.fairyData.fairy.FamilyName) , m_FairyNameInput.text), (bool _isOk) => { if (_isOk) { if(ItemOperateUtility.Instance.useItemModel != null) { if(ItemOperateUtility.Instance.useItemModel.itemId == model.changeFairyNameItem) { model.SendChangeFairyName(m_FairyNameInput.text, ItemOperateUtility.Instance.useItemModel.gridIndex); } } } }); } private void UpdateFairyChangeNameEvent(int _result) { switch (_result) { case 0: SysNotifyMgr.Instance.ShowTip("FamilyNameChangeError"); break; case 1: CloseImmediately(); break; case 2: case 3: model.ShowFairyNameErrorTip(1); break; case 4: SysNotifyMgr.Instance.ShowTip("FamilyNameChangeUsed"); break; } } } }