| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306 | 
							- using System.Collections.Generic;
 
- using Core.Audio;
 
- 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)
 
-         {
 
-             AccountFileInfo.SummonData summonData = PlayerManager.Instance.SummonManager.summonDataMap[configId];
 
-             OpenBoxConfig openBoxConfig = ConfigComponent.Instance.Get<OpenBoxConfig>(configId);
 
-             //有免费次数,并且让到时间了就免费抽
 
-             if (summonData.tenFreeCount < openBoxConfig.oneConsumeFreePara_1[1] &&
 
-                 PlayerManager.Instance.serverTime >= summonData.nextTenFreeTime)
 
-             {
 
-                 return await PlayerManager.Instance.SummonManager.Summon(configId, 10);
 
-             }
 
-             else
 
-             {
 
-                 //验证道具是否足够
 
-                 if (openBoxConfig.CostItemID != 1007 && !PlayerManager.Instance.BagController.IsEnough(
 
-                         openBoxConfig.CostItemID,
 
-                         openBoxConfig.tenConsume))
 
-                 {
 
-                     ItemSourcePanel.OpenPanel(openBoxConfig.CostItemID);
 
-                     return null;
 
-                 }
 
-                 return await PlayerManager.Instance.SummonManager.Summon(configId, 10);
 
-             }
 
-         }
 
-         public async static CTask<List<ItemInfo>> OneBox(int configId)
 
-         {
 
-             AccountFileInfo.SummonData summonData = PlayerManager.Instance.SummonManager.summonDataMap[configId];
 
-             OpenBoxConfig openBoxConfig = ConfigComponent.Instance.Get<OpenBoxConfig>(configId);
 
-             //有免费次数,并且让到时间了就免费抽
 
-             if (summonData.oneFreeCount < openBoxConfig.oneConsumeFreePara[1] &&
 
-                 PlayerManager.Instance.serverTime >= summonData.nextOneFreeTime)
 
-             {
 
-                 return await PlayerManager.Instance.SummonManager.Summon(configId, 1);
 
-             }
 
-             else
 
-             {
 
-                 //验证道具是否足够
 
-                 if (openBoxConfig.CostItemID != 1007 && !PlayerManager.Instance.BagController.IsEnough(
 
-                         openBoxConfig.CostItemID,
 
-                         openBoxConfig.oneConsume))
 
-                 {
 
-                     ItemSourcePanel.OpenPanel(openBoxConfig.CostItemID);
 
-                     return null;
 
-                 }
 
-                 if (PlayerGuideManager.Instance.curPhase == 8 && openBoxConfig.ID == 2)
 
-                 {
 
-                     PlayerManager.Instance.BagController.DeductItem(openBoxConfig.CostItemID, openBoxConfig.oneConsume);
 
-                     var item = DropManager.Instance.DropItem(999011);
 
-                     PlayerManager.Instance.BagController.AddItem(item);
 
-                     return item;
 
-                 }
 
-                 return await PlayerManager.Instance.SummonManager.Summon(configId, 1);
 
-             }
 
-         }
 
-     }
 
-     [UIBinding(prefab = "BoxPanel")]
 
-     public partial class BoxPanel : UIPanel
 
