|
@@ -1,5 +1,4 @@
|
|
using System.Collections.Generic;
|
|
using System.Collections.Generic;
|
|
-using System.Linq;
|
|
|
|
using ET;
|
|
using ET;
|
|
using FairyGUI;
|
|
using FairyGUI;
|
|
using UI.Task;
|
|
using UI.Task;
|
|
@@ -19,7 +18,6 @@ namespace GFGGame
|
|
_ui.Dispose();
|
|
_ui.Dispose();
|
|
_ui = null;
|
|
_ui = null;
|
|
}
|
|
}
|
|
-
|
|
|
|
base.Dispose();
|
|
base.Dispose();
|
|
}
|
|
}
|
|
|
|
|
|
@@ -31,58 +29,70 @@ namespace GFGGame
|
|
viewCom = _ui.target;
|
|
viewCom = _ui.target;
|
|
isfullScreen = true;
|
|
isfullScreen = true;
|
|
clickBlankToClose = false;
|
|
clickBlankToClose = false;
|
|
-
|
|
|
|
_ui.m_btnOpen.onClick.Add(OnBtnOpenClick);
|
|
_ui.m_btnOpen.onClick.Add(OnBtnOpenClick);
|
|
- // _ui.m_btnGet.onClick.Add(OnBtnGetClick);
|
|
|
|
- // _ui.m_btnContinue.onClick.Add(OnBtnContinueClick);
|
|
|
|
- // _ui.m_btnGetAll.onClick.Add(OnBtnGetAllClick);
|
|
|
|
- // _ui.m_btnGo.onClick.Add(OnBtnGoClick);
|
|
|
|
|
|
+ _ui.m_btnBuyLevel.onClick.Add(OnBtnBuyLevel);
|
|
_ui.m_btnGetAll.onClick.Add(OnBtnGetAllClick);
|
|
_ui.m_btnGetAll.onClick.Add(OnBtnGetAllClick);
|
|
_ui.m_RewardList.itemRenderer = ListBoxRewardItemRender;
|
|
_ui.m_RewardList.itemRenderer = ListBoxRewardItemRender;
|
|
|
|
+ _ui.m_RewardList.SetVirtual();
|
|
|
|
+ _ui.m_SpecialReward.m_RewardList.itemRenderer = SpecialRewardRender;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
protected override void OnShown()
|
|
protected override void OnShown()
|
|
{
|
|
{
|
|
base.OnShown();
|
|
base.OnShown();
|
|
- //获取通行证奖励配置
|
|
|
|
- var seasonId = BattlePassTaskDataManager.Instance.GetSeasonId();
|
|
|
|
- _rewardCfgs = new List<BattlePassCfg>(BattlePassCfgArray.Instance.GetCfgsByid(seasonId));
|
|
|
|
- //去掉第一个为0的配置
|
|
|
|
- _ui.m_RewardList.numItems = _rewardCfgs.Count - 1;
|
|
|
|
|
|
+ oldLevel = 0;
|
|
SetSeasonLeftTime();
|
|
SetSeasonLeftTime();
|
|
SetBattlePassLevel();
|
|
SetBattlePassLevel();
|
|
|
|
+ SetOpenBattlePassBtnStatus();
|
|
|
|
+ FreshSpecialReward(oldLevel);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ protected override void AddEventListener()
|
|
|
|
+ {
|
|
|
|
+ base.AddEventListener();
|
|
|
|
+ //监听通行证等级变化
|
|
|
|
+ EventAgent.AddEventListener(ConstMessage.BATTLEPASS_LEVEL_CHANGE, SetBattlePassLevel);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
//开启通行证
|
|
//开启通行证
|
|
private void OnBtnOpenClick(EventContext context)
|
|
private void OnBtnOpenClick(EventContext context)
|
|
{
|
|
{
|
|
|
|
+ ViewManager.Show<OpenBattlePassView>(null, new object[] { typeof(BattlePassTaskView).FullName, null });
|
|
}
|
|
}
|
|
|
|
|
|
private void OnBtnBuyLevel(EventContext context)
|
|
private void OnBtnBuyLevel(EventContext context)
|
|
{
|
|
{
|
|
|
|
+ ViewManager.Show<BuyBattlePassLevelView>(null, new object[] { typeof(BattlePassTaskView).FullName, null });
|
|
}
|
|
}
|
|
|
|
|
|
//领取奖励
|
|
//领取奖励
|
|
- private void OnBtnGetClick(EventContext context)
|
|
|
|
|
|
+ private async void OnBtnGetClick(EventContext context)
|
|
{
|
|
{
|
|
- //TODO
|
|
|
|
- Log.Debug("领取奖励");
|
|
|
|
|
|
+ if (!(context.sender is GObject obj)) return;
|
|
|
|
+ var id = (int)obj.data;
|
|
|
|
+ var get = await BattlePassTaskSProxy.GetBattlePassReward(id);
|
|
|
|
+ if (!get) return;
|
|
|
|
+ SetBattlePassLevel();
|
|
}
|
|
}
|
|
|
|
|
|
//继续领取
|
|
//继续领取
|
|
- private void OnBtnContinueClick(EventContext context)
|
|
|
|
|
|
+ private async void OnBtnContinueClick(EventContext context)
|
|
{
|
|
{
|
|
- //TODO
|
|
|
|
- Log.Debug("继续领取");
|
|
|
|
|
|
+ if (!(context.sender is GObject obj)) return;
|
|
|
|
+ var id = (int)obj.data;
|
|
|
|
+ var get = await BattlePassTaskSProxy.GetBattlePassReward(id);
|
|
|
|
+ if (!get) return;
|
|
|
|
+ SetBattlePassLevel();
|
|
}
|
|
}
|
|
|
|
|
|
//领取全部奖励
|
|
//领取全部奖励
|
|
- private void OnBtnGetAllClick(EventContext context)
|
|
|
|
|
|
+ private async void OnBtnGetAllClick(EventContext context)
|
|
{
|
|
{
|
|
- //TODO
|
|
|
|
- Log.Debug("领取全部奖励");
|
|
|
|
|
|
+ var get = await BattlePassTaskSProxy.GetAllBattlePassReward();
|
|
|
|
+ if (!get) return;
|
|
|
|
+ SetBattlePassLevel();
|
|
}
|
|
}
|
|
|
|
|
|
//前往
|
|
//前往
|
|
@@ -94,11 +104,13 @@ namespace GFGGame
|
|
ViewManager.Show($"GFGGame.{btnGo.data}", null, new[] { typeof(TaskView).FullName, viewData }, true);
|
|
ViewManager.Show($"GFGGame.{btnGo.data}", null, new[] { typeof(TaskView).FullName, viewData }, true);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
private void ListBoxRewardItemRender(int index, GObject obj)
|
|
private void ListBoxRewardItemRender(int index, GObject obj)
|
|
{
|
|
{
|
|
var item = UI_BattlePassRewardItem.Proxy(obj);
|
|
var item = UI_BattlePassRewardItem.Proxy(obj);
|
|
|
|
+ var level = index + 1;
|
|
//这里跳过为0的第一个配置
|
|
//这里跳过为0的第一个配置
|
|
- var battlePassCfg = _rewardCfgs[index + 1];
|
|
|
|
|
|
+ var battlePassCfg = _rewardCfgs[level];
|
|
//设置等级
|
|
//设置等级
|
|
item.m_Level.text = battlePassCfg.level.ToString();
|
|
item.m_Level.text = battlePassCfg.level.ToString();
|
|
//设置奖励
|
|
//设置奖励
|
|
@@ -112,21 +124,19 @@ namespace GFGGame
|
|
item.m_NormalReward.m_num.text = bonusNormalArr[0][1].ToString();
|
|
item.m_NormalReward.m_num.text = bonusNormalArr[0][1].ToString();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
if (item.m_RewardList.data == null)
|
|
if (item.m_RewardList.data == null)
|
|
{
|
|
{
|
|
item.m_RewardList.itemRenderer = SpecialRewardRender;
|
|
item.m_RewardList.itemRenderer = SpecialRewardRender;
|
|
}
|
|
}
|
|
-
|
|
|
|
item.m_RewardList.data = battlePassCfg.bonusSpecialArr;
|
|
item.m_RewardList.data = battlePassCfg.bonusSpecialArr;
|
|
item.m_RewardList.numItems = battlePassCfg.bonusSpecialArr.Length;
|
|
item.m_RewardList.numItems = battlePassCfg.bonusSpecialArr.Length;
|
|
//获取玩家当前的通行证等级
|
|
//获取玩家当前的通行证等级
|
|
- var dataManager = BattlePassTaskDataManager.Instance;
|
|
|
|
- var state = 1;
|
|
|
|
|
|
+ var state = BattlePassTaskDataManager.Instance.GetRewardState(level);
|
|
//设置按钮状态
|
|
//设置按钮状态
|
|
SetBtnState(item, battlePassCfg.id, state);
|
|
SetBtnState(item, battlePassCfg.id, state);
|
|
item.target.data = battlePassCfg;
|
|
item.target.data = battlePassCfg;
|
|
UI_BattlePassRewardItem.ProxyEnd();
|
|
UI_BattlePassRewardItem.ProxyEnd();
|
|
|
|
+ FreshSpecialReward(level);
|
|
}
|
|
}
|
|
|
|
|
|
//SpecialRewardRender
|
|
//SpecialRewardRender
|
|
@@ -134,11 +144,6 @@ namespace GFGGame
|
|
{
|
|
{
|
|
var item = UI_RewardIconYellow.Proxy(obj);
|
|
var item = UI_RewardIconYellow.Proxy(obj);
|
|
var parentData = (int[][])obj.parent.data;
|
|
var parentData = (int[][])obj.parent.data;
|
|
- // if (!(obj.parent.data is int[][] parentData))
|
|
|
|
- // {
|
|
|
|
- // UI_RewardIconYellow.ClearProxy();
|
|
|
|
- // return;
|
|
|
|
- // }
|
|
|
|
var itemInfo = parentData[index];
|
|
var itemInfo = parentData[index];
|
|
var itemId = itemInfo[0];
|
|
var itemId = itemInfo[0];
|
|
var num = itemInfo[1];
|
|
var num = itemInfo[1];
|
|
@@ -148,7 +153,6 @@ namespace GFGGame
|
|
item.m_loaIcon.url = ResPathUtil.GetCommonGameResPath(itemCfg.res);
|
|
item.m_loaIcon.url = ResPathUtil.GetCommonGameResPath(itemCfg.res);
|
|
item.m_num.text = num.ToString();
|
|
item.m_num.text = num.ToString();
|
|
}
|
|
}
|
|
-
|
|
|
|
UI_RewardIconYellow.ProxyEnd();
|
|
UI_RewardIconYellow.ProxyEnd();
|
|
}
|
|
}
|
|
|
|
|
|
@@ -160,24 +164,19 @@ namespace GFGGame
|
|
{
|
|
{
|
|
item.m_GetRewardBt.onClick.Add(OnBtnGetClick);
|
|
item.m_GetRewardBt.onClick.Add(OnBtnGetClick);
|
|
}
|
|
}
|
|
-
|
|
|
|
item.m_GetRewardBt.data = id;
|
|
item.m_GetRewardBt.data = id;
|
|
-
|
|
|
|
//继续领取
|
|
//继续领取
|
|
if (item.m_ContinueBt.data == null)
|
|
if (item.m_ContinueBt.data == null)
|
|
{
|
|
{
|
|
item.m_ContinueBt.onClick.Add(OnBtnContinueClick);
|
|
item.m_ContinueBt.onClick.Add(OnBtnContinueClick);
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ item.m_ContinueBt.data = id;
|
|
//前往
|
|
//前往
|
|
if (item.m_ComeBt.data == null)
|
|
if (item.m_ComeBt.data == null)
|
|
{
|
|
{
|
|
item.m_ComeBt.onClick.Add(OnBtnGoClick);
|
|
item.m_ComeBt.onClick.Add(OnBtnGoClick);
|
|
}
|
|
}
|
|
-
|
|
|
|
- item.m_GetRewardBt.data = id;
|
|
|
|
-
|
|
|
|
- item.m_GetRewardBt.data = id;
|
|
|
|
|
|
+ item.m_ComeBt.data = id;
|
|
}
|
|
}
|
|
|
|
|
|
//设置赛季剩余时间
|
|
//设置赛季剩余时间
|
|
@@ -200,25 +199,64 @@ namespace GFGGame
|
|
_ui.m_LeftTime.text = TimeUtil.FormattingTime(TimeHelper.ServerNow(), seasonEndTime);
|
|
_ui.m_LeftTime.text = TimeUtil.FormattingTime(TimeHelper.ServerNow(), seasonEndTime);
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
private void SetBattlePassLevel()
|
|
private void SetBattlePassLevel()
|
|
{
|
|
{
|
|
//获取玩家当前的通行证等级
|
|
//获取玩家当前的通行证等级
|
|
var dataManager = BattlePassTaskDataManager.Instance;
|
|
var dataManager = BattlePassTaskDataManager.Instance;
|
|
var battlePassLevel = dataManager.GetBattlePassLevel();
|
|
var battlePassLevel = dataManager.GetBattlePassLevel();
|
|
|
|
+ var seasonId = dataManager.GetSeasonId();
|
|
var uiExpProcess = _ui.m_LevelProcess;
|
|
var uiExpProcess = _ui.m_LevelProcess;
|
|
uiExpProcess.m_Level.text = battlePassLevel.ToString();
|
|
uiExpProcess.m_Level.text = battlePassLevel.ToString();
|
|
//获取当前等级的经验
|
|
//获取当前等级的经验
|
|
var battlePassCfg =
|
|
var battlePassCfg =
|
|
- BattlePassCfgArray.Instance.GetCfgByidAndlevel(dataManager.GetSeasonId(),
|
|
|
|
- dataManager.GetBattlePassLevel());
|
|
|
|
|
|
+ BattlePassCfgArray.Instance.GetCfgByidAndlevel(seasonId, dataManager.GetBattlePassLevel());
|
|
uiExpProcess.target.max = battlePassCfg.value;
|
|
uiExpProcess.target.max = battlePassCfg.value;
|
|
- uiExpProcess.target.value = 50;
|
|
|
|
|
|
+ uiExpProcess.target.value = dataManager.GetBattlePassExp();
|
|
|
|
+ uiExpProcess.m_NumProcess.SetVar("value", dataManager.GetBattlePassExp().ToString())
|
|
|
|
+ .SetVar("maxValue", battlePassCfg.value.ToString()).FlushVars();
|
|
|
|
+ //刷新奖励列表
|
|
|
|
+ _rewardCfgs = new List<BattlePassCfg>(BattlePassCfgArray.Instance.GetCfgsByid(seasonId));
|
|
|
|
+ //去掉第一个为0的配置
|
|
|
|
+ _ui.m_RewardList.numItems = _rewardCfgs.Count - 1;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ private void SetOpenBattlePassBtnStatus()
|
|
|
|
+ {
|
|
|
|
+ //通行证是否购买
|
|
|
|
+ var isBuy = BattlePassTaskDataManager.Instance.GetIsBuy();
|
|
|
|
+ _ui.m_c1.selectedIndex = isBuy ? 1 : 0;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private int oldLevel;
|
|
|
|
+
|
|
//刷新特别大奖展示
|
|
//刷新特别大奖展示
|
|
- private void FreshSpecialReward()
|
|
|
|
|
|
+ private void FreshSpecialReward(int level)
|
|
{
|
|
{
|
|
|
|
+ var battlePassCfg = BattlePassTaskDataManager.Instance.GetSpecialCfg(level);
|
|
|
|
+ var uiBattlePassReward = _ui.m_SpecialReward;
|
|
|
|
+ if (battlePassCfg == null)
|
|
|
|
+ {
|
|
|
|
+ uiBattlePassReward.target.visible = false;
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ var newLeve = battlePassCfg.level;
|
|
|
|
+ if (newLeve == oldLevel) return;
|
|
|
|
+ oldLevel = newLeve;
|
|
|
|
+ uiBattlePassReward.target.visible = true;
|
|
|
|
+ uiBattlePassReward.m_Level.text = newLeve.ToString();
|
|
|
|
+ //设置奖励
|
|
|
|
+ var bonusNormalArr = battlePassCfg.bonusNormalArr;
|
|
|
|
+ if (bonusNormalArr != null && bonusNormalArr.Length > 0)
|
|
|
|
+ {
|
|
|
|
+ var itemCfg = ItemCfgArray.Instance.GetCfg(bonusNormalArr[0][0]);
|
|
|
|
+ if (itemCfg != null)
|
|
|
|
+ {
|
|
|
|
+ uiBattlePassReward.m_NormalReward.m_loaIcon.url = ResPathUtil.GetCommonGameResPath(itemCfg.res);
|
|
|
|
+ uiBattlePassReward.m_NormalReward.m_num.text = bonusNormalArr[0][1].ToString();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ uiBattlePassReward.m_RewardList.data = battlePassCfg.bonusSpecialArr;
|
|
|
|
+ uiBattlePassReward.m_RewardList.numItems = battlePassCfg.bonusSpecialArr.Length;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|