123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- using System.Collections.Generic;
- 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;
- _ui.m_Add.onClick.Add(OnAddLevel);
- _ui.m_Reduce.onClick.Add(OnReduceLevel);
- _ui.m_AddLevelBtn.onClick.Add(OnRequestAddLevel);
- }
- protected override void OnShown()
- {
- setLevel();
- base.OnShown();
- }
- private static void SpecialRewardRender(int index, GObject obj)
- {
- var item = UI_RewardIconYellow.Proxy(obj);
- var itemInfos = (List<KeyValuePair<int, long>>)obj.parent.data;
- // if (!(obj.parent.data is int[][] parentData))
- // {
- // UI_RewardIconYellow.ClearProxy();
- // return;
- // }
- var itemInfo = itemInfos[index];
- var itemId = itemInfo.Key;
- var num = itemInfo.Value;
- var itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
- if (itemCfg != null)
- {
- item.m_loaIcon.url = ResPathUtil.GetCommonGameResPath(itemCfg.res);
- item.m_num.text = num.ToString();
- }
- UI_RewardIconYellow.ProxyEnd();
- }
- private void setLevel()
- {
- var battlePassLevel = BattlePassTaskDataManager.Instance.GetBattlePassLevel();
- _ui.m_Tip.SetVar("StartLevel", 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();
- }
- private void OnReduceLevel(EventContext context)
- {
- if (addLevel == 0)
- {
- return;
- }
- addLevel -= 1;
- setLevel();
- }
- private void OnAddLevel(EventContext context)
- {
-
- }
- private async void OnRequestAddLevel(EventContext context)
- {
- //检查是否消耗足够
- var globalCfgBattlePassLevelConsumeArr = GlobalCfgArray.globalCfg.BattlePassLevelConsumeArr;
- if (!ItemUtil.CheckItemEnough(globalCfgBattlePassLevelConsumeArr, addLevel))
- {
- PromptController.Instance.ShowFloatTextPrompt("货币不够!");
- return;
- }
- await BattlePassTaskSProxy.BuyBattlePassLevel(addLevel);
- }
- }
- }
|