123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- 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 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;
- }
- await BattlePassTaskSProxy.BuyBattlePassLevel(addLevel);
- }
- }
- }
|