using System.Collections.Generic;
|
using UnityEngine;
|
|
public partial class ActTaskTempConfig : ConfigBase<int, ActTaskTempConfig>
|
{
|
public static Dictionary<int, List<ActTaskTempConfig>> templateIDToConfigsDict = new Dictionary<int, List<ActTaskTempConfig>>();
|
|
protected override void OnConfigParseCompleted()
|
{
|
if (!templateIDToConfigsDict.ContainsKey(TemplateID))
|
{
|
templateIDToConfigsDict[TemplateID] = new List<ActTaskTempConfig>();
|
}
|
templateIDToConfigsDict[TemplateID].Add(this);
|
}
|
|
public static List<ActTaskTempConfig> GetTemplateIDToConfigsDict(int templateID)
|
{
|
if (templateIDToConfigsDict.ContainsKey(templateID))
|
{
|
return templateIDToConfigsDict[templateID];
|
}
|
return null;
|
}
|
|
// 累计积分奖励配置
|
public class TotalScoreAwardConfig
|
{
|
public int needScore; // 所需积分
|
public int recordIndex; // 记录索引
|
public int itemId; // 奖励物品ID
|
public int itemCount; // 奖励物品数量
|
}
|
|
// 通过CfgID获取累计积分奖励列表
|
public static List<TotalScoreAwardConfig> GetTotalScoreAwardListByCfgID(int cfgId)
|
{
|
var result = new List<TotalScoreAwardConfig>();
|
var config = ActTaskConfig.Get(cfgId);
|
if (config == null || string.IsNullOrEmpty(config.ActScoreAwardInfo) || config.ActScoreAwardInfo == "{}")
|
{
|
return result;
|
}
|
|
|
var dict = ConfigParse.ParseIntArrayDict(config.ActScoreAwardInfo);
|
foreach (var kvp in dict)
|
{
|
var arr = kvp.Value;
|
if (arr != null && arr.Length >= 3)
|
{
|
result.Add(new TotalScoreAwardConfig
|
{
|
needScore = kvp.Key,
|
recordIndex = arr[0],
|
itemId = arr[1],
|
itemCount = arr[2]
|
});
|
}
|
}
|
return result;
|
}
|
}
|