NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/Gameplay/Task/TaskManager.TaskActivity.cs

54 lines
1.8 KiB
C#

using System.Collections.Generic;
using cfg.ActorCfg;
using Framework;
using Gameplay.Common;
/// <summary>
/// 任务活跃度数据
/// </summary>
public partial class TaskManager
{
public Dictionary<TaskActivityType, List<DataTaskActivity>> TaskActivityCfg = new();
public void ReadActivityCfg()
{
var table = TableManager.Instance.Tables.TaskActivity;
TaskActivityCfg.Clear();
TaskActivityCfg.Add(TaskActivityType.Day, new List<DataTaskActivity>());
TaskActivityCfg.Add(TaskActivityType.Week, new List<DataTaskActivity>());
TaskActivityCfg.Add(TaskActivityType.None, new List<DataTaskActivity>());
foreach (var data in table.DataList)
{
if (data.Type == TaskActivityType.Day)
{
TaskActivityCfg[TaskActivityType.Day].Add(data);
}
if(data.Type == TaskActivityType.Week)
{
TaskActivityCfg[TaskActivityType.Week].Add(data);
}
}
}
public int GetCurTaskActivity(TaskActivityType taskActivityType)
{
return taskActivityType == TaskActivityType.Day?
(int)CategoryManager.Instance.GetItemCount(GLConfig.Inst.data.DailyTaskActivityItem) :
(int)CategoryManager.Instance.GetItemCount(GLConfig.Inst.data.WeeklyTaskActivityItem);
}
public int GetMaxTaskActivity(TaskActivityType taskActivityType, int index)
{
return TaskActivityCfg[taskActivityType][index].Score;
}
public cfg.item.ItemCounts GetTaskActivityRewardItem(TaskActivityType taskActivityType, int index)
{
return TaskActivityCfg[taskActivityType][index].ItemCount;
}
public List<DataTaskActivity> GetActivityList(TaskActivityType activityType)
{
return TaskActivityCfg[activityType];
}
}