| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 | using FairyGUI;using UI.Task;namespace GFGGame{    public class BuyBattlePassLevelView : BaseWindow    {        private UI_BuyBattlePassLevelUI _ui;        private int addLevel = 1;        public override void Dispose()        {            if (_ui != null)            {                _ui.Dispose();                _ui = null;            }            base.Dispose();        }        protected override void OnInit()        {            base.OnInit();            packageName = UI_OpenBattlePassUI.PACKAGE_NAME;            _ui = UI_BuyBattlePassLevelUI.Create();            viewCom = _ui.target;            viewCom.Center();            _ui.m_CloseBtn.onClick.Add(Hide);            // clickBlankToClose = false;            _ui.m_Rewards.itemRenderer = SpecialRewardRender;            var globalCfgBattlePassLevelConsumeArr = GlobalCfgArray.globalCfg.BattlePassLevelConsumeArr;            _ui.m_AddLevelBtn.icon =                ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(globalCfgBattlePassLevelConsumeArr[0][0])                    .res);            _ui.m_Add.onClick.Add(OnAddLevel);            _ui.m_Reduce.onClick.Add(OnReduceLevel);            _ui.m_AddLevelBtn.onClick.Add(OnRequestAddLevel);            modal = true;        }        protected override void OnShown()        {            SetLevel();            base.OnShown();        }        private static void SpecialRewardRender(int index, GObject obj)        {            var itemInfos = (int[][])obj.parent.data;            var itemInfo = itemInfos[index];            ItemUtil.CreateItemView(itemInfo, obj as GComponent);        }        private void SetLevel()        {            var dataManager = BattlePassTaskDataManager.Instance;            var battlePassLevel = dataManager.GetBattlePassLevel();            _ui.m_Tip.SetVar("startLeve", battlePassLevel.ToString())                .SetVar("endLevel", (battlePassLevel + addLevel).ToString()).FlushVars();            var globalCfgBattlePassLevelConsumeArr = GlobalCfgArray.globalCfg.BattlePassLevelConsumeArr;            var count = globalCfgBattlePassLevelConsumeArr[0][1];            _ui.m_AddLevelBtn.text = (addLevel * count).ToString();            var upLevelReward = dataManager.GetUpLevelReward(addLevel);            _ui.m_Rewards.data = upLevelReward;            _ui.m_Rewards.numItems = upLevelReward?.Length ?? 0;        }        private void OnReduceLevel(EventContext context)        {            if (addLevel == 0)            {                return;            }            addLevel -= 1;            SetLevel();        }        private void OnAddLevel(EventContext context)        {            var newLevel = addLevel + 1;            var dataManager = BattlePassTaskDataManager.Instance;            var cfg = BattlePassCfgArray.Instance.GetCfgByidAndlevel(dataManager.GetSeasonId(), newLevel);            if (cfg == null)            {                return;            }            addLevel = newLevel;            SetLevel();        }        private async void OnRequestAddLevel(EventContext context)        {            //检查是否消耗足够            var globalCfgBattlePassLevelConsumeArr = GlobalCfgArray.globalCfg.BattlePassLevelConsumeArr;            if (!ItemUtil.CheckItemEnough(globalCfgBattlePassLevelConsumeArr, addLevel))            {                PromptController.Instance.ShowFloatTextPrompt("货币不够!");                return;            }            var isBuy = await BattlePassTaskSProxy.BuyBattlePassLevel(addLevel);            if (isBuy)            {                Hide();            }        }    }}
 |