123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191 |
- using System.Collections.Generic;
- using Core.Language;
- using Core.Utility;
- using Excel2Json;
- using Fort23.Core;
- using Fort23.UTool;
- using GameLogic.Bag;
- using GameLogic.Combat.CombatTool;
- using GameLogic.Player;
- using UnityEngine;
- namespace Fort23.Mono
- {
- public static class BoxHelper
- {
- public async static CTask<List<ItemInfo>> TenBox(int configId, bool isFree = false)
- {
- OpenBoxConfig openBoxConfig = ConfigComponent.Instance.Get<OpenBoxConfig>(configId);
- if (PlayerManager.Instance.BagController.IsEnough(GlobalParam.Item_Coin_ID, openBoxConfig.tenConsume) || isFree)
- {
- PlayerManager.Instance.BagController.DeductCoin(openBoxConfig.tenConsume);
- List<ItemInfo> allIitem = new List<ItemInfo>();
- for (int i = 0; i < 10; i++)
- {
- List<ItemInfo> currItem = DropManager.Instance.DropItem(openBoxConfig.reward);
- allIitem.AddRange(currItem);
- }
- PlayerManager.Instance.BagController.AddItem(allIitem);
- return allIitem;
- }
- else
- {
- bool isOK = await TipsPanle.OpenPnael(1041);
- if (isOK)
- {
- ShopPanel.OpenPanel();
- }
- return null;
- }
- }
- public async static CTask<List<ItemInfo>> OneBox(int configId)
- {
- OpenBoxConfig openBoxConfig = ConfigComponent.Instance.Get<OpenBoxConfig>(configId);
- if (PlayerManager.Instance.BagController.IsEnough(GlobalParam.Item_Coin_ID, openBoxConfig.oneConsume))
- {
- PlayerManager.Instance.BagController.DeductCoin(openBoxConfig.oneConsume);
- List<ItemInfo> allIitem = DropManager.Instance.DropItem(openBoxConfig.reward);
- PlayerManager.Instance.BagController.AddItem(allIitem);
- return allIitem;
- }
- else
- {
- bool isOK = await TipsPanle.OpenPnael(1041);
- if (isOK)
- {
- ShopPanel.OpenPanel();
- }
- // TipMessagePanel.OpenTipMessagePanel(LanguageManager.Instance.Text(102), Vector2.zero);
- return null;
- }
- }
- }
- [UIBinding(prefab = "BoxPanel")]
- public partial class BoxPanel : UIPanel
- {
- private OpenBoxConfig openBoxConfig;
- public static async void OpenBoxPanel()
- {
- BoxPanel boxPanel = await UIManager.Instance.LoadAndOpenPanel<BoxPanel>(null, layer: UILayer.Top);
- boxPanel.OpenPanel();
- }
- private void Init()
- {
- isAddStack = false;
- IsShowAppBar = false;
- }
- protected override void AddEvent()
- {
- }
- protected override void DelEvent()
- {
- }
- private bool isStartAd = false;
- public override void AddButtonEvent()
- {
- oneButton.onClick.AddListener(OnButtonCallBack);
- tenButton.onClick.AddListener(TenButtonCallBack);
- close.onClick.AddListener(CloseButtonCallBack);
- bg.onClick.AddListener(CloseButtonCallBack);
- 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()
- {
- //测试代码
- List<ItemInfo> allIitem = await BoxHelper.OneBox(openBoxConfig.ID);
- if (allIitem != null)
- GachaPanel.OpenPanel(allIitem, 1, openBoxConfig.ID);
- }
- private async void TenButtonCallBack()
- {
- //测试代码
- List<ItemInfo> allIitem = await BoxHelper.TenBox(openBoxConfig.ID);
- if (allIitem != null)
- GachaPanel.OpenPanel(allIitem, 2, openBoxConfig.ID);
- }
- private void CloseButtonCallBack()
- {
- UIManager.Instance.HideUIUIPanel(this);
- EventManager.Instance.Dispatch(CustomEventType.Combat_EquipFall, null);
- }
- public override void Close()
- {
- CombatController.currActiveCombat.isUpdate = true;
- base.Close();
- }
- public void OpenPanel()
- {
- CombatController.currActiveCombat.isUpdate = false;
- openBoxConfig = ConfigComponent.Instance.Get<OpenBoxConfig>(1);
- onCion.text = "x" + openBoxConfig.oneConsume;
- tenCion.text = "x" + openBoxConfig.tenConsume;
- if (AccountFileInfo.Instance.playerData.boxFree)
- {
- Btn_AdsFree.gameObject.SetActive(false);
- }
- else
- {
- Btn_AdsFree.gameObject.SetActive(true);
- }
- }
- }
- }
|