using System.Collections.Generic; using Core.Language; using Excel2Json; using Fort23.Core; using Fort23.UTool; using GameLogic.Bag; using GameLogic.Combat.CombatTool; using UnityEngine; using UnityEngine.UI; namespace Fort23.Mono { [UIBinding(prefab = "ShopBoxWidget")] public partial class ShopBoxWidget : UIComponent { private OpenBoxConfig openBoxConfig; private AccountFileInfo.SummonData summonData; bool oneBiaoJi = false; private void Init() { } public override void AddEvent() { StaticUpdater.Instance.AddRenderUpdateCallBack(Update); } public override void DelEvent() { StaticUpdater.Instance.RemoveRenderUpdateCallBack(Update); } private bool isStartAd = false; public override void AddButtonEvent() { oneButton.onClick.AddListener(OnButtonCallBack); tenButton.onClick.AddListener(TenButtonCallBack); // Btn_AdsFree.onClick.AddListener(async () => // { // if (AccountFileInfo.Instance.playerData.boxFree) // { // TipMessagePanel.OpenTipMessagePanel(938, Vector2.zero); // return; // } // // if (isStartAd) // return; // isStartAd = true; // // var dic = new Dictionary(); // dic.Add("Chouka", ""); // // YouLoftSDK.Instance.CustomEvent("OnclickAds", dic); // // bool isOK = await YouLoftSDK.Instance.ShowAd(); // bool isOK = true; // isStartAd = false; // // if (!isOK) // { // return; // } // // dic = new Dictionary(); // dic.Add("Chouka", ""); // // YouLoftSDK.Instance.CustomEvent("AdsPlayOver", dic); // AccountFileInfo.Instance.playerData.boxFree = true; // AccountFileInfo.Instance.SavePlayerData(); // // Btn_AdsFree.gameObject.SetActive(false); // // List allIitem = await BoxHelper.TenBox(openBoxConfig.ID, true); // if (allIitem != null) // GachaPanel.OpenPanel(allIitem, 2, openBoxConfig.ID); // }); } private async void OnButtonCallBack() { if (summonData.isSummonSocre) { TipMessagePanelType2.OpenTipMessagePanel("已经开启300抽挑战,不能进行单抽了"); return; } if (summonData.oneFreeCount >= openBoxConfig.oneConsumeFreePara[1]) { TipMessagePanelType2.OpenTipMessagePanel("今日单抽免费次数已用完"); return; } if (PlayerManager.Instance.serverTime < summonData.nextOneFreeTime) { TipMessagePanelType2.OpenTipMessagePanel("还未到达免费时间!请稍好再试"); return; } //测试代码 List allIitem = await BoxHelper.OneBox(openBoxConfig.ID); if (allIitem != null) ShopGachaPanel.OpenPanel(allIitem, 1, openBoxConfig.ID); UpdateUi(); } private async void TenButtonCallBack() { //测试代码 List allIitem = await BoxHelper.TenBox(openBoxConfig.ID); if (allIitem != null) ShopGachaPanel.OpenPanel(allIitem, 2, openBoxConfig.ID); else { LogTool.Error("失败1"); } UpdateUi(); } public override void Close() { CombatController.currActiveCombat.isUpdate = true; base.Close(); } public void CustomInit() { CombatController.currActiveCombat.isUpdate = false; openBoxConfig = ConfigComponent.Instance.Get(1); ItemConfig config = ConfigComponent.Instance.Get(openBoxConfig.CostItemID); // icon_Oneitem.icon_name = config.icon; // Icon_TenItem.icon_name = config.icon; onCion.text = "x" + openBoxConfig.oneConsume; tenCion.text = "x" + openBoxConfig.tenConsume; UpdateUi(); } public void Update() { if (summonData == null) return; if (summonData.tenFreeCount < openBoxConfig.oneConsumeFreePara_1[1] && PlayerManager.Instance.serverTime < summonData.nextTenFreeTime) { int time = (int)(summonData.nextTenFreeTime - PlayerManager.Instance.serverTime); tenCion.text = PlayerManager.TimeToHSM(time / 1000); if (!Icon_Ads.gameObject.activeSelf) { Icon_Ads.gameObject.SetActive(true); } } else { if (summonData.tenFreeCount < openBoxConfig.oneConsumeFreePara_1[1]) { if (Icon_Ads.gameObject.activeSelf) { tenCion.text = LanguageManager.Instance.Text(10235); Icon_Ads.gameObject.SetActive(false); } } else { if (!Icon_Ads.gameObject.activeSelf) { tenCion.text = LanguageManager.Instance.Text(10268); Icon_Ads.gameObject.SetActive(true); } } } if (summonData.oneFreeCount < openBoxConfig.oneConsumeFreePara[1] && PlayerManager.Instance.serverTime < summonData.nextOneFreeTime) { int time = (int)(summonData.nextOneFreeTime - PlayerManager.Instance.serverTime); onCion.text = PlayerManager.TimeToHSM(time / 1000); if (!oneBiaoJi) { oneBiaoJi = true; oneButton.image.GetComponent().IsGray = true; } } else { if (summonData.oneFreeCount < openBoxConfig.oneConsumeFreePara[1]) { if (oneBiaoJi) { onCion.text = LanguageManager.Instance.Text(10235); oneBiaoJi = false; oneButton.image.GetComponent().IsGray = false; } } else { if (!oneBiaoJi) { onCion.text = LanguageManager.Instance.Text(10268); oneBiaoJi = true; oneButton.image.GetComponent().IsGray = false; } } } } public void UpdateUi() { summonData = PlayerManager.Instance.SummonManager.summonDataMap[1]; if (summonData.tenFreeCount < openBoxConfig.oneConsumeFreePara_1[1] && PlayerManager.Instance.serverTime >= summonData.nextTenFreeTime) { tenCion.text = LanguageManager.Instance.Text(10235); } //今日次数已用完 else if (summonData.tenFreeCount >= openBoxConfig.oneConsumeFreePara_1[1]) { onCion.text = LanguageManager.Instance.Text(10268); } else { } if (summonData.oneFreeCount < openBoxConfig.oneConsumeFreePara[1] && PlayerManager.Instance.serverTime >= summonData.nextOneFreeTime) { onCion.text = LanguageManager.Instance.Text(10235); oneButton.image.GetComponent().IsGray = false; oneBiaoJi = true; } else if (summonData.oneFreeCount >= openBoxConfig.oneConsumeFreePara[1]) { onCion.text = LanguageManager.Instance.Text(10268); oneButton.image.GetComponent().IsGray = true; oneBiaoJi = false; } else { oneButton.image.GetComponent().IsGray = true; oneBiaoJi = false; } } } }