Browse Source

搭配赛动态显示,有问题就回退这个提交

zhangyuqian 11 months ago
parent
commit
ec9d576ed3

+ 174 - 104
GameClient/Assets/Game/HotUpdate/Data/MatchingCompetitionDataManager.cs

@@ -19,7 +19,7 @@ namespace GFGGame
         //人物位置信息
         public TransformData roleTransFormData = new TransformData();
         public GameObject roleGameobj;
-        public int roleID = -1;
+        public string roleID = "Role";
         //*********************搭配数据*********************************
         //需要传输的数据:MathingDressDate,DressUpBgID,DressPropIdList,TransformDataList,
         public DressUpData MathingDressDate = DressUpData.CreateDefault();
@@ -34,7 +34,11 @@ namespace GFGGame
         //场景名字,自己搭配的数据
         public List<string> DressPropNameList = new List<string>();
         //道具id
-        public List<int> DressPropIdList = new List<int>();
+        //public List<int> DressPropIdList = new List<int>();
+        //道具索引
+        public int DressPropIndex = 0;
+        //道具索引字典
+        public Dictionary<string, TransformData> DressPropTransInfoDic = new Dictionary<string, TransformData>();
         //道具位置信息
         public List<TransformData> TransformDataList = new List<TransformData>();
         public List<GameObject> itemGameObjs = new List<GameObject>();
@@ -116,28 +120,40 @@ namespace GFGGame
             foreach(var item in MathingDressDate.itemList)
             {
                 CollocationInfo itemInfo = new CollocationInfo();
-                itemInfo.ItemId = item;
+                itemInfo.ItemId = item.ToString();
                 itemInfo.ClientPosition = "";
                 AllDressIDInfoList.Add(itemInfo);
             }
-            for(int i = 0;i< DressPropIdList.Count;i++)
+            foreach (var item in DressPropTransInfoDic)
             {
                 CollocationInfo itemInfo = new CollocationInfo();
-                itemInfo.ItemId = DressPropIdList[i];
-                string transStr = TransformDataList[i].position.x.ToString()+"_" + TransformDataList[i].position.y.ToString() + "_" 
-                    + TransformDataList[i].position.z.ToString()
-                   + "_" + TransformDataList[i].rotationZ.ToString()
-                   + "_" + TransformDataList[i].scale.x.ToString() + "_" + 
-                   TransformDataList[i].scale.y.ToString() + "_" + TransformDataList[i].scale.z.ToString();
+                itemInfo.ItemId = item.Key;
+                string transStr = item.Value.position.x.ToString() + "_" + item.Value.position.y.ToString() + "_"
+                    + item.Value.position.z.ToString()
+                   + "_" + item.Value.rotationZ.ToString()
+                   + "_" + item.Value.scale.x.ToString() + "_" +
+                   item.Value.scale.y.ToString() + "_" + item.Value.scale.z.ToString();
                 itemInfo.ClientPosition = transStr;
                 AllDressIDInfoList.Add(itemInfo);
             }
+            //for(int i = 0;i< DressPropIdList.Count;i++)
+            //{
+            //    CollocationInfo itemInfo = new CollocationInfo();
+            //    itemInfo.ItemId = DressPropIdList[i];
+            //    string transStr = TransformDataList[i].position.x.ToString()+"_" + TransformDataList[i].position.y.ToString() + "_" 
+            //        + TransformDataList[i].position.z.ToString()
+            //       + "_" + TransformDataList[i].rotationZ.ToString()
+            //       + "_" + TransformDataList[i].scale.x.ToString() + "_" + 
+            //       TransformDataList[i].scale.y.ToString() + "_" + TransformDataList[i].scale.z.ToString();
+            //    itemInfo.ClientPosition = transStr;
+            //    AllDressIDInfoList.Add(itemInfo);
+            //}
             CollocationInfo itemBgInfo = new CollocationInfo();
-            itemBgInfo.ItemId = MatchingCompetitionDataManager.Instance.DressUpBgID;
+            itemBgInfo.ItemId = MatchingCompetitionDataManager.Instance.DressUpBgID.ToString();
             itemBgInfo.ClientPosition = "";
             AllDressIDInfoList.Add(itemBgInfo);
             CollocationInfo itemActionInfo = new CollocationInfo();
-            itemActionInfo.ItemId = MatchingCompetitionDataManager.Instance.MathingDressDate.actionId;
+            itemActionInfo.ItemId = MatchingCompetitionDataManager.Instance.MathingDressDate.actionId.ToString();
             itemActionInfo.ClientPosition = "";
             AllDressIDInfoList.Add(itemActionInfo);
         }
@@ -149,57 +165,57 @@ namespace GFGGame
             List<TransformData> transDataList = new List<TransformData>();
             DressUpBgID = 0;
             MathingDressDate.actionId = 0;
