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);
}
}
}