using System.Collections.Generic; using Core.Language; using Core.Utility; using Excel2Json; using Fort23.Core; using Fort23.UTool; using GameLogic.Bag; using GameLogic.Player; using UnityEngine; namespace Fort23.Mono { [UIBinding(prefab = "BoxPanel")] public partial class BoxPanel : UIPanel { private OpenBoxConfig openBoxConfig; public static async void OpenBoxPanel() { BoxPanel boxPanel = await UIManager.Instance.LoadAndOpenPanel(null, layer: UILayer.Top); boxPanel.OpenPanel(); } private void Init() { } protected override void AddEvent() { } protected override void DelEvent() { } public override void AddButtonEvent() { oneButton.onClick.AddListener(OnButtonCallBack); tenButton.onClick.AddListener(TenButtonCallBack); close.onClick.AddListener(CloseButtonCallBack); bg.onClick.AddListener(CloseButtonCallBack); } private void OnButtonCallBack() { if (BagController.Instance.IsEnough(GlobalParam.Item_Coin_ID, openBoxConfig.oneConsume)) { BagController.Instance.DeductCoin(openBoxConfig.oneConsume); List allIitem = DropManager.Instance.DropItem(openBoxConfig.reward); BagController.Instance.AddItem(allIitem); UIManager.Instance.LoadAndOpenPanel(delegate(RewardsPanel panel) { panel.InitRewardsPanel(allIitem, CloseButtonCallBack); }, layer: UILayer.Top); } else { // TipMessagePanel.OpenTipMessagePanel("金币不足", Vector2.zero); TipMessagePanel.OpenTipMessagePanel(LanguageManager.Instance.Text(102), Vector2.zero); } } private void TenButtonCallBack() { if (BagController.Instance.IsEnough(GlobalParam.Item_Coin_ID, openBoxConfig.tenConsume)) { BagController.Instance.DeductCoin(openBoxConfig.tenConsume); List allIitem = new List(); for (int i = 0; i < 10; i++) { List currItem = DropManager.Instance.DropItem(openBoxConfig.reward); allIitem.AddRange(currItem); } BagController.Instance.AddItem(allIitem); UIManager.Instance.LoadAndOpenPanel( delegate(RewardsPanel panel) { panel.InitRewardsPanel(allIitem, CloseButtonCallBack); }, layer: UILayer.Top); } else { TipMessagePanel.OpenTipMessagePanel(LanguageManager.Instance.Text(102), Vector2.zero); } } private void CloseButtonCallBack() { UIManager.Instance.HideUIUIPanel(this); EventManager.Instance.Dispatch(CustomEventType.Combat_EquipFall, null); } public void OpenPanel() { openBoxConfig = ConfigComponent.Instance.Get(1); onCion.text = "x" + openBoxConfig.oneConsume; tenCion.text = "x" + openBoxConfig.tenConsume; } } }