using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; /// /// 公会改名界面 /// public class GuildChangeNameWin : UIBase { [SerializeField] InputField guildNameText; [SerializeField] Text cdTimeText; [SerializeField] Image moneyIcon; [SerializeField] Text moneyText; [SerializeField] Button changeNameBtn; protected override void InitComponent() { changeNameBtn.AddListener(ChangeName); } protected override void OnPreOpen() { GlobalTimeEvent.Instance.secondEvent += ShowTime; Display(); } protected override void OnPreClose() { GlobalTimeEvent.Instance.secondEvent -= ShowTime; } void Display() { var guildInfo = PlayerDatas.Instance.fairyData.fairy; if (guildInfo == null) return; guildNameText.text = guildInfo.FamilyName; moneyIcon.SetIconWithMoneyType(GuildManager.Instance.renameFairyNameMoneyType); moneyText.text = UIHelper.ShowUseMoney(GuildManager.Instance.renameFairyNameMoneyType, GuildManager.Instance.renameFairyNameCost); ShowTime(); } void ShowTime() { if (GuildManager.Instance.TryGetFamilyActions(0, out var familyActions)) { var lastTime = familyActions.IsNullOrEmpty() ? 0 : familyActions[0].Value1; var cdTime = GuildManager.Instance.renameFairyNameCD * 3600 - (TimeUtility.AllSeconds - (int)lastTime); if (cdTime <= 0) { cdTimeText.text = Language.Get("Guild_51", GuildManager.Instance.renameFairyNameCD); changeNameBtn.SetInteractable(true); GlobalTimeEvent.Instance.secondEvent -= ShowTime; } else { cdTimeText.text = Language.Get("Guild_49") + TimeUtility.SecondsToHMSEx(cdTime); changeNameBtn.SetInteractable(false); } } else { cdTimeText.text = Language.Get("Guild_51", GuildManager.Instance.renameFairyNameCD); changeNameBtn.SetInteractable(true); GlobalTimeEvent.Instance.secondEvent -= ShowTime; } } void ChangeName() { if (!UIHelper.CheckMoneyCount(GuildManager.Instance.renameFairyNameMoneyType, GuildManager.Instance.renameFairyNameCost, 2)) { return; } if (GuildManager.Instance.CheckName(guildNameText.text)) { UIManager.Instance.CloseWindow(); var pack = new CA611_tagCMRenameFamily(); pack.NewName = guildNameText.text; pack.NewNameLen = (byte)pack.NewName.Length; // GameNetSystem.Instance.SendInfo(pack); } } }