|
@@ -84,117 +84,120 @@ namespace GFGGame
|
|
|
int count = 0;
|
|
|
for (int i = 0; i < dressUpObj.itemList.Count; i++)
|
|
|
{
|
|
|
- if (DressUpMenuItemCfg1Array.Instance.CheckIsOrnamentsType(dressUpObj.itemList[i])) count++;
|
|
|
+ if (DressUpMenuItemCfg1Array.Instance.CheckIsOrnamentsType(dressUpObj.itemList[i]))
|
|
|
+ {
|
|
|
+ count++;
|
|
|
+ }
|
|
|
}
|
|
|
return count;
|
|
|
}
|
|
|
|
|
|
- public static void PutOnRecommendItems()
|
|
|
- {
|
|
|
- List<int> recommendList = DressUpMenuItemDataManager.GetRecommendItemList();
|
|
|
- StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
|
|
|
- StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
|
|
|
- int liangyiqunIndex = -1;
|
|
|
- int shangyiIndex = -1;
|
|
|
- int xiazhuangIndex = -1;
|
|
|
- int neidaIndex = -1;
|
|
|
- for (int i = 0; i < recommendList.Count; i++)
|
|
|
- {
|
|
|
- int subType = ItemUtilCS.GetItemSubType(recommendList[i]);
|
|
|
- if (subType == ConstDressUpItemType.LIAN_YI_QUN)
|
|
|
- {
|
|
|
- liangyiqunIndex = i;
|
|
|
- continue;
|
|
|
- }
|
|
|
- if (subType == ConstDressUpItemType.SHANG_YI)
|
|
|
- {
|
|
|
- shangyiIndex = i;
|
|
|
- continue;
|
|
|
- }
|
|
|
- if (subType == ConstDressUpItemType.XIA_ZHUANG)
|
|
|
- {
|
|
|
- xiazhuangIndex = i;
|
|
|
- continue;
|
|
|
- }
|
|
|
- if (subType == ConstDressUpItemType.NEI_DA)
|
|
|
- {
|
|
|
- neidaIndex = i;
|
|
|
- continue;
|
|
|
+ // public static void PutOnRecommendItems()
|
|
|
+ // {
|
|
|
+ // List<int> recommendList = DressUpMenuItemDataManager.GetRecommendItemList();
|
|
|
+ // StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
|
|
|
+ // StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
|
|
|
+ // int liangyiqunIndex = -1;
|
|
|
+ // int shangyiIndex = -1;
|
|
|
+ // int xiazhuangIndex = -1;
|
|
|
+ // int neidaIndex = -1;
|
|
|
+ // for (int i = 0; i < recommendList.Count; i++)
|
|
|
+ // {
|
|
|
+ // int subType = ItemUtilCS.GetItemSubType(recommendList[i]);
|
|
|
+ // if (subType == ConstDressUpItemType.LIAN_YI_QUN)
|
|
|
+ // {
|
|
|
+ // liangyiqunIndex = i;
|
|
|
+ // continue;
|
|
|
+ // }
|
|
|
+ // if (subType == ConstDressUpItemType.SHANG_YI)
|
|
|
+ // {
|
|
|
+ // shangyiIndex = i;
|
|
|
+ // continue;
|
|
|
+ // }
|
|
|
+ // if (subType == ConstDressUpItemType.XIA_ZHUANG)
|
|
|
+ // {
|
|
|
+ // xiazhuangIndex = i;
|
|
|
+ // continue;
|
|
|
+ // }
|
|
|
+ // if (subType == ConstDressUpItemType.NEI_DA)
|
|
|
+ // {
|
|
|
+ // neidaIndex = i;
|
|
|
+ // continue;
|
|
|
|
|
|
- }
|
|
|
- }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
|
|
|
- if (liangyiqunIndex >= 0 && (shangyiIndex >= 0 || xiazhuangIndex >= 0))
|
|
|
- {
|
|
|
- if (shangyiIndex < 0 && xiazhuangIndex >= 0) recommendList.RemoveAt(xiazhuangIndex);//上衣下装只有一件,则保留连衣裙
|
|
|
- if (xiazhuangIndex < 0 && shangyiIndex >= 0) recommendList.RemoveAt(shangyiIndex);
|
|
|
+ // if (liangyiqunIndex >= 0 && (shangyiIndex >= 0 || xiazhuangIndex >= 0))
|
|
|
+ // {
|
|
|
+ // if (shangyiIndex < 0 && xiazhuangIndex >= 0) recommendList.RemoveAt(xiazhuangIndex);//上衣下装只有一件,则保留连衣裙
|
|
|
+ // if (xiazhuangIndex < 0 && shangyiIndex >= 0) recommendList.RemoveAt(shangyiIndex);
|
|
|
|
|
|
- if (shangyiIndex >= 0 && xiazhuangIndex >= 0)//同时拥有上衣、下装、连衣裙
|
|
|
- {
|
|
|
- int lianyiqunScore = ItemDataManager.GetItemAdditionScore(recommendList[liangyiqunIndex], InstanceZonesDataManager.currentScoreType);
|
|
|
- int shangyiScore = ItemDataManager.GetItemAdditionScore(recommendList[shangyiIndex], InstanceZonesDataManager.currentScoreType);
|
|
|
- int xiazhuangScore = ItemDataManager.GetItemAdditionScore(recommendList[xiazhuangIndex], InstanceZonesDataManager.currentScoreType);
|
|
|
- int neidaScore = neidaIndex >= 0 ? ItemDataManager.GetItemAdditionScore(recommendList[neidaIndex], InstanceZonesDataManager.currentScoreType) : 0;
|
|
|
- int subType = ItemUtilCS.GetItemSubType(fightCfg.needItemId);
|
|
|
- if (fightCfg.needItemId > 0 && recommendList.IndexOf(fightCfg.needItemId) >= 0 && (subType == ConstDressUpItemType.SHANG_YI || subType == ConstDressUpItemType.XIA_ZHUANG || subType == ConstDressUpItemType.NEI_DA || subType == ConstDressUpItemType.LIAN_YI_QUN))//推荐列表里有必需品且,必需品类型为上衣或下装或连衣裙,有先穿戴必须品,其次穿戴高分服装
|
|
|
- {
|
|
|
- if (subType == ConstDressUpItemType.LIAN_YI_QUN)
|
|
|
- {
|
|
|
- shangyiIndex = CheckIndex(ConstDressUpItemType.SHANG_YI, recommendList);
|
|
|
- if (shangyiIndex >= 0) recommendList.RemoveAt(shangyiIndex);
|
|
|
- xiazhuangIndex = CheckIndex(ConstDressUpItemType.XIA_ZHUANG, recommendList);
|
|
|
- if (xiazhuangIndex >= 0) recommendList.RemoveAt(xiazhuangIndex);
|
|
|
- neidaIndex = CheckIndex(ConstDressUpItemType.NEI_DA, recommendList);
|
|
|
- if (neidaIndex >= 0) recommendList.RemoveAt(neidaIndex);
|
|
|
- }
|
|
|
- else if (subType == ConstDressUpItemType.SHANG_YI || subType == ConstDressUpItemType.XIA_ZHUANG || subType == ConstDressUpItemType.NEI_DA)
|
|
|
- {
|
|
|
- liangyiqunIndex = CheckIndex(ConstDressUpItemType.LIAN_YI_QUN, recommendList);
|
|
|
- if (liangyiqunIndex >= 0) recommendList.RemoveAt(liangyiqunIndex);
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- if (lianyiqunScore > shangyiScore + xiazhuangScore + neidaScore)
|
|
|
- {
|
|
|
- shangyiIndex = CheckIndex(ConstDressUpItemType.SHANG_YI, recommendList);
|
|
|
- if (shangyiIndex >= 0) recommendList.RemoveAt(shangyiIndex);
|
|
|
- xiazhuangIndex = CheckIndex(ConstDressUpItemType.XIA_ZHUANG, recommendList);
|
|
|
- if (xiazhuangIndex >= 0) recommendList.RemoveAt(xiazhuangIndex);
|
|
|
- neidaIndex = CheckIndex(ConstDressUpItemType.NEI_DA, recommendList);
|
|
|
- if (neidaIndex >= 0) recommendList.RemoveAt(neidaIndex);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- liangyiqunIndex = CheckIndex(ConstDressUpItemType.LIAN_YI_QUN, recommendList);
|
|
|
- if (liangyiqunIndex >= 0) recommendList.RemoveAt(liangyiqunIndex);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- //推荐搭配自动穿必穿品
|
|
|
- if (fightCfg.needItemId > 0 && DressUpMenuItemDataManager.CheckHasItem(fightCfg.needItemId) && recommendList.IndexOf(fightCfg.needItemId) < 0)
|
|
|
- {
|
|
|
- int subType = ItemUtilCS.GetItemSubType(fightCfg.needItemId);
|
|
|
- for (int i = 0; i < recommendList.Count; i++)
|
|
|
- {
|
|
|
- int recommendSubType = ItemUtilCS.GetItemSubType(recommendList[i]);
|
|
|
- if (recommendSubType == subType)
|
|
|
- {
|
|
|
- recommendList.RemoveAt(i);
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- recommendList.Add(fightCfg.needItemId);
|
|
|
- }
|
|
|
- else if (fightCfg.needSuitId > 0 && DressUpMenuSuitDataManager.CheckHaveSuit(fightCfg.needSuitId))
|
|
|
- {
|
|
|
- recommendList.Clear();
|
|
|
- SuitCfg cfg = SuitCfgArray.Instance.GetCfg(fightCfg.needSuitId);
|
|
|
- recommendList.AddRange(cfg.partsArr);
|
|
|
- }
|
|
|
- dressUpObj.PutOnItemList(recommendList);
|
|
|
- }
|
|
|
+ // if (shangyiIndex >= 0 && xiazhuangIndex >= 0)//同时拥有上衣、下装、连衣裙
|
|
|
+ // {
|
|
|
+ // int lianyiqunScore = ItemDataManager.GetItemAdditionScore(recommendList[liangyiqunIndex], InstanceZonesDataManager.currentScoreType);
|
|
|
+ // int shangyiScore = ItemDataManager.GetItemAdditionScore(recommendList[shangyiIndex], InstanceZonesDataManager.currentScoreType);
|
|
|
+ // int xiazhuangScore = ItemDataManager.GetItemAdditionScore(recommendList[xiazhuangIndex], InstanceZonesDataManager.currentScoreType);
|
|
|
+ // int neidaScore = neidaIndex >= 0 ? ItemDataManager.GetItemAdditionScore(recommendList[neidaIndex], InstanceZonesDataManager.currentScoreType) : 0;
|
|
|
+ // int subType = ItemUtilCS.GetItemSubType(fightCfg.needItemId);
|
|
|
+ // if (fightCfg.needItemId > 0 && recommendList.IndexOf(fightCfg.needItemId) >= 0 && (subType == ConstDressUpItemType.SHANG_YI || subType == ConstDressUpItemType.XIA_ZHUANG || subType == ConstDressUpItemType.NEI_DA || subType == ConstDressUpItemType.LIAN_YI_QUN))//推荐列表里有必需品且,必需品类型为上衣或下装或连衣裙,有先穿戴必须品,其次穿戴高分服装
|
|
|
+ // {
|
|
|
+ // if (subType == ConstDressUpItemType.LIAN_YI_QUN)
|
|
|
+ // {
|
|
|
+ // shangyiIndex = CheckIndex(ConstDressUpItemType.SHANG_YI, recommendList);
|
|
|
+ // if (shangyiIndex >= 0) recommendList.RemoveAt(shangyiIndex);
|
|
|
+ // xiazhuangIndex = CheckIndex(ConstDressUpItemType.XIA_ZHUANG, recommendList);
|
|
|
+ // if (xiazhuangIndex >= 0) recommendList.RemoveAt(xiazhuangIndex);
|
|
|
+ // neidaIndex = CheckIndex(ConstDressUpItemType.NEI_DA, recommendList);
|
|
|
+ // if (neidaIndex >= 0) recommendList.RemoveAt(neidaIndex);
|
|
|
+ // }
|
|
|
+ // else if (subType == ConstDressUpItemType.SHANG_YI || subType == ConstDressUpItemType.XIA_ZHUANG || subType == ConstDressUpItemType.NEI_DA)
|
|
|
+ // {
|
|
|
+ // liangyiqunIndex = CheckIndex(ConstDressUpItemType.LIAN_YI_QUN, recommendList);
|
|
|
+ // if (liangyiqunIndex >= 0) recommendList.RemoveAt(liangyiqunIndex);
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // else
|
|
|
+ // {
|
|
|
+ // if (lianyiqunScore > shangyiScore + xiazhuangScore + neidaScore)
|
|
|
+ // {
|
|
|
+ // shangyiIndex = CheckIndex(ConstDressUpItemType.SHANG_YI, recommendList);
|
|
|
+ // if (shangyiIndex >= 0) recommendList.RemoveAt(shangyiIndex);
|
|
|
+ // xiazhuangIndex = CheckIndex(ConstDressUpItemType.XIA_ZHUANG, recommendList);
|
|
|
+ // if (xiazhuangIndex >= 0) recommendList.RemoveAt(xiazhuangIndex);
|
|
|
+ // neidaIndex = CheckIndex(ConstDressUpItemType.NEI_DA, recommendList);
|
|
|
+ // if (neidaIndex >= 0) recommendList.RemoveAt(neidaIndex);
|
|
|
+ // }
|
|
|
+ // else
|
|
|
+ // {
|
|
|
+ // liangyiqunIndex = CheckIndex(ConstDressUpItemType.LIAN_YI_QUN, recommendList);
|
|
|
+ // if (liangyiqunIndex >= 0) recommendList.RemoveAt(liangyiqunIndex);
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // //推荐搭配自动穿必穿品
|
|
|
+ // if (fightCfg.needItemId > 0 && DressUpMenuItemDataManager.CheckHasItem(fightCfg.needItemId) && recommendList.IndexOf(fightCfg.needItemId) < 0)
|
|
|
+ // {
|
|
|
+ // int subType = ItemUtilCS.GetItemSubType(fightCfg.needItemId);
|
|
|
+ // for (int i = 0; i < recommendList.Count; i++)
|
|
|
+ // {
|
|
|
+ // int recommendSubType = ItemUtilCS.GetItemSubType(recommendList[i]);
|
|
|
+ // if (recommendSubType == subType)
|
|
|
+ // {
|
|
|
+ // recommendList.RemoveAt(i);
|
|
|
+ // break;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // recommendList.Add(fightCfg.needItemId);
|
|
|
+ // }
|
|
|
+ // else if (fightCfg.needSuitId > 0 && DressUpMenuSuitDataManager.CheckHaveSuit(fightCfg.needSuitId))
|
|
|
+ // {
|
|
|
+ // recommendList.Clear();
|
|
|
+ // SuitCfg cfg = SuitCfgArray.Instance.GetCfg(fightCfg.needSuitId);
|
|
|
+ // recommendList.AddRange(cfg.partsArr);
|
|
|
+ // }
|
|
|
+ // dressUpObj.PutOnItemList(recommendList);
|
|
|
+ // }
|
|
|
|
|
|
public static void PutOnRecommendItems2()
|
|
|
{
|
|
@@ -298,15 +301,14 @@ namespace GFGGame
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ DressUpMenuItemDataManager.SortItemListByHighScore(needOrnament);
|
|
|
+ needOrnament = needOrnament.GetRange(0, Math.Min(needOrnament.Count, GlobalCfgArray.globalCfg.dressLimitCount));
|
|
|
recommendItems.AddRange(needOrnament);
|
|
|
|
|
|
- if (recommendItems.Count < GlobalCfgArray.globalCfg.dressLimitCount)
|
|
|
- {
|
|
|
- DressUpMenuItemDataManager.SortItemListByHighScore(recommecdOrnament);
|
|
|
- int count = Math.Min(recommecdOrnament.Count, GlobalCfgArray.globalCfg.dressLimitCount - recommendItems.Count);
|
|
|
- recommecdOrnament = recommecdOrnament.GetRange(0, count);
|
|
|
- recommendItems.AddRange(recommecdOrnament);
|
|
|
- }
|
|
|
+ DressUpMenuItemDataManager.SortItemListByHighScore(recommecdOrnament);
|
|
|
+ recommecdOrnament = recommecdOrnament.GetRange(0, Math.Min(recommecdOrnament.Count, GlobalCfgArray.globalCfg.dressLimitCount - needOrnament.Count));
|
|
|
+ recommendItems.AddRange(recommecdOrnament);
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
return itemsDic;
|
|
@@ -371,7 +373,29 @@ namespace GFGGame
|
|
|
DressUpMenuItemDataManager.SortItemListByHighScore(recommendListBySubType[subType]);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ //获取一套套装战斗时可用部件(剔除超过5件的饰品)
|
|
|
+ public static List<int> GetSuitFightItems(int suitId)
|
|
|
+ {
|
|
|
+ List<int> items = new List<int>();
|
|
|
+ List<int> ornamentItems = new List<int>();
|
|
|
+ int[] suitParts = SuitCfgArray.Instance.GetCfg(suitId).partsArr;
|
|
|
+ for (int i = 0; i < suitParts.Length; i++)
|
|
|
+ {
|
|
|
+ if (DressUpMenuItemCfg1Array.Instance.CheckIsOrnamentsType(suitParts[i]))
|
|
|
+ {
|
|
|
+ ornamentItems.Add(suitParts[i]);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ items.Add(suitParts[i]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ DressUpMenuItemDataManager.SortItemListByHighScore(ornamentItems);
|
|
|
+ int count = Math.Min(ornamentItems.Count, GlobalCfgArray.globalCfg.dressLimitCount);
|
|
|
+ ornamentItems = ornamentItems.GetRange(0, count);
|
|
|
+ items.AddRange(ornamentItems);
|
|
|
+ return items;
|
|
|
+ }
|
|
|
private static int CheckIndex(int _subType, List<int> recommendList)
|
|
|
{
|
|
|
for (int i = 0; i < recommendList.Count; i++)
|