|  | @@ -1,4 +1,5 @@
 | 
	
		
			
				|  |  | -using ET;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +using ET;
 | 
	
		
			
				|  |  |  using System;
 | 
	
		
			
				|  |  |  using System.Collections;
 | 
	
		
			
				|  |  |  using System.Collections.Generic;
 | 
	
	
		
			
				|  | @@ -7,6 +8,7 @@ using UnityEngine;
 | 
	
		
			
				|  |  |  using Live2D.Cubism.Rendering;
 | 
	
		
			
				|  |  |  using FairyGUI;
 | 
	
		
			
				|  |  |  using UI.MatchingCompetition;
 | 
	
		
			
				|  |  | +using System.IO;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  namespace GFGGame
 | 
	
		
			
				|  |  |  {
 | 
	
	
		
			
				|  | @@ -173,7 +175,10 @@ namespace GFGGame
 | 
	
		
			
				|  |  |                  {
 | 
	
		
			
				|  |  |                      //propIDList.Add(AllDressIDInfoList[i].ItemId);
 | 
	
		
			
				|  |  |                      //transDataList.Add(AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
 | 
	
		
			
				|  |  | -                    DressPropTransInfoDic.Add(AllDressIDInfoList[i].ItemId.ToString(), AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
 | 
	
		
			
				|  |  | +                    if (!DressPropTransInfoDic.ContainsKey(AllDressIDInfoList[i].ItemId))
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        DressPropTransInfoDic.Add(AllDressIDInfoList[i].ItemId.ToString(), AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  else
 | 
	
		
			
				|  |  |                  {
 | 
	
	
		
			
				|  | @@ -187,7 +192,10 @@ namespace GFGGame
 | 
	
		
			
				|  |  |                              //transDataList.Add(AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
 | 
	
		
			
				|  |  |                              if(GetIDListByString(AllDressIDInfoList[i].ItemId).Count > 1)
 | 
	
		
			
				|  |  |                              {
 | 
	
		
			
				|  |  | -                                DressPropTransInfoDic.Add(AllDressIDInfoList[i].ItemId.ToString(), AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
 | 
	
		
			
				|  |  | +                                if (!DressPropTransInfoDic.ContainsKey(AllDressIDInfoList[i].ItemId))
 | 
	
		
			
				|  |  | +                                {
 | 
	
		
			
				|  |  | +                                    DressPropTransInfoDic.Add(AllDressIDInfoList[i].ItemId.ToString(), AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
 | 
	
		
			
				|  |  | +                                }
 | 
	
		
			
				|  |  |                              }                           
 | 
	
		
			
				|  |  |                          }
 | 
	
		
			
				|  |  |                          else if (itemCfg != null && itemCfg.subType == ConstDressUpItemType.BEI_JING)
 | 
	
	
		
			
				|  | @@ -205,7 +213,10 @@ namespace GFGGame
 | 
	
		
			
				|  |  |                          //记录道具和位置信息
 | 
	
		
			
				|  |  |                          //propIDList.Add(GetIDByString(AllDressIDInfoList[i].ItemId));
 | 
	
		
			
				|  |  |                          //transDataList.Add(AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
 | 
	
		
			
				|  |  | -                        DressPropTransInfoDic.Add(AllDressIDInfoList[i].ItemId.ToString(), AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
 | 
	
		
			
				|  |  | +                        if (!DressPropTransInfoDic.ContainsKey(AllDressIDInfoList[i].ItemId))
 | 
	
		
			
				|  |  | +                        {
 | 
	
		
			
				|  |  | +                            DressPropTransInfoDic.Add(AllDressIDInfoList[i].ItemId.ToString(), AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                      else if(itemCfg == null)
 | 
	
		
			
				|  |  |                      {
 | 
	
	
		
			
				|  | @@ -253,6 +264,34 @@ namespace GFGGame
 | 
	
		
			
				|  |  |                      roleTransFormData.scale = itemGameObjs[i].transform.localScale;
 | 
	
		
			
				|  |  |                      TransformDataList.Add(roleTransFormData);
 | 
	
		
			
				|  |  |                      DressPropNameList.Add(itemGameObjs[i].name);
 | 
	
		
			
				|  |  | +                    if (!DressPropTransInfoDic.ContainsKey(itemGameObjs[i].name))
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        DressPropTransInfoDic.Add(itemGameObjs[i].name, roleTransFormData);
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                else if (itemGameObjs[i].name == "Border")
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    itemData.position = itemGameObjs[i].transform.position;
 | 
	
		
			
				|  |  | +                    itemData.rotationZ = itemGameObjs[i].transform.eulerAngles.z;
 | 
	
		
			
				|  |  | +                    itemData.scale = itemGameObjs[i].transform.localScale;
 | 
	
		
			
				|  |  | +                    TransformDataList.Add(roleTransFormData);
 | 
	
		
			
				|  |  | +                    DressPropNameList.Add(itemGameObjs[i].name);
 | 
	
		
			
				|  |  | +                    if (!DressPropTransInfoDic.ContainsKey(itemGameObjs[i].name))
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        DressPropTransInfoDic.Add(BorderID.ToString(), itemData);
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                else if (itemGameObjs[i].name == "Npc")
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    itemData.position = itemGameObjs[i].transform.position;
 | 
	
		
			
				|  |  | +                    itemData.rotationZ = itemGameObjs[i].transform.eulerAngles.z;
 | 
	
		
			
				|  |  | +                    itemData.scale = itemGameObjs[i].transform.localScale;
 | 
	
		
			
				|  |  | +                    TransformDataList.Add(roleTransFormData);
 | 
	
		
			
				|  |  | +                    DressPropNameList.Add(itemGameObjs[i].name);
 | 
	
		
			
				|  |  | +                    if (!DressPropTransInfoDic.ContainsKey(itemGameObjs[i].name))
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        DressPropTransInfoDic.Add(NpcID.ToString(), itemData);
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  else
 | 
	
		
			
				|  |  |                  {
 | 
	
	
		
			
				|  | @@ -261,24 +300,45 @@ namespace GFGGame
 | 
	
		
			
				|  |  |                      itemData.scale = itemGameObjs[i].transform.localScale;
 | 
	
		
			
				|  |  |                      TransformDataList.Add(itemData);
 | 
	
		
			
				|  |  |                      DressPropNameList.Add(itemGameObjs[i].name);
 | 
	
		
			
				|  |  | +                    if(!DressPropTransInfoDic.ContainsKey(itemGameObjs[i].name))
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        DressPropTransInfoDic.Add(itemGameObjs[i].name, itemData);
 | 
	
		
			
				|  |  | +                    }  
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | -                DressPropTransInfoDic.Add(itemGameObjs[i].name, itemData);
 | 
	
		
			
				|  |  | +                
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              //SetNameToIdList();
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          public int GetIDByString(string name)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |              int id = 0;
 | 
	
		
			
				|  |  |              //使用正则表达式分割字符串
 | 
	
		
			
				|  |  |              string[] parts = Regex.Split(name, "_");
 | 
	
		
			
				|  |  | -            if(parts.Length > 0)
 | 
	
		
			
				|  |  | +            if (parts.Length > 0)
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | -                if(parts[0] == "Role")
 | 
	
		
			
				|  |  | +                string vl = parts[0];
 | 
	
		
			
				|  |  | +                bool isNumeric = int.TryParse(vl, out _);
 | 
	
		
			
				|  |  | +                if (vl == "Role")
 | 
	
		
			
				|  |  |                  {
 | 
	
		
			
				|  |  |                      return -1;
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | +                else if (vl == "Border")
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    return -2;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                else if (vl == "Npc")
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    return -3;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                else if(!isNumeric)
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    return -4;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |                  id = int.Parse(parts[0]);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |              return id;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          public List<int> GetIDListByString(string name)
 | 
	
	
		
			
				|  | @@ -577,7 +637,10 @@ namespace GFGGame
 | 
	
		
			
				|  |  |                  {
 | 
	
		
			
				|  |  |                      //propIDList.Add(colloctItemInfo.ItemId);
 | 
	
		
			
				|  |  |                      //transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
 | 
	
		
			
				|  |  | -                    DressPropTransInfoDic.Add(colloctItemInfo.ItemId, MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
 | 
	
		
			
				|  |  | +                    if(!DressPropTransInfoDic.ContainsKey(colloctItemInfo.ItemId))
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        DressPropTransInfoDic.Add(colloctItemInfo.ItemId, MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
 | 
	
		
			
				|  |  | +                    }    
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  else
 | 
	
		
			
				|  |  |                  {
 | 
	
	
		
			
				|  | @@ -589,7 +652,10 @@ namespace GFGGame
 | 
	
		
			
				|  |  |                              //记录道具和位置信息
 | 
	
		
			
				|  |  |                              //propIDList.Add(colloctItemInfo.ItemId);
 | 
	
		
			
				|  |  |                              //transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
 | 
	
		
			
				|  |  | -                            DressPropTransInfoDic.Add(colloctItemInfo.ItemId, MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
 | 
	
		
			
				|  |  | +                            if (!DressPropTransInfoDic.ContainsKey(colloctItemInfo.ItemId))
 | 
	
		
			
				|  |  | +                            {
 | 
	
		
			
				|  |  | +                                DressPropTransInfoDic.Add(colloctItemInfo.ItemId, MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
 | 
	
		
			
				|  |  | +                            }
 | 
	
		
			
				|  |  |                          }
 | 
	
		
			
				|  |  |                          else if (itemCfg != null && itemCfg.subType == ConstDressUpItemType.BEI_JING)
 | 
	
		
			
				|  |  |                          {
 | 
	
	
		
			
				|  | @@ -605,7 +671,10 @@ namespace GFGGame
 | 
	
		
			
				|  |  |                          //记录道具和位置信息
 | 
	
		
			
				|  |  |                          //propIDList.Add(colloctItemInfo.ItemId);
 | 
	
		
			
				|  |  |                          //transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
 | 
	
		
			
				|  |  | -                        DressPropTransInfoDic.Add(colloctItemInfo.ItemId, MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
 | 
	
		
			
				|  |  | +                        if (!DressPropTransInfoDic.ContainsKey(colloctItemInfo.ItemId))
 | 
	
		
			
				|  |  | +                        {
 | 
	
		
			
				|  |  | +                            DressPropTransInfoDic.Add(colloctItemInfo.ItemId, MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 |