using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
/// <summary>
|
/// 公会改名界面
|
/// </summary>
|
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<GuildOPWin>();
|
var pack = new CA611_tagCMRenameFamily();
|
pack.NewName = guildNameText.text;
|
pack.NewNameLen = (byte)pack.NewName.Length;
|
// GameNetSystem.Instance.SendInfo(pack);
|
}
|
}
|
|
}
|