using ET; using System; using System.Collections; using System.Collections.Generic; using UnityEngine; namespace GFGGame { public class CollectPartDataManager : SingletonBase { //部位数量 public const int Count = 8; //普通最高段位 public int MaxNormalRank = 5; //特殊最高段位 public int MaxSpecialRank = 3; //最高等级 public int MaxLevel = 9; //加成比值 public int AddtitionRatio = 100; //搭配部位分类 public Dictionary> partScoreListDic = new Dictionary>(); //部位名 public Dictionary partNameDic = new Dictionary() { [1] = "连衣裙或上下装及内搭", [2] = "发型", [3] = "外套", [4] = "袜子", [5] = "鞋子", [6] = "饰品", [7] = "手持物", [99] = "所有", }; //部位图片 public Dictionary partImage = new Dictionary { [1] = "part1", [2] = "hz_fenleitu_1", [3] = "hz_fenleitu_12", [4] = "hz_fenleitu_7", [5] = "hz_fenleitu_8", [6] = "hz_fenleitu_9", [7] = "hz_fenleitu_10", [99] = "part99", }; //数据 public Dictionary> CollectPartDataDic = new Dictionary>(); //临时数据,后续通过服务器获取 public void UpdateDic() { CollectPartDataDic.Clear(); CollegeBoostCfg collectcfg; for (int i = 1; i <= Count; i++) { List item = new List() { 3, 9 }; if (i == Count) { collectcfg = CollegeBoostCfgArray.Instance.GetCfgBytypePartsAndtypePhaseAndlayer(99, item[0], item[1]); if (collectcfg == null) { item.Add(0); } else { item.Add(collectcfg.value); } if (CollectPartDataDic.ContainsKey(99)) { CollectPartDataDic[99] = item; } else { CollectPartDataDic.Add(99, item); } } else { collectcfg = CollegeBoostCfgArray.Instance.GetCfgBytypePartsAndtypePhaseAndlayer(i, item[0], item[1]); if (collectcfg == null) { item.Add(0); } else { item.Add(collectcfg.value); } if (CollectPartDataDic.ContainsKey(i)) { CollectPartDataDic[i] = item; } else { CollectPartDataDic.Add(i, item); } } } } /// /// 穿戴部件的搭配加成 /// public float GetEquipScoresWithPartId(int itemID) { CollegeSubTypesCfg[] typeCfgs = CollegeSubTypesCfgArray.Instance.dataArray; float addNum = 0; for (int j = 0; j < typeCfgs.Length; j++) { CollegeSubTypesCfg cfg = typeCfgs[j]; for (int k = 0; k < cfg.subTypesArr.Length; k++) { ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemID); if (itemCfg.subType == cfg.subTypesArr[k]) { int partIndex = cfg.AdditionSite; int partIndexCommon = 0; partIndexCommon = partIndex; int level = CollectPartDataDic[partIndex][0]; int levelNum = CollectPartDataDic[partIndex][1]; if(levelNum == 0) { addNum += 0; break; } CollegeBoostCfg collegeCfg = CollegeBoostCfgArray.Instance.GetCfgBytypePartsAndtypePhaseAndlayer(partIndex, level, levelNum); addNum += (float)collegeCfg.value / 10000; break; } } } return addNum + 1; } } }