using System.Collections.Generic; using UnityEngine; public partial class ActTaskTempConfig : ConfigBase { public static Dictionary> templateIDToConfigsDict = new Dictionary>(); protected override void OnConfigParseCompleted() { if (!templateIDToConfigsDict.ContainsKey(TemplateID)) { templateIDToConfigsDict[TemplateID] = new List(); } templateIDToConfigsDict[TemplateID].Add(this); } public static List 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 GetTotalScoreAwardListByCfgID(int cfgId) { var result = new List(); 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; } }