-     {
 
-         private OpenBoxConfig openBoxConfig;
 
-         private AccountFileInfo.SummonData summonData;
 
-         public static async void OpenBoxPanel()
 
-         {
 
-             BoxPanel boxPanel = await UIManager.Instance.LoadAndOpenPanel<BoxPanel>(null, layer: UILayer.Middle);
 
-             boxPanel.OpenPanel();
 
-         }
 
-         private void Init()
 
-         {
 
-             isAddStack = true;
 
-             IsShowAppBar = false;
 
-         }
 
-         public override CTask GetFocus()
 
-         {
 
-             // AppBarPanel.ClosePanel();
 
-             TitlePanel.OpenPanel(new List<int>() { openBoxConfig.CostItemID });
 
-             if (PlayerGuideManager.Instance.GuideIsCanDo(8, 1))
 
-             {
 
-                 PlayerGuideManager.Instance.NextGuide();
 
-             }
 
-             return base.GetFocus();
 
-         }
 
-         protected override void AddEvent()
 
-         {
 
-         }
 
-         protected override void DelEvent()
 
-         {
 
-         }
 
-         private bool isStartAd = false;
 
-         public override void AddButtonEvent()
 
-         {
 
-             Btn_Score.onClick.AddListener(() => { OpenBoxScorePanel.OpenPanel(); });
 
-             oneButton.onClick.AddListener(OnButtonCallBack);
 
-             tenButton.onClick.AddListener(TenButtonCallBack);
 
-             Btn_Close.onClick.AddListener(CloseButtonCallBack);
 
-             bg.onClick.AddListener(CloseButtonCallBack);
 
-             Btn_Gl.onClick.AddListener(() => { OpenBoxaiLvPanel.OpenPanel(); });
 
-         }
 
-         private async void OnButtonCallBack()
 
-         {
 
-             if (summonData.isSummonSocre)
 
-             {
 
-                 TipMessagePanel.OpenTipMessagePanel("已经开启300抽挑战,不能进行单抽了");
 
-                 return;
 
-             }
 
-             //测试代码
 
-             List<ItemInfo> allIitem = await BoxHelper.OneBox(openBoxConfig.ID);
 
-             if (allIitem != null)
 
-             {
 
-                 if (PlayerGuideManager.Instance.curPhase == 8)
 
-                 {
 
-                     PlayerGuideManager.Instance.StepInit();
 
-                 }
 
-                 group.gameObject.SetActive(false);
 
-                 await MarskPanel.OpenPanel();
 
-                 fx_ui_chouka.gameObject.SetActive(true);
 
-                 await TimerComponent.Instance.WaitAsync(700);
 
-                 MarskPanel.ClosePanel();
 
-                 GachaPanel gachaPanel = await GachaPanel.OpenPanel(allIitem, 1, openBoxConfig.ID);
 
-                 await gachaPanel.UIClosed();
 
-                 fx_ui_chouka.gameObject.SetActive(false);
 
-                 group.gameObject.SetActive(true);
 
-             }
 
-             UpdateUi();
 
-         }
 
-         private async void TenButtonCallBack()
 
-         {
 
-             //测试代码
 
-             List<ItemInfo> allIitem = await BoxHelper.TenBox(openBoxConfig.ID);
 
-             if (allIitem != null)
 
-             {
 
-                 group.gameObject.SetActive(false);
 
-                 await MarskPanel.OpenPanel();
 
-                 fx_ui_chouka.gameObject.SetActive(true);
 
-                 await TimerComponent.Instance.WaitAsync(700);
 
-                 MarskPanel.ClosePanel();
 
-                 GachaPanel gachaPanel = await GachaPanel.OpenPanel(allIitem, 2, openBoxConfig.ID);
 
-                 await gachaPanel.UIClosed();
 
-                 fx_ui_chouka.gameObject.SetActive(false);
 
-                 group.gameObject.SetActive(true);
 
-             }
 
-             UpdateUi();
 
-         }
 
-         private void CloseButtonCallBack()
 
-         {
 
-             AudioManager.Instance.PlayAudio("ui_fanhui.wav");
 
-             UIManager.Instance.HideUIUIPanel(this);
 
-             EventManager.Instance.Dispatch(CustomEventType.Combat_EquipFall, null);
 
-         }
 
-         public async override CTask Close()
 
-         {
 
-             CombatController.currActiveCombat.isUpdate = true;
 
-             await base.Close();
 
-         }
 
-         public void OpenPanel()
 
-         {
 
-             CombatController.currActiveCombat.isUpdate = false;
 
-             openBoxConfig = ConfigComponent.Instance.Get<OpenBoxConfig>(2);
 
-             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;
 
-             Slider_Count.maxValue = openBoxConfig.reward2para1;
 
-             TitlePanel.OpenPanel(new List<int>() { openBoxConfig.CostItemID });
 
-             UpdateUi();
 
-         }
 
-         [CustomMethod(CustomMethodType.Update)]
 
-         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[openBoxConfig.ID];
 
-             Slider_Count.value = summonData.baodiCount2;
 
-             Text_Count.text = $"{summonData.baodiCount2}/{openBoxConfig.reward2para1}";
 
-             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);
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |