using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
///
/// 招募
///
public class HeroCallWin : UIBase
{
[SerializeField] Button ruleBtn;
[SerializeField] OwnItemCell ownItemCell;
[SerializeField] Button scoreBtn;
[SerializeField] Text scoreText;
[SerializeField] GameObject scoreTween;
[SerializeField] Toggle skipToggle;
[SerializeField] Button call1Btn;
[SerializeField] Image call1ItemIcon;
[SerializeField] Text call1Text;
[SerializeField] Text freeCDTime;
[SerializeField] Button call10Btn;
[SerializeField] Image call10ItemIcon;
[SerializeField] Text call10Text;
[SerializeField] Button closeBtn;
protected override void InitComponent()
{
closeBtn.AddListener(CloseWindow);
skipToggle.AddListener((value) =>
{
LocalSave.SetBool(HeroUIManager.skipKey, value);
});
ownItemCell.itemID = TreasureSetConfig.Get((int)HappXBTitle.HeroCallAdvanced).CostItemID;
call1Btn.AddListener(SendHeroCall);
call10Btn.AddListener(() =>
{
HeroUIManager.Instance.selectCallType = HappXBTitle.HeroCallAdvanced;
HeroUIManager.Instance.selectCallIndex = 1;
HappyXBModel.Instance.SendXBManyQuest((int)HappXBTitle.HeroCallAdvanced);
});
scoreBtn.AddListener(() =>
{
UIManager.Instance.OpenWindow();
});
ruleBtn.AddListener(() =>
{
UIManager.Instance.OpenWindow();
});
}
protected override void OnPreOpen()
{
HappyXBModel.Instance.RefreshXBTypeInfoAct += Refresh;
skipToggle.isOn = LocalSave.GetBool(HeroUIManager.skipKey, false);
Refresh();
}
protected override void OnPreClose()
{
HappyXBModel.Instance.RefreshXBTypeInfoAct -= Refresh;
}
public override void Refresh()
{
var funcSet = TreasureSetConfig.Get((int)HappXBTitle.HeroCallAdvanced);
var item = ItemConfig.Get(funcSet.CostItemID);
var IconKey = item.IconKey;
call1ItemIcon.SetOrgSprite(IconKey);
call10ItemIcon.SetOrgSprite(IconKey);
var itemCount = PackManager.Instance.GetItemCountByID(PackType.Item, funcSet.CostItemID);
if (HappyXBModel.Instance.IsHaveFreeXB((int)HappXBTitle.HeroCallAdvanced))
{
call1Text.text = Language.Get("L1127");
}
else
{
call1Text.text = Language.Get("L1100", item.ItemName, UIHelper.AppendColor(funcSet.CostItemCountList[0] > itemCount ? TextColType.Red :TextColType.LightWhite, funcSet.CostItemCountList[0].ToString()));
}
call10Text.text = Language.Get("L1100", item.ItemName, UIHelper.AppendColor(funcSet.CostItemCountList[1] > itemCount ? TextColType.Red : TextColType.LightWhite, funcSet.CostItemCountList[1].ToString()));
scoreText.text = UIHelper.GetMoneyCnt(51) + "/" + TreasureSetConfig.Get((int)HappXBTitle.HeroCallScore).CostMoneyList[0];
if (UIHelper.GetMoneyCnt(51) >= TreasureSetConfig.Get((int)HappXBTitle.HeroCallScore).CostMoneyList[0])
{
scoreTween.SetActive(true);
}
else
{
scoreTween.SetActive(false);
}
RefreshFreeTime();
}
//每秒刷新免费CD的倒计时
float cdTime = 0;
void LateUpdate()
{
//每秒触发一次
cdTime += Time.deltaTime;
if (cdTime < 1) return;
cdTime = 0;
RefreshFreeTime();
}
void RefreshFreeTime()
{
if (HappyXBModel.Instance.IsHaveFreeXB((int)HappXBTitle.HeroCallAdvanced))
{
freeCDTime.SetActive(false);
}
else
{
freeCDTime.SetActive(true);
freeCDTime.text = Language.Get("L1128", TimeUtility.SecondsToHMS(TimeUtility.GetTodayRemainSeconds()));
}
}
void SendHeroCall()
{
HeroUIManager.Instance.selectCallType = HappXBTitle.HeroCallAdvanced;
HeroUIManager.Instance.selectCallIndex = 0;
if (HappyXBModel.Instance.IsHaveFreeXB((int)HappXBTitle.HeroCallAdvanced))
{
HappyXBModel.Instance.SendXBQuest((int)HappXBTitle.HeroCallAdvanced, 0, 1);
}
else
{
HappyXBModel.Instance.SendOneXBQuest((int)HappXBTitle.HeroCallAdvanced);
}
}
}