+            DressPropTransInfoDic.Clear();
             for (int i = 0; i < AllDressIDInfoList.Count; i++)
             {
                 if(AllDressIDInfoList[i].ItemId == roleID)
                 {
-                    propIDList.Add(AllDressIDInfoList[i].ItemId);
-                    transDataList.Add(AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
+                    //propIDList.Add(AllDressIDInfoList[i].ItemId);
+                    //transDataList.Add(AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
+                    DressPropTransInfoDic.Add(AllDressIDInfoList[i].ItemId.ToString(), AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
                 }
                 else
                 {
-                    ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(AllDressIDInfoList[i].ItemId);
+                    ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(GetIDByString(AllDressIDInfoList[i].ItemId));
                     if (itemCfg != null && itemCfg.itemType == ConstItemType.DRESS_UP)
                     {
                         if(itemCfg.subType == 19 || itemCfg.subType == 17 || itemCfg.subType == 21|| itemCfg.subType == 22)
                         {
                             //记录道具和位置信息
-                            propIDList.Add(AllDressIDInfoList[i].ItemId);
-                            transDataList.Add(AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
-                            if (itemCfg.resLayer2 == "t" || itemCfg.resLayer3 == "t")
-                            {
-                                propIDList.Add(-3);
-                                transDataList.Add(AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
-                            }
+                            //propIDList.Add(GetIDByString(AllDressIDInfoList[i].ItemId));
+                            //transDataList.Add(AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
+                            DressPropTransInfoDic.Add(AllDressIDInfoList[i].ItemId.ToString(), AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
                         }
                         else if (itemCfg != null && itemCfg.subType == ConstDressUpItemType.BEI_JING)
                         {
                             DressUpBgID = itemCfg.id;
+                            MathingDressDate.bgId = itemCfg.id;
                         }
                         else
                         {
-                            dressitemIDList.Add(AllDressIDInfoList[i].ItemId);
+                            dressitemIDList.Add(GetIDByString(AllDressIDInfoList[i].ItemId));
                         }    
                     }
                     else if (itemCfg != null && itemCfg.itemType == ConstItemType.PHOTOGRAPH)
                     {
                         //记录道具和位置信息
-                        propIDList.Add(AllDressIDInfoList[i].ItemId);
-                        transDataList.Add(AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
+                        //propIDList.Add(GetIDByString(AllDressIDInfoList[i].ItemId));
+                        //transDataList.Add(AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
+                        DressPropTransInfoDic.Add(AllDressIDInfoList[i].ItemId.ToString(), AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
                     }
                     else if(itemCfg == null)
                     {
-                        SuitCfg actionId = SuitCfgArray.Instance.GetCfg(AllDressIDInfoList[i].ItemId);
+                        SuitCfg actionId = SuitCfgArray.Instance.GetCfg(GetIDByString(AllDressIDInfoList[i].ItemId));
                         if(actionId !=null)
                         {
-                            MathingDressDate.actionId = AllDressIDInfoList[i].ItemId;
+                            MathingDressDate.actionId = GetIDByString(AllDressIDInfoList[i].ItemId);
                         }   
                     }
                 }
             }
             MathingDressDate.itemList = dressitemIDList;
-            DressPropIdList = propIDList;
-            TransformDataList = transDataList;
+            //DressPropIdList = propIDList;
+            //TransformDataList = transDataList;
         }
         public TransformData AnalysisStringToTransform(string strTrans)
         {
@@ -222,11 +238,12 @@ namespace GFGGame
         {
             DressPropNameList.Clear();
             TransformDataList.Clear();
+            DressPropTransInfoDic.Clear();
             for (int i =0;i<itemGameObjs.Count;i++)
-            { 
-                if(itemGameObjs[i].name == "Role")
+            {
+                TransformData itemData = new TransformData();
+                if (itemGameObjs[i].name == "Role")
                 {
-                    TransformData itemData = new TransformData();
                     roleTransFormData.position = itemGameObjs[i].transform.position;
                     roleTransFormData.rotationZ = itemGameObjs[i].transform.eulerAngles.z;
                     roleTransFormData.scale = itemGameObjs[i].transform.localScale;
@@ -235,67 +252,97 @@ namespace GFGGame
                 }
                 else
                 {
-                    TransformData itemData = new TransformData();
                     itemData.position = itemGameObjs[i].transform.position;
                     itemData.rotationZ = itemGameObjs[i].transform.eulerAngles.z;
                     itemData.scale = itemGameObjs[i].transform.localScale;
                     TransformDataList.Add(itemData);
                     DressPropNameList.Add(itemGameObjs[i].name);
                 }
-
+                DressPropTransInfoDic.Add(itemGameObjs[i].name, itemData);
             }
-            SetNameToIdList();
+            //SetNameToIdList();
         }
-        //将名字转换成道具id
-        public void SetNameToIdList()
+        public int GetIDByString(string name)
         {
-            DressPropIdList.Clear();
-            int flog_prefix = 0;
-            int flog_suffix = 0;
-            for (int i = 0; i < DressPropNameList.Count; i++)
+            int id = 0;
+            //使用正则表达式分割字符串
+            string[] parts = Regex.Split(name, "_");
+            if(parts.Length > 0)
             {
-                bool containsUnderscore = Regex.IsMatch(DressPropNameList[i], "_");
-                if(!containsUnderscore)
+                if(parts[0] == "Role")
                 {
-                    if (DressPropNameList[i] == "Role")
-                    {
-                        DressPropIdList.Add(roleID);
-                    }
-                    else if (DressPropNameList[i] == "Border")
-                    {
-                        if (BorderID != 0)
-                        {
-                            DressPropIdList.Add(BorderID);
-                        }
-                    }
-                    else if (DressPropNameList[i] == "Npc")
-                    {
-                        if (NpcID != 0)
-                        {
-                            DressPropIdList.Add(NpcID);
-                        }
-                    }
-                }
-                else
-                {
-                    // 使用正则表达式分割字符串
-                    string[] parts = Regex.Split(DressPropNameList[i], "_");
-                    int partID = int.Parse(parts[0]);
-                    if(flog_prefix == int.Parse(parts[0]))
-                    {
-                        if((flog_suffix == 3 && int.Parse(parts[1]) == 1)|| (flog_suffix == 1 && int.Parse(parts[1]) == 3))
-                        {
-                            flog_prefix = 0;
-                            flog_suffix = 0;
-                            continue;
-                        }
-                    }
-                    flog_prefix = int.Parse(parts[0]);
-                    flog_suffix = int.Parse(parts[1]);   
-                    DressPropIdList.Add(partID);
+                    return -1;
                 }
+                id = int.Parse(parts[0]);
+            }
+            return id;
+        }
+        public List<int> GetIDListByString(string name)
+        {
+            List<int> idList = new List<int>();
+            string[] parts = Regex.Split(name, "_");
+            foreach(string id in parts)
+            {
+                idList.Add(int.Parse(id));
             }
+            return idList;
         }
+        //将名字转换成道具id
+        //public void SetNameToIdList()
+        //{
+        //    //DressPropIdList.Clear();
+        //    int flog_prefix = 0;
+        //    int flog_suffix = 0;
+        //    for (int i = 0; i < DressPropNameList.Count; i++)
+        //    {
+        //        bool containsUnderscore = Regex.IsMatch(DressPropNameList[i], "_");
+        //        if(!containsUnderscore)
+        //        {
+        //            if (DressPropNameList[i] == "Role")
+        //            {
+        //                DressPropIdList.Add(roleID);
+        //            }
+        //            else if (DressPropNameList[i] == "Border")
+        //            {
+        //                if (BorderID != 0)
+        //                {
+        //                    DressPropIdList.Add(BorderID);
+        //                }
+        //            }
+        //            else if (DressPropNameList[i] == "Npc")
+        //            {
+        //                if (NpcID != 0)
+        //                {
+        //                    DressPropIdList.Add(NpcID);
+        //                }
+        //            }
+        //        }
+        //        else
+        //        {
+        //            // 使用正则表达式分割字符串
+        //            string[] parts = Regex.Split(DressPropNameList[i], "_");
+        //            int partID = int.Parse(parts[0]);
+        //            if(flog_prefix == int.Parse(parts[0]))
+        //            {
+        //                if((flog_suffix == 3 && int.Parse(parts[1]) == 1)|| (flog_suffix == 1 && int.Parse(parts[1]) == 3))
+        //                {
+        //                    flog_prefix = 0;
+        //                    flog_suffix = 0;
+        //                    continue;
+        //                }
+        //                if ((flog_suffix == 2 && int.Parse(parts[1]) == 1) || (flog_suffix == 1 && int.Parse(parts[1]) == 2))
+        //                {
+        //                    flog_prefix = 0;
+        //                    flog_suffix = 0;
+        //                    continue;
+        //                }
+        //            }
+        //            flog_prefix = int.Parse(parts[0]);
+        //            flog_suffix = int.Parse(parts[1]);   
+        //            DressPropIdList.Add(partID);
+        //        }
+        //    }
+        //}
         //将穿戴数据分类
         //public void ClassifyEquipData()
         //{
@@ -324,9 +371,11 @@ namespace GFGGame
         //}
         public void InsertGameObjectList()
         {
-            for(int i=0;i< DressPropIdList.Count;i++)
+            int i = 0;
+            foreach(var item in DressPropTransInfoDic)
             {
-                if (DressPropIdList[i] == roleID)
+                i++;
+                if (item.Key == roleID)
                 {
                     indexRoleData = i;
                 }
@@ -411,7 +460,7 @@ namespace GFGGame
             Vector3 pos = Vector3.zero;
             if (!string.IsNullOrEmpty(itemCfg.resLayer3))
             {
-                GameObject parentGameObj3 = new GameObject(string.Format("{0}_{1}", itemCfg.id, 3));
+                GameObject parentGameObj3 = new GameObject(string.Format("{0}_{1}_{2}", itemCfg.id, 3,DressPropIndex++));
                 await PhotographSceneManager.Instance.AddSceneItem(parentGameObj3, itemCfg, 3, setLayer,false,isLeft);
                 if (setLayer)
                 {
@@ -424,7 +473,7 @@ namespace GFGGame
             }
             if (!string.IsNullOrEmpty(itemCfg.resLayer2))
             {
-                GameObject parentGameObj2 = new GameObject(string.Format("{0}_{1}", itemCfg.id, 2));
+                GameObject parentGameObj2 = new GameObject(string.Format("{0}_{1}_{2}", itemCfg.id, 2,DressPropIndex++));
                 await PhotographSceneManager.Instance.AddSceneItem(parentGameObj2, itemCfg, 2, setLayer,false, isLeft);
                 if (setLayer)
                 {
@@ -439,7 +488,7 @@ namespace GFGGame
             if (!string.IsNullOrEmpty(itemCfg.resLayer1))
             {
 
-                GameObject parentGameObj1 = new GameObject(string.Format("{0}_{1}", itemCfg.id, 1));
+                GameObject parentGameObj1 = new GameObject(string.Format("{0}_{1}_{2}", itemCfg.id, 1, DressPropIndex++));
                 await PhotographSceneManager.Instance.AddSceneItem(parentGameObj1, itemCfg, 1, setLayer, false, isLeft);
 
                 if (setLayer)
@@ -453,6 +502,22 @@ namespace GFGGame
                 }
             }
         }
+        public async void AddSceneItemOne(ItemCfg itemCfg, int layer,int index, int isLeft = 0, bool setLayer = true)
+        {
+            Vector3 pos = Vector3.zero;
+            DressPropIndex++;
+            GameObject parentGameObj3 = new GameObject(string.Format("{0}_{1}_{2}", itemCfg.id, layer, index));
+            await PhotographSceneManager.Instance.AddSceneItem(parentGameObj3, itemCfg, layer, setLayer, false, isLeft);
+            if (setLayer)
+            {
+                if (parentGameObj3.transform.childCount > 0)
+                {
+                    parentGameObj3.transform.localPosition = -parentGameObj3.transform.GetChild(0).localPosition;
+                    pos = parentGameObj3.transform.localPosition;
+                }
+            }
+        }
+
         public void OnClickBtnRule()
         {
             ViewManager.Show<MatchingCompetitionRuleTipsView>();
@@ -466,7 +531,7 @@ namespace GFGGame
         //人物位置信息
         public TransformData roleTransFormData = new TransformData();
         public GameObject roleGameobj;
-        public int roleID = -1;
+        public string roleID = "Role";
         //*********************搭配数据*********************************
         //需要传输的数据:MathingDressDate,DressUpBgID,DressPropIdList,TransformDataList,
         public DressUpData MathingDressDate = DressUpData.CreateDefault();
@@ -478,9 +543,13 @@ namespace GFGGame
         public int NpcID = 0;
         //道具数据,一一对应
         //道具id
-        public List<int> DressPropIdList = new List<int>();
+        //public List<int> DressPropIdList = new List<int>();
         //道具位置信息
         public List<TransformData> TransformDataList = new List<TransformData>();
+        //道具索引
+        public int DressPropIndex = 0;
+        //道具索引字典
+        public Dictionary<string, TransformData> DressPropTransInfoDic = new Dictionary<string, TransformData>();
         public List<GameObject> itemGameObjs = new List<GameObject>();
         //***************************************************************
         //解析后台获取的信息
@@ -491,26 +560,24 @@ namespace GFGGame
             List<TransformData> transDataList = new List<TransformData>();
             for (int i = 0; i < OneRoleInfo.JudgingInfo.CollocationInfoList.Count; i++)
             {
-                if (OneRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId == roleID)
+                CollocationInfo colloctItemInfo = OneRoleInfo.JudgingInfo.CollocationInfoList[i];
+                if (colloctItemInfo.ItemId == roleID)
                 {
-                    propIDList.Add(OneRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId);
-                    transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(OneRoleInfo.JudgingInfo.CollocationInfoList[i].ClientPosition));
+                    //propIDList.Add(colloctItemInfo.ItemId);
+                    //transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
+                    DressPropTransInfoDic.Add(colloctItemInfo.ItemId, MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
                 }
                 else
                 {
-                    ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(OneRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId);
+                    ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(MatchingCompetitionDataManager.Instance.GetIDByString( colloctItemInfo.ItemId));
                     if (itemCfg != null && itemCfg.itemType == ConstItemType.DRESS_UP)
                     {
                         if (itemCfg.subType == 19 || itemCfg.subType == 17 || itemCfg.subType == 21 || itemCfg.subType == 22)
                         {
                             //记录道具和位置信息
-                            propIDList.Add(OneRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId);
-                            transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(OneRoleInfo.JudgingInfo.CollocationInfoList[i].ClientPosition));
-                            if(itemCfg.resLayer2 == "t" || itemCfg.resLayer3 == "t")
-                            {
-                                propIDList.Add(-3);
-                                transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(OneRoleInfo.JudgingInfo.CollocationInfoList[i].ClientPosition));
-                            }
+                            //propIDList.Add(colloctItemInfo.ItemId);
+                            //transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
+                            DressPropTransInfoDic.Add(colloctItemInfo.ItemId, MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
                         }
                         else if (itemCfg != null && itemCfg.subType == ConstDressUpItemType.BEI_JING)
                         {
@@ -518,29 +585,32 @@ namespace GFGGame
                         }
                         else
                         {
-                            dressitemIDList.Add(OneRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId);
+                            dressitemIDList.Add(MatchingCompetitionDataManager.Instance.GetIDByString(colloctItemInfo.ItemId));
                         }
                     }
                     else if (itemCfg != null && itemCfg.itemType == ConstItemType.PHOTOGRAPH)
                     {
                         //记录道具和位置信息
-                        propIDList.Add(OneRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId);
-                        transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(OneRoleInfo.JudgingInfo.CollocationInfoList[i].ClientPosition));
+                        //propIDList.Add(colloctItemInfo.ItemId);
+                        //transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
+                        DressPropTransInfoDic.Add(colloctItemInfo.ItemId, MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
                     }
                 }
             }
             MathingDressDate.itemList = dressitemIDList;
             MathingDressDate.actionId = OneRoleInfo.JudgingInfo.ActionId;
-            DressPropIdList = propIDList;
-            TransformDataList = transDataList;
+            //DressPropIdList = propIDList;
+            //TransformDataList = transDataList;
             DressUpBgID = OneRoleInfo.JudgingInfo.BagId;
         }
         public void InsertGameObjectList()
         {
             int indexRoleData = 0;
-            for (int i = 0; i < DressPropIdList.Count; i++)
+            int i = 0;
+            foreach (var item in DressPropTransInfoDic)
             {
-                if (DressPropIdList[i] == roleID)
+                i++;
+                if (item.Key == roleID)
                 {
                     indexRoleData = i;
                 }

+ 52 - 42
GameClient/Assets/Game/HotUpdate/Data/MatchingTwoDataManager.cs

@@ -17,7 +17,7 @@ namespace GFGGame
         //人物位置信息
         public TransformData roleTransFormData = new TransformData();
         public GameObject roleGameobj;
-        public int roleID = -1;
+        public string roleID = "Role";
         //*********************搭配数据*********************************
         //需要传输的数据:MathingDressDate,DressUpBgID,DressPropIdList,TransformDataList,
         public DressUpData MathingDressDate = DressUpData.CreateDefault();
@@ -29,9 +29,13 @@ namespace GFGGame
         public int NpcID = 0;
         //道具数据,一一对应
         //道具id
-        public List<int> DressPropIdList = new List<int>();
+        //public List<int> DressPropIdList = new List<int>();
         //道具位置信息
-        public List<TransformData> TransformDataList = new List<TransformData>();
+        //public List<TransformData> TransformDataList = new List<TransformData>();
+        //道具索引
+        public int DressPropIndex = 0;
+        //道具索引字典
+        public Dictionary<string, TransformData> DressPropTransInfoDic = new Dictionary<string, TransformData>();
         public List<GameObject> itemGameObjs = new List<GameObject>();
         //***************************************************************
         //解析后台获取的信息
@@ -42,26 +46,24 @@ namespace GFGGame
             List<TransformData> transDataList = new List<TransformData>();
             for (int i = 0; i < LeftRoleInfo.JudgingInfo.CollocationInfoList.Count; i++)
             {
-                if (LeftRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId == roleID)
+                CollocationInfo colloctItemInfo = LeftRoleInfo.JudgingInfo.CollocationInfoList[i];
+                if (colloctItemInfo.ItemId == roleID)
                 {
-                    propIDList.Add(LeftRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId);
-                    transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(LeftRoleInfo.JudgingInfo.CollocationInfoList[i].ClientPosition));
+                    //propIDList.Add(colloctItemInfo.ItemId);
+                    //transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
+                    DressPropTransInfoDic.Add(colloctItemInfo.ItemId, MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
                 }
                 else
                 {
-                    ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(LeftRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId);
+                    ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(MatchingCompetitionDataManager.Instance.GetIDByString( colloctItemInfo.ItemId));
                     if (itemCfg != null && itemCfg.itemType == ConstItemType.DRESS_UP)
                     {
                         if (itemCfg.subType == 19 || itemCfg.subType == 17 || itemCfg.subType == 21 || itemCfg.subType == 22)
                         {
                             //记录道具和位置信息
-                            propIDList.Add(LeftRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId);
-                            transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(LeftRoleInfo.JudgingInfo.CollocationInfoList[i].ClientPosition));
-                            if (itemCfg.resLayer2 == "t" || itemCfg.resLayer3 == "t")
-                            {
-                                propIDList.Add(-3);
-                                transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(LeftRoleInfo.JudgingInfo.CollocationInfoList[i].ClientPosition));
-                            }
+                            //propIDList.Add(colloctItemInfo.ItemId);
+                            //transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
+                            DressPropTransInfoDic.Add(colloctItemInfo.ItemId, MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
                         }
                         else if (itemCfg != null && itemCfg.subType == ConstDressUpItemType.BEI_JING)
                         {
@@ -69,29 +71,32 @@ namespace GFGGame
                         }
                         else
                         {
-                            dressitemIDList.Add(LeftRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId);
+                            dressitemIDList.Add(MatchingCompetitionDataManager.Instance.GetIDByString(colloctItemInfo.ItemId));
                         }
                     }
                     else if (itemCfg != null && itemCfg.itemType == ConstItemType.PHOTOGRAPH)
                     {
                         //记录道具和位置信息
-                        propIDList.Add(LeftRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId);
-                        transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(LeftRoleInfo.JudgingInfo.CollocationInfoList[i].ClientPosition));
+                        //propIDList.Add(colloctItemInfo.ItemId);
+                        //transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
+                        DressPropTransInfoDic.Add(colloctItemInfo.ItemId, MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
                     }
                 }
             }
             MathingDressDate.itemList = dressitemIDList;
             MathingDressDate.actionId = LeftRoleInfo.JudgingInfo.ActionId;
-            DressPropIdList = propIDList;
-            TransformDataList = transDataList;
+            //DressPropIdList = propIDList;
+            //TransformDataList = transDataList;
             DressUpBgID = LeftRoleInfo.JudgingInfo.BagId;
         }
         public void InsertGameObjectList()
         {
             int indexRoleData = 0;
-            for (int i = 0; i < DressPropIdList.Count; i++)
+            int i = 0;
+            foreach (var item in DressPropTransInfoDic)
             {
-                if (DressPropIdList[i] == roleID)
+                i++;
+                if (item.Key == roleID)
                 {
                     indexRoleData = i;
                 }
@@ -121,7 +126,7 @@ namespace GFGGame
         //人物位置信息
         public TransformData roleTransFormData = new TransformData();
         public GameObject roleGameobj;
-        public int roleID = -1;
+        public string roleID = "Role";
         //*********************搭配数据*********************************
         //需要传输的数据:MathingDressDate,DressUpBgID,DressPropIdList,TransformDataList,
         public DressUpData MathingDressDate = DressUpData.CreateDefault();
@@ -133,9 +138,13 @@ namespace GFGGame
         public int NpcID = 0;
         //道具数据,一一对应
         //道具id
-        public List<int> DressPropIdList = new List<int>();
+        //public List<int> DressPropIdList = new List<int>();
         //道具位置信息
-        public List<TransformData> TransformDataList = new List<TransformData>();
+       // public List<TransformData> TransformDataList = new List<TransformData>();
+        //道具索引
+        public int DressPropIndex = 0;
+        //道具索引字典
+        public Dictionary<string, TransformData> DressPropTransInfoDic = new Dictionary<string, TransformData>();
         public List<GameObject> itemGameObjs = new List<GameObject>();
         //***************************************************************
         //解析后台获取的信息
@@ -146,26 +155,24 @@ namespace GFGGame
             List<TransformData> transDataList = new List<TransformData>();
             for (int i = 0; i < RightRoleInfo.JudgingInfo.CollocationInfoList.Count; i++)
             {
-                if (RightRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId == roleID)
+                CollocationInfo colloctItemInfo = RightRoleInfo.JudgingInfo.CollocationInfoList[i];
+                if (colloctItemInfo.ItemId == roleID)
                 {
-                    propIDList.Add(RightRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId);
-                    transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(RightRoleInfo.JudgingInfo.CollocationInfoList[i].ClientPosition));
+                    //propIDList.Add(colloctItemInfo.ItemId);
+                    //transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
+                    DressPropTransInfoDic.Add(colloctItemInfo.ItemId, MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
                 }
                 else
                 {
-                    ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(RightRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId);
+                    ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(MatchingCompetitionDataManager.Instance.GetIDByString(colloctItemInfo.ItemId));
                     if (itemCfg != null && itemCfg.itemType == ConstItemType.DRESS_UP)
                     {
                         if (itemCfg.subType == 19 || itemCfg.subType == 17 || itemCfg.subType == 21 || itemCfg.subType == 22)
                         {
                             //记录道具和位置信息
-                            propIDList.Add(RightRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId);
-                            transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(RightRoleInfo.JudgingInfo.CollocationInfoList[i].ClientPosition));
-                            if ( itemCfg.resLayer2 == "t" || itemCfg.resLayer3 == "t")
-                            {
-                                propIDList.Add(-3);
-                                transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(RightRoleInfo.JudgingInfo.CollocationInfoList[i].ClientPosition));
-                            }
+                            //propIDList.Add(colloctItemInfo.ItemId);
+                            //transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
+                            DressPropTransInfoDic.Add(colloctItemInfo.ItemId, MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
                         }
                         else if (itemCfg != null && itemCfg.subType == ConstDressUpItemType.BEI_JING)
                         {
@@ -173,29 +180,32 @@ namespace GFGGame
                         }
                         else
                         {
-                            dressitemIDList.Add(RightRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId);
+                            dressitemIDList.Add(MatchingCompetitionDataManager.Instance.GetIDByString(colloctItemInfo.ItemId));
                         }
                     }
                     else if (itemCfg != null && itemCfg.itemType == ConstItemType.PHOTOGRAPH)
                     {
                         //记录道具和位置信息
-                        propIDList.Add(RightRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId);
-                        transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(RightRoleInfo.JudgingInfo.CollocationInfoList[i].ClientPosition));
+                        //propIDList.Add(colloctItemInfo.ItemId);
+                        //transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
+                        DressPropTransInfoDic.Add(colloctItemInfo.ItemId, MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
                     }
                 }
             }
             MathingDressDate.itemList = dressitemIDList;
             MathingDressDate.actionId = RightRoleInfo.JudgingInfo.ActionId;
-            DressPropIdList = propIDList;
-            TransformDataList = transDataList;
+            //DressPropIdList = propIDList;
+            //TransformDataList = transDataList;
             DressUpBgID = RightRoleInfo.JudgingInfo.BagId;
         }
         public void InsertGameObjectList()
         {
             int indexRoleData = 0;
-            for (int i = 0; i < DressPropIdList.Count; i++)
+            int i = 0;
+            foreach (var item in DressPropTransInfoDic)
             {
-                if (DressPropIdList[i] == roleID)
+                i++;
+                if (item.Key == roleID)
                 {
                     indexRoleData = i;
                 }

+ 2 - 2
GameClient/Assets/Game/HotUpdate/Views/DressUp/DressUpView.cs

@@ -517,7 +517,7 @@ namespace GFGGame
             }
             else
             {
-                _ui.m_comListType1.m_listType.numItems = DressUpMenuItemCfg1Array.Instance.dataArray.Length - 3;
+                _ui.m_comListType1.m_listType.numItems = DressUpMenuItemCfg1Array.Instance.dataArray.Length - 2;
             }
             GTween.To(_ui.target.width, listType1X, 0.5f)
                 .SetTarget(_ui.m_comListType1.target)
@@ -734,7 +734,7 @@ namespace GFGGame
             DressUpMenuItemCfg1 item1 = DressUpMenuItemCfg1Array.Instance.dataArray[index];
             if(this.viewData != null && (int)this.viewData == 2)
             {
-                if(index == DressUpMenuItemCfg1Array.Instance.dataArray.Length - 4)
+                if(index == DressUpMenuItemCfg1Array.Instance.dataArray.Length - 2)
                 {
                     item1 = DressUpMenuItemCfg1Array.Instance.dataArray[index+1];
                 }

+ 39 - 9
GameClient/Assets/Game/HotUpdate/Views/DressUp/PhotographView.cs

@@ -155,6 +155,11 @@ namespace GFGGame
             //Timers.inst.Add(0.5f, 1, UpdateSceneTransform);
             if(this.viewData != null && (int)this.viewData == 2)
             {
+                if (MyDressUpHelper.dressUpObj.bgId != 0)
+                {
+                    MatchingCompetitionDataManager.Instance.DressUpBgID = MyDressUpHelper.dressUpObj.bgId;
+                    MatchingCompetitionDataManager.Instance.MathingDressDate.bgId = MatchingCompetitionDataManager.Instance.DressUpBgID;
+                }
                 await UpdateSceneTransform();
             }  
         }
@@ -264,6 +269,7 @@ namespace GFGGame
             {
                 case EnumPhotographType.BG:
                     MatchingCompetitionDataManager.Instance.DressUpBgID = itemCfg.id;
+                    MatchingCompetitionDataManager.Instance.MathingDressDate.bgId = itemCfg.id;
                     PhotographSceneManager.Instance.AddBgItem(itemCfg);
                     break;
 
@@ -285,7 +291,14 @@ namespace GFGGame
                     break;
 
                 case EnumPhotographType.SCENE:
-                    AddSceneItem(itemCfg, true);
+                    if (this.viewData == null || (int)this.viewData != 2)
+                    {
+                        AddSceneItem(itemCfg, true);
+                    }
+                    else
+                    {
+                        MatchingCompetitionDataManager.Instance.AddSceneItem(itemCfg, true);
+                    }
                     break;
                 case EnumPhotographType.EFFECT:
 
@@ -309,16 +322,28 @@ namespace GFGGame
             }
             else
             {
+                ICollection keys = _equipSceneData.Keys;
+                foreach (int key in keys)
+                {
+                    for (int i = 0; i < _equipSceneData[key].Count; i++)
+                    {
+                        if(!MatchingCompetitionDataManager.Instance.DressPropTransInfoDic.ContainsKey(key.ToString()))
+                        {
+                            MatchingCompetitionDataManager.Instance.DressPropTransInfoDic.Add(key.ToString(),new TransformData());
+                        }
+                    }
+                }
                 //对搭配赛特殊处理
-                for (int i = 0; i < MatchingCompetitionDataManager.Instance.DressPropIdList.Count; i++)
+                foreach(var item in MatchingCompetitionDataManager.Instance.DressPropTransInfoDic)
                 {
-                    if(MatchingCompetitionDataManager.Instance.DressPropIdList[i] == MatchingCompetitionDataManager.Instance.roleID)
+                    if(item.Key == MatchingCompetitionDataManager.Instance.roleID)
                     {
                         continue;
                     }
                     else
                     {
-                        ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(MatchingCompetitionDataManager.Instance.DressPropIdList[i]);
+                        List<int> idList = MatchingCompetitionDataManager.Instance.GetIDListByString(item.Key);
+                        ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(idList[0]);
                         if (itemCfg.itemType == ConstItemType.PHOTOGRAPH && itemCfg.subType == ConstItemSubType.PHOTOGRAPH_BOREDR)
                         {
                             PhotographSceneManager.Instance.AddBorderItem(itemCfg);
@@ -329,7 +354,7 @@ namespace GFGGame
                         }
                         else
                         {
-                            AddSceneItem(itemCfg, true);
+                           MatchingCompetitionDataManager.Instance.AddSceneItemOne(itemCfg,idList[1],idList[2]);
                         }                
                     }
                 }
@@ -345,7 +370,7 @@ namespace GFGGame
             }
             else
             {
-                PhotographSceneManager.Instance.AddBgItem(ItemCfgArray.Instance.GetCfg(MatchingCompetitionDataManager.Instance.DressUpBgID));
+                PhotographSceneManager.Instance.AddBgItem(ItemCfgArray.Instance.GetCfg(MatchingCompetitionDataManager.Instance.DressUpBgID));  
             }
             await Task.Delay(100);
             if (MatchingCompetitionDataManager.Instance.BorderID != 0)
@@ -359,10 +384,14 @@ namespace GFGGame
                 MatchingCompetitionDataManager.Instance.itemGameObjs.Add(NpcGameObj);
             }
             MatchingCompetitionDataManager.Instance.InsertGameObjectList();
-            for (int i = 0; i < MatchingCompetitionDataManager.Instance.TransformDataList.Count; i++)
+            for (int i = 0; i < MatchingCompetitionDataManager.Instance.itemGameObjs.Count; i++)
             {
-                TransformData itemdata = MatchingCompetitionDataManager.Instance.TransformDataList[i];
                 GameObject itemGObj = MatchingCompetitionDataManager.Instance.itemGameObjs[i];
+                TransformData itemdata = new TransformData();
+                if (MatchingCompetitionDataManager.Instance.DressPropTransInfoDic.ContainsKey(itemGObj.name))
+                {
+                    itemdata = MatchingCompetitionDataManager.Instance.DressPropTransInfoDic[itemGObj.name];
+                }
                 MatchingCompetitionDataManager.Instance.itemGameObjs[i].transform.position = itemdata.position;
                 MatchingCompetitionDataManager.Instance.itemGameObjs[i].transform.Rotate(itemGObj.transform.eulerAngles.x, itemGObj.transform.eulerAngles.y, itemdata.rotationZ);
                 MatchingCompetitionDataManager.Instance.itemGameObjs[i].transform.localScale = itemdata.scale;
@@ -646,6 +675,7 @@ namespace GFGGame
                 GameObject.DestroyImmediate(memoryHitGameObj);
             }
             _itemGameObjs.Remove(memoryHitGameObj);
+            MatchingCompetitionDataManager.Instance.DressPropIndex--;
             _ui.m_comSelectBox.target.visible = false;
         }
 
@@ -810,7 +840,7 @@ namespace GFGGame
                 PrefabManager.Instance.Restore(_sceneObject);
                 _sceneObject = null;
             }
-
+            MatchingCompetitionDataManager.Instance.DressPropIndex = 0;
             _equipSceneData.Clear();
             hitGameObj = null;
             memoryHitGameObj = null;

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionRankView.cs

@@ -126,7 +126,7 @@ namespace GFGGame
             List<int> AllIdList = new List<int>();
             foreach (var info in MatchingCompetitionDataManager.Instance._currentRankList[_currentIndex].JudgingInfo.CollocationInfoList)
             {
-                AllIdList.Add(info.ItemId);
+                AllIdList.Add(MatchingCompetitionDataManager.Instance.GetIDByString(info.ItemId));
             }
             MatchingCompetitionDataManager.Instance.DetailNtexture = MatchingCompetitionDataManager.Instance._currentRankList[_currentIndex].Ntexture;
             ViewManager.Show<MatchingCompetitionDetailView>(AllIdList);

+ 32 - 26
GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionSelectView.cs

@@ -61,7 +61,7 @@ namespace GFGGame
             judgingCfg = JudgingRoundOpenCfgArray.Instance.GetCfg(MatchingCompetitionDataManager.Instance.MatchingCompetitionSeason);
             UpdateView();
             UpdatePlayer();
-            //UpdateDressLeft();
+            UpdateDressLeft();
             ViewManager.Hide<ModalStatusView>();
             Timers.inst.AddUpdate(CheckGuide);
         }
@@ -97,9 +97,9 @@ namespace GFGGame
         }
         private void ShowReward()
         {
-            if(MatchingCompetitionDataManager.Instance.SpecialBonusList != null && MatchingCompetitionDataManager.Instance.SpecialBonusList.Count > 0)
+            if (MatchingCompetitionDataManager.Instance.SpecialBonusList != null && MatchingCompetitionDataManager.Instance.SpecialBonusList.Count > 0)
             {
-                ViewManager.Show<MatchingCompetitionRewardView>(new object[] { ItemUtil.CreateItemDataList(MatchingCompetitionDataManager.Instance.SpecialBonusList),null});
+                BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(MatchingCompetitionDataManager.Instance.SpecialBonusList)); ;
                 MatchingCompetitionDataManager.Instance.SpecialBonusList = null;
             }
         }
@@ -140,24 +140,29 @@ namespace GFGGame
             PhotographDataManager.Instance.dressUpObj.PutOnDressUpData(MatchingLeftDataManager.Instance.MathingDressDate);
 
             //对搭配赛特殊处理
-            for (int i = 0; i < MatchingLeftDataManager.Instance.DressPropIdList.Count; i++)
+            foreach (var item in MatchingLeftDataManager.Instance.DressPropTransInfoDic)
             {
-                if (MatchingLeftDataManager.Instance.DressPropIdList[i] <= 0)
+                if (item.Key == MatchingLeftDataManager.Instance.roleID)
                 {
                     continue;
                 }
                 else
                 {
-                    ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(MatchingLeftDataManager.Instance.DressPropIdList[i]);
-                    MatchingCompetitionDataManager.Instance.AddSceneItem(itemCfg, true,1);
+                    List<int> idList = MatchingCompetitionDataManager.Instance.GetIDListByString(item.Key);
+                    ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(idList[0]);
+                    MatchingCompetitionDataManager.Instance.AddSceneItemOne(itemCfg, idList[1], idList[2]);
                 }
             }
             await Task.Delay(200);
             MatchingLeftDataManager.Instance.InsertGameObjectList();
-            for (int i = 0; i < MatchingLeftDataManager.Instance.TransformDataList.Count; i++)
+            for (int i = 0; i < MatchingLeftDataManager.Instance.itemGameObjs.Count; i++)
             {
-                TransformData itemdata = MatchingLeftDataManager.Instance.TransformDataList[i];
                 GameObject itemGObj = MatchingLeftDataManager.Instance.itemGameObjs[i];
+                TransformData itemdata = new TransformData();
+                if (MatchingLeftDataManager.Instance.DressPropTransInfoDic.ContainsKey(itemGObj.name))
+                {
+                    itemdata = MatchingLeftDataManager.Instance.DressPropTransInfoDic[itemGObj.name];
+                }
                 MatchingLeftDataManager.Instance.itemGameObjs[i].transform.position = itemdata.position;
                 if (MatchingLeftDataManager.Instance.itemGameObjs[i].name == "Role")
                 {
@@ -211,24 +216,29 @@ namespace GFGGame
             PhotographDataManager.Instance.dressUpObj.PutOnDressUpData(MatchingRightDataManager.Instance.MathingDressDate);
 
             //对搭配赛特殊处理
-            for (int i = 0; i < MatchingRightDataManager.Instance.DressPropIdList.Count; i++)
+            foreach (var item in MatchingRightDataManager.Instance.DressPropTransInfoDic)
             {
-                if (MatchingRightDataManager.Instance.DressPropIdList[i] <= 0)
+                if (item.Key == MatchingRightDataManager.Instance.roleID)
                 {
                     continue;
                 }
                 else
                 {
-                    ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(MatchingRightDataManager.Instance.DressPropIdList[i]);
-                    MatchingCompetitionDataManager.Instance.AddSceneItem(itemCfg, true,2);
+                    List<int> idList = MatchingCompetitionDataManager.Instance.GetIDListByString(item.Key);
+                    ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(idList[0]);
+                    MatchingCompetitionDataManager.Instance.AddSceneItemOne(itemCfg, idList[1], idList[2]);
                 }
             }
             await Task.Delay(200);
             MatchingRightDataManager.Instance.InsertGameObjectList();
-            for (int i = 0; i < MatchingRightDataManager.Instance.TransformDataList.Count; i++)
+            for (int i = 0; i < MatchingRightDataManager.Instance.itemGameObjs.Count; i++)
             {
-                TransformData itemdata = MatchingRightDataManager.Instance.TransformDataList[i];
                 GameObject itemGObj = MatchingRightDataManager.Instance.itemGameObjs[i];
+                TransformData itemdata = new TransformData();
+                if (MatchingRightDataManager.Instance.DressPropTransInfoDic.ContainsKey(itemGObj.name))
+                {
+                    itemdata = MatchingRightDataManager.Instance.DressPropTransInfoDic[itemGObj.name];
+                }
                 MatchingRightDataManager.Instance.itemGameObjs[i].transform.position = itemdata.position;
                 if (MatchingRightDataManager.Instance.itemGameObjs[i].name == "Role")
                 {
@@ -254,10 +264,10 @@ namespace GFGGame
         private RenderTexture renderTexureRight;
         private void UpdatePlayer()
         {
-            //_ui.m_playerShow1.m_playerImage.m_playerImage.texture = new NTexture(renderTexureLeft);
-            //_ui.m_playerShow2.m_playerImage.m_playerImage.texture = new NTexture(renderTexureRight);
-            _ui.m_playerShow1.m_playerImage.m_playerImage.texture = MatchingLeftDataManager.Instance.LeftRoleInfo.Ntexture;
-            _ui.m_playerShow2.m_playerImage.m_playerImage.texture = MatchingRightDataManager.Instance.RightRoleInfo.Ntexture;
+            _ui.m_playerShow1.m_playerImage.m_playerImage.texture = new NTexture(renderTexureLeft);
+            _ui.m_playerShow2.m_playerImage.m_playerImage.texture = new NTexture(renderTexureRight);
+            //_ui.m_playerShow1.m_playerImage.m_playerImage.texture = MatchingLeftDataManager.Instance.LeftRoleInfo.Ntexture;
+            //_ui.m_playerShow2.m_playerImage.m_playerImage.texture = MatchingRightDataManager.Instance.RightRoleInfo.Ntexture;
             MatchingPhotoWorksData otherLeftdata = MatchingLeftDataManager.Instance.LeftRoleInfo;
             JudgingRoundRoleInfo otherLeftInfo = otherLeftdata.JudgingInfo;
             RoleInfoManager.Instance.UpdateHead(_ui.m_player1.m_head, otherLeftInfo.HeadItemId, otherLeftInfo.HeadBorderItemId);
@@ -285,11 +295,7 @@ namespace GFGGame
         }
         private async void OnClickBtnSelect1()
         {
-            if (GuideDataManager.IsGuideFinish("DAPEISAI_2") <= 0)
-            {
-                return;
-            }
-            if ((judgingCfg.FreeTimes - MatchingCompetitionDataManager.Instance.MatchingRemainingTimes)<=0)
+            if((judgingCfg.FreeTimes - MatchingCompetitionDataManager.Instance.MatchingRemainingTimes)<=0)
             {
                 PromptController.Instance.ShowFloatTextPrompt("评选次数不足");
                 return;
@@ -320,7 +326,7 @@ namespace GFGGame
                         PrefabManager.Instance.Restore(_sceneObjectRight);
                         _sceneObjectRight = null;
                     }
-                    //UpdateDressLeft();
+                    UpdateDressLeft();
                     UpdateView();
                 }
             });
@@ -358,7 +364,7 @@ namespace GFGGame
                         PrefabManager.Instance.Restore(_sceneObjectRight);
                         _sceneObjectRight = null;
                     }
-                    //UpdateDressLeft();
+                    UpdateDressLeft();
                     UpdateView();
                 }
             });

+ 15 - 16
GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionUpLoadView.cs

@@ -88,7 +88,7 @@ namespace GFGGame
         private async void UpdateDress()
         {
             //if (MatchingOneDataManager.Instance.MathingDressDate.actionId != 0)
-            if(false)
+            if(true)
             {
                 _ui.m_bg.visible = false;
                 _ui.m_playerImage.visible = false;
@@ -113,26 +113,31 @@ namespace GFGGame
                 GameObject bodyParent = _sceneObject.transform.Find("Scene/Role").gameObject;
                 PhotographDataManager.Instance.dressUpObj.setSceneObj(_sceneObject, false, true, bodyParent, false, null);
                 PhotographDataManager.Instance.dressUpObj.PutOnDressUpData(MatchingOneDataManager.Instance.MathingDressDate);
-                
+
                 //对搭配赛特殊处理
-                for (int i = 0; i < MatchingOneDataManager.Instance.DressPropIdList.Count; i++)
+                foreach (var item in MatchingCompetitionDataManager.Instance.DressPropTransInfoDic)
                 {
-                    if (MatchingOneDataManager.Instance.DressPropIdList[i] <= 0 )
+                    if (item.Key == MatchingCompetitionDataManager.Instance.roleID)
                     {
                         continue;
                     }
                     else
                     {
-                        ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(MatchingOneDataManager.Instance.DressPropIdList[i]);
-                        MatchingCompetitionDataManager.Instance.AddSceneItem(itemCfg, true);
+                        List<int> idList = MatchingCompetitionDataManager.Instance.GetIDListByString(item.Key);
+                        ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(idList[0]);
+                        MatchingCompetitionDataManager.Instance.AddSceneItemOne(itemCfg, idList[1], idList[2]);
                     }
                 }
                 await Task.Delay(200);
                 MatchingOneDataManager.Instance.InsertGameObjectList();
-                for (int i = 0; i < MatchingOneDataManager.Instance.TransformDataList.Count; i++)
+                for (int i = 0; i < MatchingOneDataManager.Instance.itemGameObjs.Count; i++)
                 {
-                    TransformData itemdata = MatchingOneDataManager.Instance.TransformDataList[i];
                     GameObject itemGObj = MatchingOneDataManager.Instance.itemGameObjs[i];
+                    TransformData itemdata = new TransformData();
+                    if (MatchingOneDataManager.Instance.DressPropTransInfoDic.ContainsKey(itemGObj.name))
+                    {
+                        itemdata = MatchingOneDataManager.Instance.DressPropTransInfoDic[itemGObj.name];
+                    }
                     MatchingOneDataManager.Instance.itemGameObjs[i].transform.position = itemdata.position;
                     if (MatchingOneDataManager.Instance.itemGameObjs[i].name == "Role")
                     {
@@ -149,7 +154,7 @@ namespace GFGGame
                     MatchingOneDataManager.Instance.itemGameObjs[i].transform.localScale = itemdata.scale;
                     PhotographUtil.Instance.ChangeLayer(MatchingOneDataManager.Instance.itemGameObjs[i], (i+1) * PhotographDataManager.layerCount, "up");
                 }
-                PhotographUtil.Instance.ChangeLayer(MatchingOneDataManager.Instance.roleGameobj, 2 * PhotographDataManager.layerCount, "up");
+                //PhotographUtil.Instance.ChangeLayer(MatchingOneDataManager.Instance.roleGameobj, 2 * PhotographDataManager.layerCount, "up");
             }
             else
             {
@@ -235,12 +240,6 @@ namespace GFGGame
                 PromptController.Instance.ShowFloatTextPrompt("结算期间无法选择!");
                 return;
             }
-            JudgingRoundOpenCfg judgingCfg = JudgingRoundOpenCfgArray.Instance.GetCfg(MatchingCompetitionDataManager.Instance.MatchingCompetitionSeason);
-            if ((judgingCfg.FreeTimes - MatchingCompetitionDataManager.Instance.MatchingRemainingTimes) <= 0)
-            {
-                PromptController.Instance.ShowFloatTextPrompt("评选次数不足!");
-                return;
-            }
             //先获取两个玩家信息
             bool resulst =  await MatchingCompetitionSproxy.ReqGetTwoPlayers();
             if(resulst)
@@ -304,7 +303,7 @@ namespace GFGGame
             List<int> AllIdList = new List<int>();
             foreach (var info in MatchingOneDataManager.Instance.OneRoleInfo.JudgingInfo.CollocationInfoList)
             {
-                AllIdList.Add(info.ItemId);
+                AllIdList.Add(MatchingCompetitionDataManager.Instance.GetIDByString(info.ItemId));
             }
             MatchingCompetitionDataManager.Instance.DetailNtexture = MatchingOneDataManager.Instance.OneRoleInfo.Ntexture;
             ViewManager.Show<MatchingCompetitionDetailView>(AllIdList);

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionWorkListView.cs

@@ -94,7 +94,7 @@ namespace GFGGame
             List<int> AllIdList = new List<int>();
             foreach(var info in otherInfo.JudgingInfo.CollocationInfoList)
             {
-                AllIdList.Add(info.ItemId);
+                AllIdList.Add(MatchingCompetitionDataManager.Instance.GetIDByString(info.ItemId));
             }
             MatchingCompetitionDataManager.Instance.DetailNtexture = otherInfo.Ntexture;
             ViewManager.Show<MatchingCompetitionDetailView>(AllIdList);