|
@@ -154,7 +154,7 @@ namespace GFGGame
|
|
|
DressUpUtil.AddItem(value, _sceneObj, _needSetMask);
|
|
|
score += DressUpMenuItemDataManager.GetItemScore(value);
|
|
|
}
|
|
|
- int dressSuitId = DressUpMenuSuitDataManager.CheckCurDressIsSuit();
|
|
|
+ int dressSuitId = CheckCurDressIsSuit();
|
|
|
if (dressSuitId > 0) _suitId = dressSuitId;
|
|
|
}
|
|
|
|
|
@@ -171,7 +171,38 @@ namespace GFGGame
|
|
|
score -= DressUpMenuItemDataManager.GetItemScore(value);
|
|
|
}
|
|
|
}
|
|
|
+ //检测当前穿戴是否是一件完整套装,且只穿了一件套装,返回套装id
|
|
|
+ public int CheckCurDressIsSuit()
|
|
|
+ {
|
|
|
+ if (_suitId > 0) return _suitId;
|
|
|
|
|
|
+ // var equipDatas = _equipDatas;
|
|
|
+ int dressSuitId = 0;
|
|
|
+ List<int> _equipDatas = new List<int>();
|
|
|
+ for (int i = 0; i < _equipDatas.Count; i++)
|
|
|
+ {
|
|
|
+ if (DressUpMenuItemDataManager.CheckIsSceneType(_equipDatas[i])) continue;
|
|
|
+ if (_equipDatas[i] != ConstItemID.DEFULT_FA_XING && _equipDatas[i] != ConstItemID.DEFULT_LIAN_YI_QUN && _equipDatas[i] != ConstItemID.DEFULT_NEI_DA && _equipDatas[i] != ConstItemID.DEFULT_XIA_ZHUANG)
|
|
|
+ {
|
|
|
+ int suitId = SuitCfgManager.Instance.GetItemSuitId(_equipDatas[i]);
|
|
|
+ if (suitId <= 0) return 0;//有任何不属于套装的部件且不是原始服装,则当前穿戴不属于套装
|
|
|
+
|
|
|
+ if (dressSuitId != 0 && dressSuitId != suitId) return 0;//当前穿戴不同套装的部件,则当前穿戴不属于套装
|
|
|
+ dressSuitId = suitId;
|
|
|
+
|
|
|
+ _equipDatas.Add(_equipDatas[i]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (dressSuitId == 0) return dressSuitId;
|
|
|
+ int[] itemIds = SuitCfgManager.Instance.GetSuitItems(dressSuitId);
|
|
|
+ for (int i = 0; i < itemIds.Length; i++)
|
|
|
+ {
|
|
|
+ if (DressUpMenuItemDataManager.CheckIsSceneType(itemIds[i])) continue;
|
|
|
+ if (_equipDatas.IndexOf(itemIds[i]) < 0) return 0;//套装部件穿戴不完整
|
|
|
+ }
|
|
|
+
|
|
|
+ return dressSuitId;
|
|
|
+ }
|
|
|
/// <summary>
|
|
|
/// 仅判断换装部件是否已穿着
|
|
|
/// </summary>
|
|
@@ -295,13 +326,13 @@ namespace GFGGame
|
|
|
//是否有内搭
|
|
|
bool hasNeiDa = false;
|
|
|
//是否有上衣
|
|
|
- bool hasShangYi = false;
|
|
|
+ bool hasShangYi = false;
|
|
|
//是否有下装
|
|
|
bool hasXiaZhuang = false;
|
|
|
//是否有默认内搭
|
|
|
- bool hasNeiDaDefault = false;
|
|
|
+ bool hasNeiDaDefault = false;
|
|
|
//是否有默认下装
|
|
|
- bool hasXiaZhuangDefault = false;
|
|
|
+ bool hasXiaZhuangDefault = false;
|
|
|
for (int i = 0; i < _equipDatas.Count; i++)
|
|
|
{
|
|
|
int itemID = (int)_equipDatas[i];
|
|
@@ -341,7 +372,7 @@ namespace GFGGame
|
|
|
}
|
|
|
if (!hasLianYiQun)
|
|
|
{
|
|
|
- if(!hasShangYi && (!hasNeiDa || hasNeiDaDefault) && (!hasXiaZhuang || hasXiaZhuangDefault))
|
|
|
+ if (!hasShangYi && (!hasNeiDa || hasNeiDaDefault) && (!hasXiaZhuang || hasXiaZhuangDefault))
|
|
|
{
|
|
|
Remove(ConstItemID.DEFULT_XIA_ZHUANG);
|
|
|
Remove(ConstItemID.DEFULT_NEI_DA);
|
|
@@ -358,7 +389,7 @@ namespace GFGGame
|
|
|
Add(ConstItemID.DEFULT_NEI_DA);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
}
|