123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215 |
- using System.Collections.Generic;
- using Excel2Json;
- using Fort23.Core;
- using Fort23.UTool;
- using GameLogic.Bag;
- using GameLogic.Combat.CombatTool;
- using UnityEngine;
- namespace Fort23.Mono
- {
- [UIBinding(prefab = "ShopBoxWidget" )]
- public partial class ShopBoxWidget : UIComponent
- {
- private OpenBoxConfig openBoxConfig;
- private AccountFileInfo.SummonData summonData;
- 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<string, string>();
- 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<string, string>();
- dic.Add("Chouka", "");
- // YouLoftSDK.Instance.CustomEvent("AdsPlayOver", dic);
- AccountFileInfo.Instance.playerData.boxFree = true;
- AccountFileInfo.Instance.SavePlayerData();
- // Btn_AdsFree.gameObject.SetActive(false);
- List<ItemInfo> allIitem = await BoxHelper.TenBox(openBoxConfig.ID, true);
- if (allIitem != null)
- GachaPanel.OpenPanel(allIitem, 2, openBoxConfig.ID);
- });
- }
- private async void OnButtonCallBack()
- {
- if (summonData.isSummonSocre)
- {
- TipMessagePanel.OpenTipMessagePanel("已经开启300抽挑战,不能进行单抽了");
- return;
- }
-
- //测试代码
- List<ItemInfo> allIitem = await BoxHelper.OneBox(openBoxConfig.ID);
- if (allIitem != null)
- GachaPanel.OpenPanel(allIitem, 1, openBoxConfig.ID);
- UpdateUi();
- }
- private async void TenButtonCallBack()
- {
- //测试代码
- List<ItemInfo> allIitem = await BoxHelper.TenBox(openBoxConfig.ID);
- if (allIitem != null)
- GachaPanel.OpenPanel(allIitem, 2, openBoxConfig.ID);
- UpdateUi();
- }
- public override void Close()
- {
- CombatController.currActiveCombat.isUpdate = true;
- base.Close();
- }
- public void CustomInit()
- {
- CombatController.currActiveCombat.isUpdate = false;
- openBoxConfig = ConfigComponent.Instance.Get<OpenBoxConfig>(1);
- ItemConfig config = ConfigComponent.Instance.Get<ItemConfig>(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);
- Text_TenFree.text = PlayerManager.TimeToHSM(time / 1000);
- }
- else
- {
- if (Text_TenFree.gameObject.activeSelf)
- {
- Text_TenFree.gameObject.SetActive(false);
- if (summonData.tenFreeCount < openBoxConfig.oneConsumeFreePara_1[1])
- {
- tenCion.text = "免费";
- }
- else
- {
- tenCion.text = "x" + openBoxConfig.tenConsume;
- }
- }
- }
- if (summonData.oneFreeCount < openBoxConfig.oneConsumeFreePara[1] && PlayerManager.Instance.serverTime < summonData.nextOneFreeTime)
- {
- int time = (int)(summonData.nextOneFreeTime - PlayerManager.Instance.serverTime);
- Text_OneFree.text = PlayerManager.TimeToHSM(time / 1000);
- }
- else
- {
- if (Text_OneFree.gameObject.activeSelf)
- {
- Text_OneFree.gameObject.SetActive(false);
- if (summonData.oneFreeCount < openBoxConfig.oneConsumeFreePara[1])
- {
- onCion.text = "免费";
- }
- else
- {
- onCion.text = "x" + openBoxConfig.oneConsume;
- }
- }
- }
- }
- public void UpdateUi()
- {
- summonData = PlayerManager.Instance.SummonManager.summonDataMap[1];
- if (summonData.tenFreeCount < openBoxConfig.oneConsumeFreePara_1[1] && PlayerManager.Instance.serverTime >= summonData.nextTenFreeTime)
- {
- Text_TenFree.gameObject.SetActive(false);
- tenCion.text = "免费";
- }
- //今日次数已用完
- else if (summonData.tenFreeCount >= openBoxConfig.oneConsumeFreePara_1[1])
- {
- Text_TenFree.gameObject.SetActive(false);
- tenCion.text = "x" + openBoxConfig.tenConsume;
- }
- else
- {
- Text_TenFree.gameObject.SetActive(true);
- tenCion.text = "x" + openBoxConfig.tenConsume;
- }
- if (summonData.oneFreeCount < openBoxConfig.oneConsumeFreePara[1] && PlayerManager.Instance.serverTime >= summonData.nextOneFreeTime)
- {
- Text_OneFree.gameObject.SetActive(false);
- onCion.text = "免费";
- }
- else if (summonData.oneFreeCount >= openBoxConfig.oneConsumeFreePara[1])
- {
- onCion.text = "x" + openBoxConfig.oneConsume;
- Text_OneFree.gameObject.SetActive(false);
- }
- else
- {
- onCion.text = "x" + openBoxConfig.oneConsume;
- Text_OneFree.gameObject.SetActive(true);
- }
- }
- }
- }
|