|
@@ -4,65 +4,65 @@ using ET;
|
|
using FairyGUI;
|
|
using FairyGUI;
|
|
using UI.CommonGame;
|
|
using UI.CommonGame;
|
|
using UI.Task;
|
|
using UI.Task;
|
|
|
|
+using UnityEngine;
|
|
|
|
|
|
namespace GFGGame
|
|
namespace GFGGame
|
|
{
|
|
{
|
|
- public class CombTaskView : BaseWindow
|
|
|
|
|
|
+ public class CombTaskController
|
|
{
|
|
{
|
|
private UI_CombTaskUI _ui;
|
|
private UI_CombTaskUI _ui;
|
|
private List<TaskCfg> _cfgs;
|
|
private List<TaskCfg> _cfgs;
|
|
- private int funcType = TaskFuncType.Daily;
|
|
|
|
|
|
+ private int funcType;
|
|
|
|
|
|
- public override void Dispose()
|
|
|
|
|
|
+ public void Dispose()
|
|
{
|
|
{
|
|
if (_ui != null)
|
|
if (_ui != null)
|
|
{
|
|
{
|
|
_ui.Dispose();
|
|
_ui.Dispose();
|
|
_ui = null;
|
|
_ui = null;
|
|
}
|
|
}
|
|
- base.Dispose();
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- protected override void OnInit()
|
|
|
|
|
|
+ public CombTaskController(UI_CombTaskUI ui)
|
|
{
|
|
{
|
|
- base.OnInit();
|
|
|
|
- packageName = UI_CombTaskUI.PACKAGE_NAME;
|
|
|
|
- _ui = UI_CombTaskUI.Create();
|
|
|
|
- viewCom = _ui.target;
|
|
|
|
- isfullScreen = true;
|
|
|
|
- clickBlankToClose = false;
|
|
|
|
|
|
+ _ui = ui;
|
|
_ui.m_c1.onChanged.Add(OnCtrlChange);
|
|
_ui.m_c1.onChanged.Add(OnCtrlChange);
|
|
_ui.m_TaskList.itemRenderer = TaskItemRender;
|
|
_ui.m_TaskList.itemRenderer = TaskItemRender;
|
|
- _ui.m_LivenessProcess.m_Reward20.target.onClick.Add(() => { OnClickReward(1).Coroutine(); });
|
|
|
|
- _ui.m_LivenessProcess.m_Reward40.target.onClick.Add(() => { OnClickReward(2).Coroutine(); });
|
|
|
|
- _ui.m_LivenessProcess.m_Reward60.target.onClick.Add(() => { OnClickReward(3).Coroutine(); });
|
|
|
|
- _ui.m_LivenessProcess.m_Reward80.target.onClick.Add(() => { OnClickReward(4).Coroutine(); });
|
|
|
|
- _ui.m_LivenessProcess.m_Reward100.target.onClick.Add(() => { OnClickReward(5).Coroutine(); });
|
|
|
|
|
|
+ _ui.m_LivenessProcess.m_Reward20.target.onClick.Add(OnClickReward);
|
|
|
|
+ _ui.m_LivenessProcess.m_Reward40.target.onClick.Add(OnClickReward);
|
|
|
|
+ _ui.m_LivenessProcess.m_Reward60.target.onClick.Add(OnClickReward);
|
|
|
|
+ _ui.m_LivenessProcess.m_Reward80.target.onClick.Add(OnClickReward);
|
|
|
|
+ _ui.m_LivenessProcess.m_Reward100.target.onClick.Add(OnClickReward);
|
|
_ui.m_GetAll.onClick.Add(OnBtnGetAllClick);
|
|
_ui.m_GetAll.onClick.Add(OnBtnGetAllClick);
|
|
}
|
|
}
|
|
|
|
|
|
- protected override void OnShown()
|
|
|
|
- {
|
|
|
|
- base.OnShown();
|
|
|
|
|
|
+ public void OnShown(int taskViewTabIndex)
|
|
|
|
+{
|
|
|
|
+ _ui.m_c1.selectedIndex = taskViewTabIndex;
|
|
|
|
+ OnCtrlChange();
|
|
UpdateLivenessProcess();
|
|
UpdateLivenessProcess();
|
|
UpdateTask();
|
|
UpdateTask();
|
|
if (_ui.m_TaskList.numItems > 0)
|
|
if (_ui.m_TaskList.numItems > 0)
|
|
{
|
|
{
|
|
_ui.m_TaskList.ScrollToView(0);
|
|
_ui.m_TaskList.ScrollToView(0);
|
|
}
|
|
}
|
|
|
|
+ AddEventListener();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public void OnHide()
|
|
|
|
+ {
|
|
|
|
+ RemoveEventListener();
|
|
}
|
|
}
|
|
|
|
|
|
- protected override void AddEventListener()
|
|
|
|
|
|
+ private void AddEventListener()
|
|
{
|
|
{
|
|
- base.AddEventListener();
|
|
|
|
EventAgent.AddEventListener(ConstMessage.LIVENESS_CHANGE, UpdateLivenessProcess);
|
|
EventAgent.AddEventListener(ConstMessage.LIVENESS_CHANGE, UpdateLivenessProcess);
|
|
// EventAgent.AddEventListener(ConstMessage.NOTICE_TASK_STATE_CHANGE, OnTaskChange);
|
|
// EventAgent.AddEventListener(ConstMessage.NOTICE_TASK_STATE_CHANGE, OnTaskChange);
|
|
EventAgent.AddEventListener(ConstMessage.NOTICE_BATCH_TASK_STATE_CHANGE, OnTaskChanges);
|
|
EventAgent.AddEventListener(ConstMessage.NOTICE_BATCH_TASK_STATE_CHANGE, OnTaskChanges);
|
|
}
|
|
}
|
|
|
|
|
|
- protected override void RemoveEventListener()
|
|
|
|
|
|
+ private void RemoveEventListener()
|
|
{
|
|
{
|
|
- base.RemoveEventListener();
|
|
|
|
EventAgent.RemoveEventListener(ConstMessage.LIVENESS_CHANGE, UpdateLivenessProcess);
|
|
EventAgent.RemoveEventListener(ConstMessage.LIVENESS_CHANGE, UpdateLivenessProcess);
|
|
// EventAgent.RemoveEventListener(ConstMessage.NOTICE_TASK_STATE_CHANGE, OnTaskChange);
|
|
// EventAgent.RemoveEventListener(ConstMessage.NOTICE_TASK_STATE_CHANGE, OnTaskChange);
|
|
//NOTICE_BATCH_TASK_STATE_CHANGE
|
|
//NOTICE_BATCH_TASK_STATE_CHANGE
|
|
@@ -99,8 +99,8 @@ namespace GFGGame
|
|
//每日任务
|
|
//每日任务
|
|
TaskFuncType.Daily,
|
|
TaskFuncType.Daily,
|
|
1 =>
|
|
1 =>
|
|
- //织造任务
|
|
|
|
- TaskFuncType.BattlePass,
|
|
|
|
|
|
+ //每周任务
|
|
|
|
+ TaskFuncType.Weekly,
|
|
_ => funcType
|
|
_ => funcType
|
|
};
|
|
};
|
|
//更新任务列表
|
|
//更新任务列表
|
|
@@ -110,36 +110,41 @@ namespace GFGGame
|
|
//更新活跃度进度条
|
|
//更新活跃度进度条
|
|
private void UpdateLivenessProcess()
|
|
private void UpdateLivenessProcess()
|
|
{
|
|
{
|
|
- var liveness = RoleDataManager.Liveness;
|
|
|
|
- DailyTaskDataManager.Instance.GetShowLivenessBoxNum();
|
|
|
|
|
|
+ var liveness = funcType switch{
|
|
|
|
+ TaskFuncType.Daily => RoleDataManager.DailyLiveness,
|
|
|
|
+ TaskFuncType.Weekly => RoleDataManager.WeeklyLiveness,
|
|
|
|
+ _ => 0
|
|
|
|
+ };
|
|
|
|
+ DailyTaskDataManager.Instance.GetShowLivenessBoxNum(funcType);
|
|
_ui.m_LivenessProcess.target.max = 100;
|
|
_ui.m_LivenessProcess.target.max = 100;
|
|
_ui.m_LivenessProcess.target.value = liveness;
|
|
_ui.m_LivenessProcess.target.value = liveness;
|
|
- var cfgs = TaskActiveRewardCfgArray.Instance.GetCfgsByfuncType(TaskFuncType.Daily);
|
|
|
|
|
|
+ var cfgs = TaskActiveRewardCfgArray.Instance.GetCfgsByfuncType(funcType);
|
|
for (var i = 0; i < cfgs.Count; i++)
|
|
for (var i = 0; i < cfgs.Count; i++)
|
|
{
|
|
{
|
|
- var boxId = i + 1;
|
|
|
|
|
|
+ var boxId = cfgs[i].id;
|
|
var state = DailyTaskDataManager.Instance.GetBoxStateById(boxId);
|
|
var state = DailyTaskDataManager.Instance.GetBoxStateById(boxId);
|
|
UI_LinessRewardProcessItemBt rewardBox = null;
|
|
UI_LinessRewardProcessItemBt rewardBox = null;
|
|
- switch (boxId)
|
|
|
|
|
|
+ switch (i)
|
|
{
|
|
{
|
|
- case 1:
|
|
|
|
|
|
+ case 0:
|
|
rewardBox = _ui.m_LivenessProcess.m_Reward20;
|
|
rewardBox = _ui.m_LivenessProcess.m_Reward20;
|
|
break;
|
|
break;
|
|
- case 2:
|
|
|
|
|
|
+ case 1:
|
|
rewardBox = _ui.m_LivenessProcess.m_Reward40;
|
|
rewardBox = _ui.m_LivenessProcess.m_Reward40;
|
|
break;
|
|
break;
|
|
- case 3:
|
|
|
|
|
|
+ case 2:
|
|
rewardBox = _ui.m_LivenessProcess.m_Reward60;
|
|
rewardBox = _ui.m_LivenessProcess.m_Reward60;
|
|
break;
|
|
break;
|
|
- case 4:
|
|
|
|
|
|
+ case 3:
|
|
rewardBox = _ui.m_LivenessProcess.m_Reward80;
|
|
rewardBox = _ui.m_LivenessProcess.m_Reward80;
|
|
break;
|
|
break;
|
|
- case 5:
|
|
|
|
|
|
+ case 4:
|
|
rewardBox = _ui.m_LivenessProcess.m_Reward100;
|
|
rewardBox = _ui.m_LivenessProcess.m_Reward100;
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
if (rewardBox != null)
|
|
if (rewardBox != null)
|
|
{
|
|
{
|
|
|
|
+ rewardBox.target.data = boxId;
|
|
rewardBox.m_c1.selectedIndex = state;
|
|
rewardBox.m_c1.selectedIndex = state;
|
|
RedDotController.Instance.SetComRedDot(rewardBox.target, state == 1);
|
|
RedDotController.Instance.SetComRedDot(rewardBox.target, state == 1);
|
|
}
|
|
}
|
|
@@ -184,7 +189,7 @@ namespace GFGGame
|
|
item.m_listTaskReward.data = reward;
|
|
item.m_listTaskReward.data = reward;
|
|
item.m_listTaskReward.numItems = reward.Length;
|
|
item.m_listTaskReward.numItems = reward.Length;
|
|
var isBuy = BattlePassTaskDataManager.Instance.GetIsBuy();
|
|
var isBuy = BattlePassTaskDataManager.Instance.GetIsBuy();
|
|
- bool canGet = item.m_c1.selectedIndex == 1 && (funcType != TaskFuncType.BattlePass || funcType == TaskFuncType.BattlePass && isBuy);
|
|
|
|
|
|
+ bool canGet = item.m_c1.selectedIndex == 1;
|
|
RedDotController.Instance.SetComRedDot(item.m_GetRewardBt, canGet);
|
|
RedDotController.Instance.SetComRedDot(item.m_GetRewardBt, canGet);
|
|
UI_TaskListItem.ProxyEnd();
|
|
UI_TaskListItem.ProxyEnd();
|
|
}
|
|
}
|
|
@@ -204,16 +209,6 @@ namespace GFGGame
|
|
private async void OnBtnGetClick(EventContext context)
|
|
private async void OnBtnGetClick(EventContext context)
|
|
{
|
|
{
|
|
if (!(context.sender is GObject btnGet)) return;
|
|
if (!(context.sender is GObject btnGet)) return;
|
|
- if (funcType == TaskFuncType.BattlePass)
|
|
|
|
- {
|
|
|
|
- //检查通行证是否开启
|
|
|
|
- var isBuy = BattlePassTaskDataManager.Instance.GetIsBuy();
|
|
|
|
- if (!isBuy)
|
|
|
|
- {
|
|
|
|
- PromptController.Instance.ShowFloatTextPrompt("开启锦罗织造可领取");
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
var result = await TaskSProxy.GetTaskBonus((int)btnGet.data);
|
|
var result = await TaskSProxy.GetTaskBonus((int)btnGet.data);
|
|
if (!result) return;
|
|
if (!result) return;
|
|
UpdateLivenessProcess();
|
|
UpdateLivenessProcess();
|
|
@@ -226,28 +221,16 @@ namespace GFGGame
|
|
if (!(context.sender is GObject { data: TaskCfg taskCfg })) return;
|
|
if (!(context.sender is GObject { data: TaskCfg taskCfg })) return;
|
|
//功能未开放
|
|
//功能未开放
|
|
if (!FunctionOpenDataManager.Instance.CheckIsFunOpenById(taskCfg.jumpId)) return;
|
|
if (!FunctionOpenDataManager.Instance.CheckIsFunOpenById(taskCfg.jumpId)) return;
|
|
- Hide();
|
|
|
|
var param = new object[taskCfg.jumpParamArr.Length];
|
|
var param = new object[taskCfg.jumpParamArr.Length];
|
|
for (var i = 0; i < taskCfg.jumpParamArr.Length; i++)
|
|
for (var i = 0; i < taskCfg.jumpParamArr.Length; i++)
|
|
{
|
|
{
|
|
param[i] = taskCfg.jumpParamArr[i];
|
|
param[i] = taskCfg.jumpParamArr[i];
|
|
}
|
|
}
|
|
- ViewManager.JumpToView(taskCfg.jumpId, param, new[] { typeof(TaskView).FullName, viewData });
|
|
|
|
|
|
+ ViewManager.JumpToView(taskCfg.jumpId, param, new object[] { typeof(TaskView).FullName, new[] { _ui.m_c1.selectedIndex } });
|
|
}
|
|
}
|
|
|
|
|
|
private async void OnBtnGetAllClick()
|
|
private async void OnBtnGetAllClick()
|
|
{
|
|
{
|
|
- //通用任务一键领奖
|
|
|
|
- if (funcType == TaskFuncType.BattlePass)
|
|
|
|
- {
|
|
|
|
- //检查通行证是否开启
|
|
|
|
- var isBuy = BattlePassTaskDataManager.Instance.GetIsBuy();
|
|
|
|
- if (!isBuy)
|
|
|
|
- {
|
|
|
|
- PromptController.Instance.ShowFloatTextPrompt("开启锦罗织造可领取");
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
var result = await TaskSProxy.GetAllTaskBonus(funcType);
|
|
var result = await TaskSProxy.GetAllTaskBonus(funcType);
|
|
if (!result) return;
|
|
if (!result) return;
|
|
UpdateLivenessProcess();
|
|
UpdateLivenessProcess();
|
|
@@ -256,8 +239,9 @@ namespace GFGGame
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
- private async ETTask OnClickReward(int id)
|
|
|
|
|
|
+ private void OnClickReward(EventContext context)
|
|
{
|
|
{
|
|
|
|
+ int id = (int)((GObject)context.sender).data;
|
|
var cfg = TaskActiveRewardCfgArray.Instance.GetCfg(id);
|
|
var cfg = TaskActiveRewardCfgArray.Instance.GetCfg(id);
|
|
var state = DailyTaskDataManager.Instance.GetBoxStateById(cfg.id);
|
|
var state = DailyTaskDataManager.Instance.GetBoxStateById(cfg.id);
|
|
switch (state)
|
|
switch (state)
|
|
@@ -270,12 +254,11 @@ namespace GFGGame
|
|
}
|
|
}
|
|
case ConstBonusStatus.CAN_GET:
|
|
case ConstBonusStatus.CAN_GET:
|
|
{
|
|
{
|
|
- var result = await DailyTaskSProxy.ReqLivenessBox(cfg.id);
|
|
|
|
- if (result) UpdateLivenessProcess();
|
|
|
|
|
|
+ DailyTaskSProxy.ReqLivenessBox(cfg.id).Coroutine();
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
case ConstBonusStatus.GOT:
|
|
case ConstBonusStatus.GOT:
|
|
- //领取完毕
|
|
|
|
|
|
+ PromptController.Instance.ShowFloatTextPrompt("不能重复领取!");
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|