Sfoglia il codice sorgente

Merge remote-tracking branch 'remotes/origin/master' into ios_test

hexiaojie 1 anno fa
parent
commit
2a40dbcb5b
100 ha cambiato i file con 5669 aggiunte e 25 eliminazioni
  1. 5 0
      GameClient/Assets/Editor/ToolsMenu.cs
  2. 2 0
      GameClient/Assets/Game/HotUpdate/Constant/ConstMessage.cs
  3. 2 0
      GameClient/Assets/Game/HotUpdate/Controller/GameController.cs
  4. 530 0
      GameClient/Assets/Game/HotUpdate/Data/MatchingCompetitionDataManager.cs
  5. 11 0
      GameClient/Assets/Game/HotUpdate/Data/MatchingCompetitionDataManager.cs.meta
  6. 127 0
      GameClient/Assets/Game/HotUpdate/Data/MatchingPhotoHelper.cs
  7. 11 0
      GameClient/Assets/Game/HotUpdate/Data/MatchingPhotoHelper.cs.meta
  8. 186 0
      GameClient/Assets/Game/HotUpdate/Data/MatchingTwoDataManager.cs
  9. 11 0
      GameClient/Assets/Game/HotUpdate/Data/MatchingTwoDataManager.cs.meta
  10. 2 0
      GameClient/Assets/Game/HotUpdate/Data/MiniGameDateManager.cs
  11. 15 2
      GameClient/Assets/Game/HotUpdate/Data/PhotographSceneManager.cs
  12. 17 1
      GameClient/Assets/Game/HotUpdate/Data/PoemPhotoDataManager.cs
  13. 70 0
      GameClient/Assets/Game/HotUpdate/Data/VO/MatchingCompetitionData.cs
  14. 11 0
      GameClient/Assets/Game/HotUpdate/Data/VO/MatchingCompetitionData.cs.meta
  15. 26 0
      GameClient/Assets/Game/HotUpdate/DressUp/DressUpObj.cs
  16. 4 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityThemeLuckyBox/UI_ActivityThemeLuckyBoxUI.cs
  17. 71 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityThemeLuckyBox/UI_ComCardImgRes.cs
  18. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityThemeLuckyBox/UI_ComCardImgRes.cs.meta
  19. 72 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityThemeLuckyBox/UI_ComImgCard.cs
  20. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityThemeLuckyBox/UI_ComImgCard.cs.meta
  21. 71 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_ComCardHolder.cs
  22. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_ComCardHolder.cs.meta
  23. 72 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_ComCardObj.cs
  24. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_ComCardObj.cs.meta
  25. 3 2
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_MainUI.cs
  26. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_StoryDialogUI.cs
  27. 8 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition.meta
  28. 74 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Button3.cs
  29. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Button3.cs.meta
  30. 77 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component1.cs
  31. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component1.cs.meta
  32. 74 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component11.cs
  33. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component11.cs.meta
  34. 72 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component12.cs
  35. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component12.cs.meta
  36. 72 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component13.cs
  37. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component13.cs.meta
  38. 71 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component14.cs
  39. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component14.cs.meta
  40. 71 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component15.cs
  41. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component15.cs.meta
  42. 81 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component2.cs
  43. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component2.cs.meta
  44. 87 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component3.cs
  45. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component3.cs.meta
  46. 89 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component4.cs
  47. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component4.cs.meta
  48. 80 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component5.cs
  49. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component5.cs.meta
  50. 83 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component6.cs
  51. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component6.cs.meta
  52. 86 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionDetailUI.cs
  53. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionDetailUI.cs.meta
  54. 98 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionGatheringUI.cs
  55. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionGatheringUI.cs.meta
  56. 77 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionLookUI.cs
  57. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionLookUI.cs.meta
  58. 99 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionRankUI.cs
  59. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionRankUI.cs.meta
  60. 74 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionRewardItem.cs
  61. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionRewardItem.cs.meta
  62. 86 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionRuleTips.cs
  63. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionRuleTips.cs.meta
  64. 119 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionSelectUI.cs
  65. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionSelectUI.cs.meta
  66. 114 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionUpLoadUI.cs
  67. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionUpLoadUI.cs.meta
  68. 83 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionWorkListUI.cs
  69. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionWorkListUI.cs.meta
  70. 80 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionWorksUI.cs
  71. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionWorksUI.cs.meta
  72. 77 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingDressItem.cs
  73. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingDressItem.cs.meta
  74. 83 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingTypeItem.cs
  75. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingTypeItem.cs.meta
  76. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/poem/UI_PoemPhotoUI.cs
  77. 265 0
      GameClient/Assets/Game/HotUpdate/ServerProxy/MatchingCompetitionSproxy.cs
  78. 11 0
      GameClient/Assets/Game/HotUpdate/ServerProxy/MatchingCompetitionSproxy.cs.meta
  79. 16 1
      GameClient/Assets/Game/HotUpdate/Views/ActivityThemeLuckyBox/ActivityThemeLuckyBoxView.cs
  80. 41 3
      GameClient/Assets/Game/HotUpdate/Views/DressUp/DressUpView.cs
  81. 138 9
      GameClient/Assets/Game/HotUpdate/Views/DressUp/PhotographView.cs
  82. 25 3
      GameClient/Assets/Game/HotUpdate/Views/InstanceZones/InstanceZonesView.cs
  83. 21 4
      GameClient/Assets/Game/HotUpdate/Views/MainUI/MainUIView.cs
  84. 8 0
      GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition.meta
  85. 250 0
      GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionDetailView.cs
  86. 11 0
      GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionDetailView.cs.meta
  87. 134 0
      GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionGatheringView.cs
  88. 11 0
      GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionGatheringView.cs.meta
  89. 135 0
      GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionRankView.cs
  90. 11 0
      GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionRankView.cs.meta
  91. 89 0
      GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionRuleTipsView.cs
  92. 11 0
      GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionRuleTipsView.cs.meta
  93. 323 0
      GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionSelectView.cs
  94. 11 0
      GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionSelectView.cs.meta
  95. 287 0
      GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionUpLoadView.cs
  96. 11 0
      GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionUpLoadView.cs.meta
  97. 104 0
      GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionWorkListView.cs
  98. 11 0
      GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionWorkListView.cs.meta
  99. 86 0
      GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionWorksView.cs
  100. 11 0
      GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionWorksView.cs.meta

+ 5 - 0
GameClient/Assets/Editor/ToolsMenu.cs

@@ -195,6 +195,11 @@ namespace GFGEditor
         public static void ImportExcel()
         {
             Log.ILog = new UnityLogger();
+            //清除缓存  
+            if (File.Exists(ExcelConfig.excelsCacheFolderPath))
+            {
+                File.Delete(ExcelConfig.excelsCacheFolderPath);
+            }
             ET.Options.Instance = new ET.Options();
             EditorUtility.DisplayProgressBar("进度", "正在导入表格", 1);
             SqliteController.Instance.Init(false, null);

+ 2 - 0
GameClient/Assets/Game/HotUpdate/Constant/ConstMessage.cs

@@ -256,5 +256,7 @@ namespace GFGGame
         public const string COLLEGE_UPGRADE = "COLLEGE_UPGRADE";
         //兑换成功
         public const string EXCHANGE_SUCCESS = "EXCHANGE_SUCCESS";
+        //搭配赛状态改变
+        public const string MATCHING_STATUSCHANGE = "MATCHING_STATUSCHANGE";
     }
 }

+ 2 - 0
GameClient/Assets/Game/HotUpdate/Controller/GameController.cs

@@ -226,6 +226,7 @@ namespace GFGGame
             await ActivitySProxy.GetTipsStatus();
             await ActivitySProxy.GetOnceStatus(5006);
             await RoleInfoSProxy.GetThemeID();
+            await MatchingCompetitionSproxy.ReqMatchingCompetitionInfo();
 
             FieldDataManager.Instance.waitToShowFieldFightEndView = false;
             bool result = await FieldSProxy.ReqFieldInstanceInfos();
@@ -262,6 +263,7 @@ namespace GFGGame
             TimeTracingSProxy.ReqGetSuitRewardStatus().Coroutine();
             TimeTracingSProxy.ReqGetDataRecord().Coroutine();
             PoemPhotoSProxy.ReqAllPhotoInfos().Coroutine();
+            MatchingCompetitionSproxy.ReqMatchingPhotoData().Coroutine();
             TravelSProxy.ReqTravelInfo().Coroutine();
             TravelSProxy.ReqTravelGuideInfo().Coroutine();
             PoemGallerySProxy.ReqGalleryTheme().Coroutine();

+ 530 - 0
GameClient/Assets/Game/HotUpdate/Data/MatchingCompetitionDataManager.cs

@@ -0,0 +1,530 @@
+using ET;
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Text.RegularExpressions;
+using UnityEngine;
+using Live2D.Cubism.Rendering;
+using FairyGUI;
+using UI.MatchingCompetition;
+
+namespace GFGGame
+{
+    class MatchingCompetitionDataManager : SingletonBase<MatchingCompetitionDataManager>
+    {
+        ////搭配赛标记
+        //public int type = 2;
+        //位置信息数据索引
+        public int indexRoleData = 0;
+        //人物位置信息
+        public TransformData roleTransFormData = new TransformData();
+        public GameObject roleGameobj;
+        public int roleID = -1;
+        //*********************搭配数据*********************************
+        //需要传输的数据:MathingDressDate,DressUpBgID,DressPropIdList,TransformDataList,
+        public DressUpData MathingDressDate = DressUpData.CreateDefault();
+        public int DressUpBgID = 0;
+        //*****这两个id放列表的最后面
+        //边框id
+        public int BorderID = 0;
+        //NpcId
+        public int NpcID = 0;
+        //*************=**************
+        //道具数据,一一对应
+        //场景名字,自己搭配的数据
+        public List<string> DressPropNameList = new List<string>();
+        //道具id
+        public List<int> DressPropIdList = new List<int>();
+        //道具位置信息
+        public List<TransformData> TransformDataList = new List<TransformData>();
+        public List<GameObject> itemGameObjs = new List<GameObject>();
+
+        //所有信息的列表,用于前后端交互
+        public List<CollocationInfo> AllDressIDInfoList = new List<CollocationInfo>();
+        //public List<int> _equipSceneData = new List<int>();//当前穿戴的场景数据(从套装获得)
+        //***************************************************************
+
+        public int MatchingCompetitionSeason = 1;
+        public int MatchingState = 1;
+        public long MatchingEndTimes = 0;
+        public long WorksID = 0;
+        public string TempPictureUrl = "";
+        public int MatchingRemainingTimes = 1;
+        public MyWorksIdInfo myWorks;
+        /// <summary>
+        /// 搭配赛相册
+        /// </summary>
+        /// <typeparam name="PoemPhotoData"></typeparam>
+        /// <returns></returns>
+        public List<PoemPhotoData> MatchingPhotoInfos = new List<PoemPhotoData>();
+        //角色详情界面图片信息
+        public NTexture DetailNtexture;
+        //本期排行榜数据
+        public List<MatchingPhotoWorksData> _currentRankList = new List<MatchingPhotoWorksData>();
+        //往期作品集
+        public List<MatchingWorksData> _BeforeWorksList = new List<MatchingWorksData>();
+        //往期排行榜数据
+        public List<MatchingPhotoWorksData> _BeforeRankList = new List<MatchingPhotoWorksData>();
+
+        //根据时间判断:1:集结期 2:评选期  3;结算期
+        //public int CheckCompetitionState()
+        //{
+        //    long currentTime = TimeHelper.ServerNow();
+        //    DateTime dateTime = DateTimeOffset.FromUnixTimeSeconds(currentTime).DateTime;
+        //    // 获取星期几
+        //    DayOfWeek dayOfWeek = dateTime.DayOfWeek;
+        //    int week = (int)dayOfWeek;
+        //    int hour = dateTime.Hour;
+        //    if(week == 0)
+        //    {
+        //        if(hour >= 21)
+        //        {
+        //            return 3;
+        //        }
+        //        else
+        //        {
+        //            return 2;
+        //        }
+        //    }
+        //    if(week <= 3 && week >= 1)
+        //    {
+        //        if(week == 3 && hour >= 5)
+        //        {
+        //            return 2;
+        //        }
+        //        if(week == 1 && hour < 5)
+        //        {
+        //            return 3;
+        //        }
+        //        return 1;
+        //    }
+        //    else if(week > 3 && week <= 6)
+        //    {
+        //        return 2;
+        //    }
+        //    return -1;
+        //}
+
+        public void ConvertInfoToList()
+        {
+            //将所有需要存储的信息转换成list
+            AllDressIDInfoList.Clear();
+            foreach(var item in MathingDressDate.itemList)
+            {
+                CollocationInfo itemInfo = new CollocationInfo();
+                itemInfo.ItemId = item;
+                itemInfo.ClientPosition = "";
+                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.ClientPosition = "";
+            AllDressIDInfoList.Add(itemBgInfo);
+            CollocationInfo itemActionInfo = new CollocationInfo();
+            itemActionInfo.ItemId = MatchingCompetitionDataManager.Instance.MathingDressDate.actionId;
+            itemActionInfo.ClientPosition = "";
+            AllDressIDInfoList.Add(itemActionInfo);
+        }
+        //解析后台获取的信息
+        public void AnalysisInfoToList()
+        {
+            List<int> dressitemIDList = new List<int>();
+            List<int> propIDList = new List<int>();
+            List<TransformData> transDataList = new List<TransformData>();
+            DressUpBgID = 0;
+            MathingDressDate.actionId = 0;
+            for (int i = 0; i < AllDressIDInfoList.Count; i++)
+            {
+                if(AllDressIDInfoList[i].ItemId == roleID)
+                {
+                    propIDList.Add(AllDressIDInfoList[i].ItemId);
+                    transDataList.Add(AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
+                }
+                else
+                {
+                    ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(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));
+                        }
+                        else if (itemCfg != null && itemCfg.subType == ConstDressUpItemType.BEI_JING)
+                        {
+                            DressUpBgID = itemCfg.id;
+                        }
+                        else
+                        {
+                            dressitemIDList.Add(AllDressIDInfoList[i].ItemId);
+                        }    
+                    }
+                    else if (itemCfg != null && itemCfg.itemType == ConstItemType.PHOTOGRAPH)
+                    {
+                        //记录道具和位置信息
+                        propIDList.Add(AllDressIDInfoList[i].ItemId);
+                        transDataList.Add(AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
+                    }
+                    else if(itemCfg == null)
+                    {
+                        SuitCfg actionId = SuitCfgArray.Instance.GetCfg(AllDressIDInfoList[i].ItemId);
+                        if(actionId !=null)
+                        {
+                            MathingDressDate.actionId = AllDressIDInfoList[i].ItemId;
+                        }   
+                    }
+                }
+            }
+            MathingDressDate.itemList = dressitemIDList;
+            DressPropIdList = propIDList;
+            TransformDataList = transDataList;
+        }
+        public TransformData AnalysisStringToTransform(string strTrans)
+        {
+            TransformData transData = new TransformData();
+            string[] parts = Regex.Split(strTrans, "_");
+            if(parts.Length > 6)
+            {
+                transData.position.x = float.Parse(parts[0]);
+                transData.position.y = float.Parse(parts[1]);
+                transData.position.z = float.Parse(parts[2]);
+                transData.rotationZ = float.Parse(parts[3]);
+                transData.scale.x = float.Parse(parts[4]);
+                transData.scale.y = float.Parse(parts[5]);
+                transData.scale.z = float.Parse(parts[6]);
+            }
+            return transData;
+        }
+        //存储道具信息
+        public void SetTransformData()
+        {
+            DressPropNameList.Clear();
+            TransformDataList.Clear();
+            for (int i =0;i<itemGameObjs.Count;i++)
+            { 
+                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;
+                    TransformDataList.Add(roleTransFormData);
+                    DressPropNameList.Add(itemGameObjs[i].name);
+                }
+                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);
+                }
+
+            }
+            SetNameToIdList();
+        }
+        //将名字转换成道具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;
+                    }
+                    flog_prefix = int.Parse(parts[0]);
+                    flog_suffix = int.Parse(parts[1]);   
+                    DressPropIdList.Add(partID);
+                }
+            }
+        }
+        //将穿戴数据分类
+        //public void ClassifyEquipData()
+        //{
+        //    _equipSceneData.Clear();
+        //    PhotographDataManager.Instance.dressUpObj = new DressUpObj();
+        //    //for (int i = 0; i < MathingDressDate.itemList.Count; i++)
+        //    //{
+        //    //    int itemId = MathingDressDate.itemList[i];
+        //    //    if (DressUpMenuItemCfg1Array.Instance.CheckIsSceneType(itemId, false))
+        //    //    {
+        //    //        if (!_equipSceneData.ContainsKey(itemId))
+        //    //        {
+        //    //            _equipSceneData.Add(itemId, new List<int>());
+        //    //        }
+        //    //        _equipSceneData[itemId].Add(itemId);
+        //    //    }
+        //    //}
+        //    for(int i =0;i<DressPropIdList.Count;i++)
+        //    {
+        //        int itemId = DressPropIdList[i];
+        //        if (DressUpMenuItemCfg1Array.Instance.CheckIsSceneType(itemId, false))
+        //        {
+        //            _equipSceneData.Add(itemId);
+        //        }
+        //    }
+        //}
+        public void InsertGameObjectList()
+        {
+            for(int i=0;i< DressPropIdList.Count;i++)
+            {
+                if (DressPropIdList[i] == roleID)
+                {
+                    indexRoleData = i;
+                }
+            }
+            if(itemGameObjs.Count ==0)
+            {
+                itemGameObjs.Add(roleGameobj);
+            }
+            else
+            {
+                itemGameObjs.Insert(indexRoleData, roleGameobj);
+            }  
+        }
+        public void SetNumToRank(int index,UI_Component4 rankCom)
+        {
+            int c1 = 0;
+            int c2 = 0;
+            if(index<=3&& index >=1)
+            {
+                c2 = index;
+            }
+            if (index > 3 && index <= 9)
+            {
+                c1 = 0;
+            }
+            else if(index >9 && index <= 50)
+            {
+                c1 = 1;
+            }
+            else
+            {
+                c1 = 2;
+            }
+            rankCom.m_c1.selectedIndex = c1;
+            rankCom.m_c2.selectedIndex = c2;
+            if(c1 == 0)
+            {
+                rankCom.m_num3.url = string.Format("ui://MatchingCompetition/{0}",index.ToString());
+            }
+            else if(c1 == 1)
+            {
+                int one = index / 10;
+                int two = index % 10;
+                rankCom.m_num1.url = string.Format("ui://MatchingCompetition/{0}", one.ToString());
+                rankCom.m_num2.url = string.Format("ui://MatchingCompetition/{0}", two.ToString());
+            }
+            else
+            {
+                if (index == 0)
+                {
+                    rankCom.m_RankText.text = "--";
+                }
+                else
+                {
+                    for (int i = 11; i < JudgingRoundRewardCfgArray.Instance.dataArray.Length-1; i++)
+                    {
+                        JudgingRoundRewardCfg judgingCfg = JudgingRoundRewardCfgArray.Instance.GetCfg(i);
+                        JudgingRoundRewardCfg judgingNextCfg = JudgingRoundRewardCfgArray.Instance.GetCfg(i+1);
+                        if (index >= judgingCfg.rank && index < judgingNextCfg.rank)
+                        {
+                            rankCom.m_RankText.text = judgingNextCfg.desc;
+                        }
+                        else
+                        {
+                            rankCom.m_RankText.text = index.ToString();
+                        }
+                    }
+                }
+                
+            }
+
+        }
+        public async void AddSceneItem(ItemCfg itemCfg, bool setLayer,int isLeft = 0)
+        {
+            Vector3 pos = Vector3.zero;
+            if (!string.IsNullOrEmpty(itemCfg.resLayer3))
+            {
+                GameObject parentGameObj3 = new GameObject(string.Format("{0}_{1}", itemCfg.id, 3));
+                await PhotographSceneManager.Instance.AddSceneItem(parentGameObj3, itemCfg, 3, setLayer,false,isLeft);
+                if (setLayer)
+                {
+                    if (parentGameObj3.transform.childCount > 0)
+                    {
+                        parentGameObj3.transform.localPosition = -parentGameObj3.transform.GetChild(0).localPosition;
+                        pos = parentGameObj3.transform.localPosition;
+                    }
+                }
+            }
+            if (!string.IsNullOrEmpty(itemCfg.resLayer2))
+            {
+                GameObject parentGameObj2 = new GameObject(string.Format("{0}_{1}", itemCfg.id, 2));
+                await PhotographSceneManager.Instance.AddSceneItem(parentGameObj2, itemCfg, 2, setLayer,false, isLeft);
+                if (setLayer)
+                {
+                    if (parentGameObj2.transform.childCount > 0)
+                    {
+                        parentGameObj2.transform.localPosition = pos == Vector3.zero ? -parentGameObj2.transform.GetChild(0).localPosition : pos;
+                        pos = parentGameObj2.transform.localPosition;
+                    }
+
+                }
+            }
+            if (!string.IsNullOrEmpty(itemCfg.resLayer1))
+            {
+
+                GameObject parentGameObj1 = new GameObject(string.Format("{0}_{1}", itemCfg.id, 1));
+                await PhotographSceneManager.Instance.AddSceneItem(parentGameObj1, itemCfg, 1, setLayer, false, isLeft);
+
+                if (setLayer)
+                {
+                    if (parentGameObj1.transform.childCount > 0)
+                    {
+                        parentGameObj1.transform.localPosition = pos == Vector3.zero ? -parentGameObj1.transform.GetChild(0).localPosition : pos;
+                        pos = parentGameObj1.transform.localPosition;
+                    }
+
+                }
+            }
+        }
+        public void OnClickBtnRule()
+        {
+            ViewManager.Show<MatchingCompetitionRuleTipsView>();
+        }
+    }
+
+    class MatchingOneDataManager : SingletonBase<MatchingOneDataManager>
+    {
+        //其他玩家信息用于展示
+        public MatchingPhotoWorksData OneRoleInfo = new MatchingPhotoWorksData();
+        //人物位置信息
+        public TransformData roleTransFormData = new TransformData();
+        public GameObject roleGameobj;
+        public int roleID = -1;
+        //*********************搭配数据*********************************
+        //需要传输的数据:MathingDressDate,DressUpBgID,DressPropIdList,TransformDataList,
+        public DressUpData MathingDressDate = DressUpData.CreateDefault();
+        public int DressUpBgID = 0;
+        //*****这两个id放列表的最后面
+        //边框id
+        public int BorderID = 0;
+        //NpcId
+        public int NpcID = 0;
+        //道具数据,一一对应
+        //道具id
+        public List<int> DressPropIdList = new List<int>();
+        //道具位置信息
+        public List<TransformData> TransformDataList = new List<TransformData>();
+        public List<GameObject> itemGameObjs = new List<GameObject>();
+        //***************************************************************
+        //解析后台获取的信息
+        public void AnalysisInfoToList()
+        {
+            List<int> dressitemIDList = new List<int>();
+            List<int> propIDList = new List<int>();
+            List<TransformData> transDataList = new List<TransformData>();
+            for (int i = 0; i < OneRoleInfo.JudgingInfo.CollocationInfoList.Count; i++)
+            {
+                if (OneRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId == roleID)
+                {
+                    propIDList.Add(OneRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId);
+                }
+                else
+                {
+                    ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(OneRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId);
+                    if (itemCfg != null && itemCfg.itemType == ConstItemType.DRESS_UP)
+                    {
+                        if (itemCfg.subType == 9 || itemCfg.subType == 10 || itemCfg.subType == 11 || itemCfg.subType == 12)
+                        {
+                            //记录道具和位置信息
+                            propIDList.Add(OneRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId);
+                            transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(OneRoleInfo.JudgingInfo.CollocationInfoList[i].ClientPosition));
+                        }
+                        else
+                        {
+                            dressitemIDList.Add(OneRoleInfo.JudgingInfo.CollocationInfoList[i].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));
+                    }
+                }
+            }
+            MathingDressDate.itemList = dressitemIDList;
+            MathingDressDate.actionId = OneRoleInfo.JudgingInfo.ActionId;
+            DressPropIdList = propIDList;
+            TransformDataList = transDataList;
+            DressUpBgID = OneRoleInfo.JudgingInfo.BagId;
+        }
+        public void InsertGameObjectList()
+        {
+            int indexRoleData = 0;
+            for (int i = 0; i < DressPropIdList.Count; i++)
+            {
+                if (DressPropIdList[i] == roleID)
+                {
+                    indexRoleData = i;
+                }
+            }
+            if (itemGameObjs.Count == 0)
+            {
+                itemGameObjs.Add(roleGameobj);
+            }
+            else
+            {
+                itemGameObjs.Insert(indexRoleData, roleGameobj);
+            }
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Data/MatchingCompetitionDataManager.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: cd7570cf08cec3a44b037069506b7277
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 127 - 0
GameClient/Assets/Game/HotUpdate/Data/MatchingPhotoHelper.cs

@@ -0,0 +1,127 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.IO;
+using System.Net;
+using System.Net.Http;
+using System.Threading.Tasks;
+using ET;
+using FairyGUI;
+using UnityEngine;
+using UnityEngine.Networking;
+
+namespace GFGGame
+{
+    public static class MatchingPhotoHelper
+    {
+        //将图片上传到华为云
+        public static async Task<bool> PushToHWCloud(string signUrl, byte[] buffer)
+        {
+
+            HttpContent content = new ByteArrayContent(buffer);
+            HttpClient httpClient = new HttpClient(new HttpClientHandler() { UseCookies = false });
+            HttpResponseMessage response = await httpClient.PutAsync(signUrl, content);
+            response.EnsureSuccessStatusCode();
+            await response.Content.ReadAsStreamAsync();
+            if (response.StatusCode != HttpStatusCode.OK)
+            {
+                ViewManager.Hide<ModalStatusView>();
+                PromptController.Instance.ShowFloatTextPrompt("上传资源失败");
+                return false;
+            }
+            else
+            {
+                return true;
+            }
+
+        }
+
+
+        public static IEnumerator Download(List<MatchingPhotoWorksData> list)
+        {
+            for (int i = 0; i < list.Count; i++)
+            {
+                MatchingPhotoWorksData data = list[i];
+                if (data == null || data.Ntexture != null) continue;
+                int count = 0;
+                yield return DownloadPicture(data, count);
+            }
+            ET.Log.Debug("Download  finish!!!");
+            EventAgent.DispatchEvent(ConstMessage.DOWNLOAD_FINISH);
+        }
+        public static IEnumerator Download(List<MatchingWorksData> list)
+        {
+            for (int i = 0; i < list.Count; i++)
+            {
+                MatchingWorksData data = list[i];
+                if (data == null || data.Ntexture != null) continue;
+                int count = 0;
+                yield return DownloadPicture(data, count);
+            }
+            ET.Log.Debug("Download  finish!!!");
+            EventAgent.DispatchEvent(ConstMessage.DOWNLOAD_FINISH);
+        }
+        public static IEnumerator Download(MatchingPhotoWorksData list)
+        {
+                MatchingPhotoWorksData data = list;
+                yield return DownloadPicture(data, 1);
+            ET.Log.Debug("Download  finish!!!");
+            EventAgent.DispatchEvent(ConstMessage.DOWNLOAD_FINISH);
+        }
+
+        private static IEnumerator DownloadPicture(MatchingPhotoWorksData data, int count)
+        {
+            if (count >= 3)
+            {
+                PromptController.Instance.ShowFloatTextPrompt("下载失败");
+                ET.Log.Error("PoemPhotoData Download  failed!!! data:" + JsonUtility.ToJson(data));
+                data.Ntexture = null;
+                ViewManager.Hide<ModalStatusView>();
+                yield break;
+            }
+            using (UnityWebRequest request = UnityWebRequestTexture.GetTexture(data.JudgingInfo.PictureTempUrl))
+            {
+                yield return request.SendWebRequest();
+                if (request.result == UnityWebRequest.Result.ProtocolError || request.result == UnityWebRequest.Result.ConnectionError)
+                {
+                    ET.Log.Error("Download  failed, error code:" + request.result, ",data:" + JsonUtility.ToJson(data));
+                    count += 1;
+                    yield return DownloadPicture(data, count);
+                }
+                else
+                {
+                    Texture2D texture = (request.downloadHandler as DownloadHandlerTexture).texture;
+                    data.Ntexture = new NTexture(texture);
+                    data.Bytes = texture.EncodeToJPG();
+                }
+            }
+        }
+            private static IEnumerator DownloadPicture(MatchingWorksData data, int count)
+            {
+                if (count >= 3)
+                {
+                    PromptController.Instance.ShowFloatTextPrompt("下载失败");
+                    ET.Log.Error("PoemPhotoData Download  failed!!! data:" + JsonUtility.ToJson(data));
+                    data.Ntexture = null;
+                    ViewManager.Hide<ModalStatusView>();
+                    yield break;
+                }
+                using (UnityWebRequest request = UnityWebRequestTexture.GetTexture(data.WorksInfo.PictureTempUrl))
+                {
+                    yield return request.SendWebRequest();
+                    if (request.result == UnityWebRequest.Result.ProtocolError || request.result == UnityWebRequest.Result.ConnectionError)
+                    {
+                        ET.Log.Error("Download  failed, error code:" + request.result, ",data:" + JsonUtility.ToJson(data));
+                        count += 1;
+                        yield return DownloadPicture(data, count);
+                    }
+                    else
+                    {
+                        Texture2D texture = (request.downloadHandler as DownloadHandlerTexture).texture;
+                        data.Ntexture = new NTexture(texture);
+                        data.Bytes = texture.EncodeToJPG();
+                    }
+                }
+            }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Data/MatchingPhotoHelper.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: e2b8e8c1cd96fc04ba17eb83d7c4f2ab
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 186 - 0
GameClient/Assets/Game/HotUpdate/Data/MatchingTwoDataManager.cs

@@ -0,0 +1,186 @@
+using ET;
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Text.RegularExpressions;
+using UnityEngine;
+using Live2D.Cubism.Rendering;
+using FairyGUI;
+using UI.MatchingCompetition;
+
+namespace GFGGame
+{
+    class MatchingLeftDataManager : SingletonBase<MatchingLeftDataManager>
+    {
+        //其他玩家信息用于展示
+        public MatchingPhotoWorksData LeftRoleInfo = new MatchingPhotoWorksData();
+        //人物位置信息
+        public TransformData roleTransFormData = new TransformData();
+        public GameObject roleGameobj;
+        public int roleID = -1;
+        //*********************搭配数据*********************************
+        //需要传输的数据:MathingDressDate,DressUpBgID,DressPropIdList,TransformDataList,
+        public DressUpData MathingDressDate = DressUpData.CreateDefault();
+        public int DressUpBgID = 0;
+        //*****这两个id放列表的最后面
+        //边框id
+        public int BorderID = 0;
+        //NpcId
+        public int NpcID = 0;
+        //道具数据,一一对应
+        //道具id
+        public List<int> DressPropIdList = new List<int>();
+        //道具位置信息
+        public List<TransformData> TransformDataList = new List<TransformData>();
+        public List<GameObject> itemGameObjs = new List<GameObject>();
+        //***************************************************************
+        //解析后台获取的信息
+        public void AnalysisInfoToList()
+        {
+            List<int> dressitemIDList = new List<int>();
+            List<int> propIDList = new List<int>();
+            List<TransformData> transDataList = new List<TransformData>();
+            for (int i = 0; i < LeftRoleInfo.JudgingInfo.CollocationInfoList.Count; i++)
+            {
+                if (LeftRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId == roleID)
+                {
+                    propIDList.Add(LeftRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId);
+                }
+                else
+                {
+                    ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(LeftRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId);
+                    if (itemCfg != null && itemCfg.itemType == ConstItemType.DRESS_UP)
+                    {
+                        if (itemCfg.subType == 9 || itemCfg.subType == 10 || itemCfg.subType == 11 || itemCfg.subType == 12)
+                        {
+                            //记录道具和位置信息
+                            propIDList.Add(LeftRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId);
+                            transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(LeftRoleInfo.JudgingInfo.CollocationInfoList[i].ClientPosition));
+                        }
+                        else
+                        {
+                            dressitemIDList.Add(LeftRoleInfo.JudgingInfo.CollocationInfoList[i].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));
+                    }
+                }
+            }
+            MathingDressDate.itemList = dressitemIDList;
+            MathingDressDate.actionId = LeftRoleInfo.JudgingInfo.ActionId;
+            DressPropIdList = propIDList;
+            TransformDataList = transDataList;
+            DressUpBgID = LeftRoleInfo.JudgingInfo.BagId;
+        }
+        public void InsertGameObjectList()
+        {
+            int indexRoleData = 0;
+            for (int i = 0; i < DressPropIdList.Count; i++)
+            {
+                if (DressPropIdList[i] == roleID)
+                {
+                    indexRoleData = i;
+                }
+            }
+            if (itemGameObjs.Count == 0)
+            {
+                itemGameObjs.Add(roleGameobj);
+            }
+            else
+            {
+                itemGameObjs.Insert(indexRoleData, roleGameobj);
+            }
+        }
+    }
+
+    class MatchingRightDataManager : SingletonBase<MatchingRightDataManager>
+    {
+        //其他玩家信息用于展示
+        public MatchingPhotoWorksData RightRoleInfo = new MatchingPhotoWorksData();
+        //人物位置信息
+        public TransformData roleTransFormData = new TransformData();
+        public GameObject roleGameobj;
+        public int roleID = -1;
+        //*********************搭配数据*********************************
+        //需要传输的数据:MathingDressDate,DressUpBgID,DressPropIdList,TransformDataList,
+        public DressUpData MathingDressDate = DressUpData.CreateDefault();
+        public int DressUpBgID = 0;
+        //*****这两个id放列表的最后面
+        //边框id
+        public int BorderID = 0;
+        //NpcId
+        public int NpcID = 0;
+        //道具数据,一一对应
+        //道具id
+        public List<int> DressPropIdList = new List<int>();
+        //道具位置信息
+        public List<TransformData> TransformDataList = new List<TransformData>();
+        public List<GameObject> itemGameObjs = new List<GameObject>();
+        //***************************************************************
+        //解析后台获取的信息
+        public void AnalysisInfoToList()
+        {
+            List<int> dressitemIDList = new List<int>();
+            List<int> propIDList = new List<int>();
+            List<TransformData> transDataList = new List<TransformData>();
+            for (int i = 0; i < RightRoleInfo.JudgingInfo.CollocationInfoList.Count; i++)
+            {
+                if (RightRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId == roleID)
+                {
+                    propIDList.Add(RightRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId);
+                }
+                else
+                {
+                    ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(RightRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId);
+                    if (itemCfg != null && itemCfg.itemType == ConstItemType.DRESS_UP)
+                    {
+                        if (itemCfg.subType == 9 || itemCfg.subType == 10 || itemCfg.subType == 11 || itemCfg.subType == 12)
+                        {
+                            //记录道具和位置信息
+                            propIDList.Add(RightRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId);
+                            transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(RightRoleInfo.JudgingInfo.CollocationInfoList[i].ClientPosition));
+                        }
+                        else
+                        {
+                            dressitemIDList.Add(RightRoleInfo.JudgingInfo.CollocationInfoList[i].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));
+                    }
+                }
+            }
+            MathingDressDate.itemList = dressitemIDList;
+            MathingDressDate.actionId = RightRoleInfo.JudgingInfo.ActionId;
+            DressPropIdList = propIDList;
+            TransformDataList = transDataList;
+            DressUpBgID = RightRoleInfo.JudgingInfo.BagId;
+        }
+        public void InsertGameObjectList()
+        {
+            int indexRoleData = 0;
+            for (int i = 0; i < DressPropIdList.Count; i++)
+            {
+                if (DressPropIdList[i] == roleID)
+                {
+                    indexRoleData = i;
+                }
+            }
+            if (itemGameObjs.Count == 0)
+            {
+                itemGameObjs.Add(roleGameobj);
+            }
+            else
+            {
+                itemGameObjs.Insert(indexRoleData, roleGameobj);
+            }
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Data/MatchingTwoDataManager.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: f840fc6b2d52a1d4fbbc79221ec6e67f
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 2 - 0
GameClient/Assets/Game/HotUpdate/Data/MiniGameDateManager.cs

@@ -10,6 +10,8 @@ namespace GFGGame
     {
         public List<ItemInfoProto> itemList = new List<ItemInfoProto>();
         public List<GameInfoProto> gameinfoList = new List<GameInfoProto>();
+        //记录合成游戏的矩阵信息
+        private List<List<int>> idList = new List<List<int>>();
 
         public bool CHECK_TIPS = false; //提示弹窗是否打开
 

+ 15 - 2
GameClient/Assets/Game/HotUpdate/Data/PhotographSceneManager.cs

@@ -57,17 +57,30 @@ namespace GFGGame
             tf.localPosition = new Vector2(-spr.bounds.center.x, -spr.bounds.center.y);
             SetBoxCollider2DToGameObject(tf.gameObject);
             AddItemGameObjectToList(tf.parent.gameObject, true);
-
         }
         public void AddBodyItem()
         {
             GameObject bodyParent = sceneObject.transform.Find("Scene/Role").gameObject;
+
+            MatchingCompetitionDataManager.Instance.roleGameobj = bodyParent;
+            MatchingOneDataManager.Instance.roleGameobj = bodyParent;
+
             UpdatePhotographBody(sceneObject, bodyParent);
             AddItemGameObjectToList(bodyParent, false);
         }
 
-        public async Task AddSceneItem(GameObject parentGameObj, ItemCfg itemCfg, int layer, bool setLayer, bool isOnlyEff = false)
+        public async Task AddSceneItem(GameObject parentGameObj, ItemCfg itemCfg, int layer, bool setLayer, bool isOnlyEff = false,int isLeft = 0)
         {
+            MatchingCompetitionDataManager.Instance.itemGameObjs.Add(parentGameObj);
+            MatchingOneDataManager.Instance.itemGameObjs.Add(parentGameObj);
+            if(isLeft == 1)
+            {
+                MatchingLeftDataManager.Instance.itemGameObjs.Add(parentGameObj);
+            }
+            else if(isLeft == 2)
+            {
+                MatchingRightDataManager.Instance.itemGameObjs.Add(parentGameObj);
+            }
 
             await AddItemToScene(sceneObject, parentGameObj, itemCfg.id, layer);
 

+ 17 - 1
GameClient/Assets/Game/HotUpdate/Data/PoemPhotoDataManager.cs

@@ -39,7 +39,11 @@ namespace GFGGame
             {
                 poemPhotoDatas = WsqsPhotoInfos;
             }
-            
+            else if (sourceType == 2)
+            {
+                poemPhotoDatas = MatchingCompetitionDataManager.Instance.MatchingPhotoInfos;
+            }
+
             poemPhotoDatas.Add(photoData);
             poemPhotoDatas.SortInfos();
         }
@@ -55,6 +59,10 @@ namespace GFGGame
             {
                 poemPhotoDatas = WsqsPhotoInfos;
             }
+            else if (sourceType == 2)
+            {
+                poemPhotoDatas = MatchingCompetitionDataManager.Instance.MatchingPhotoInfos;
+            }
 
             for (int i = 0; i < pictureIds.Count; i++)
             {
@@ -82,6 +90,10 @@ namespace GFGGame
             {
                 poemPhotoDatas = WsqsPhotoInfos;
             }
+            else if(sourceType == 2)
+            {
+                poemPhotoDatas = MatchingCompetitionDataManager.Instance.MatchingPhotoInfos;
+            }
             for (int i = 0; i < poemPhotoDatas.Count; i++)
             {
                 if (poemPhotoDatas[i].PictureId == pictureId)
@@ -106,6 +118,10 @@ namespace GFGGame
             {
                 poemPhotoDatas = WsqsPhotoInfos;
             }
+            else if (sourceType == 2)
+            {
+                poemPhotoDatas = MatchingCompetitionDataManager.Instance.MatchingPhotoInfos;
+            }
             for (int i = 0; i < poemPhotoDatas.Count; i++)
             {
                 if (poemPhotoDatas[i].PictureId == pictureId)

+ 70 - 0
GameClient/Assets/Game/HotUpdate/Data/VO/MatchingCompetitionData.cs

@@ -0,0 +1,70 @@
+using ET;
+using System.Collections.Generic;
+using System;
+using UnityEngine;
+using FairyGUI;
+
+namespace GFGGame
+{
+    public class MatchingPlayerData
+    {
+        public int roleID = 0;
+        public int HeadId = 0;
+        public int HeadBorderId = 0;
+        public string OtherPlayerName = "其他玩家";
+        public int Rank = 10;
+        //搭配数据
+        public int bgID = 0;
+        public int actionID = 0;
+        public List<int> DressIDList = new List<int>();
+        //搭配道具ID
+        public List<int> PropIDList = new List<int>();
+        //搭配道具位置信息
+        public List<string> DressTransformInfoList = new List<string>();
+        /// <summary>
+        /// 点赞投票次数
+        /// </summary>
+        public int OtherPlayerPopularity = 100;
+        /// <summary>
+        /// 个人相册_照片数据
+        /// </summary>
+        public byte[] Bytes;
+        /// <summary>
+        /// 作品资源
+        /// </summary>
+        public NTexture Ntexture = null;
+    }
+    //道具的位置信息
+    public class TransformData
+    {
+        public Vector3 position = new Vector3();
+        public float rotationZ = 0f;
+        public Vector3 scale = new Vector3();
+    }
+    //搭配赛作品信息
+    public class MatchingPhotoWorksData
+    {
+        public JudgingRoundRoleInfo JudgingInfo;
+        /// <summary>
+        /// 照片数据
+        /// </summary>
+        public byte[] Bytes;
+        /// <summary>
+        /// 照片资源
+        /// </summary>
+        public NTexture Ntexture;//个人相册数据
+    }
+    //搭配赛作品集信息
+    public class MatchingWorksData
+    {
+        public WorksCollectionInfo WorksInfo;
+        /// <summary>
+        /// 照片数据
+        /// </summary>
+        public byte[] Bytes;
+        /// <summary>
+        /// 照片资源
+        /// </summary>
+        public NTexture Ntexture;//个人相册数据
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Data/VO/MatchingCompetitionData.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d9dd1adaa5f34404c9a5f1b6f0bcba1f
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 26 - 0
GameClient/Assets/Game/HotUpdate/DressUp/DressUpObj.cs

@@ -450,6 +450,19 @@ namespace GFGGame
             {
                 _dressUpData.itemList.Add(itemId);
                 Update(itemId);
+
+                if (actionId != 0)
+                {
+                    ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
+                    Transform effGameobj = _sceneObj.transform.Find(string.Format("Role/Body_eff/{0}", itemCfg.res));
+                    if (effGameobj != null)
+                    {
+                        if (effGameobj.gameObject != null)
+                        {
+                            effGameobj.gameObject.SetActive(true);
+                        }
+                    }
+                }
             }
         }
 
@@ -471,6 +484,19 @@ namespace GFGGame
                 _dressUpData.itemList.Remove(itemId);
                 var handler = DressUpUtil.RemoveItemAsync(itemId, _sceneObj, _roleObj);
                 TryAddHandler(handler);
+
+                if (actionId != 0)
+                {
+                    ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
+                    Transform effGameobj = _sceneObj.transform.Find(string.Format("Role/Body_eff/{0}", itemCfg.res));
+                    if (effGameobj != null)
+                    {
+                        if (effGameobj.gameObject != null)
+                        {
+                            effGameobj.gameObject.SetActive(false);
+                        }
+                    }
+                }
             }
         }
 

+ 4 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityThemeLuckyBox/UI_ActivityThemeLuckyBoxUI.cs

@@ -9,6 +9,7 @@ namespace UI.ActivityThemeLuckyBox
         public GComponent target;
         public Controller m_c1;
         public GLoader m_loaBg;
+        public UI_ComImgCard m_card;
         public GGraph m_bgEffectHolder;
         public GButton m_btnBack;
         public UI_Button1 m_btnChapter;
@@ -74,6 +75,7 @@ namespace UI.ActivityThemeLuckyBox
         {
             m_c1 = comp.GetController("c1");
             m_loaBg = (GLoader)comp.GetChild("loaBg");
+            m_card = (UI_ComImgCard)UI_ComImgCard.Create(comp.GetChild("card"));
             m_bgEffectHolder = (GGraph)comp.GetChild("bgEffectHolder");
             m_btnBack = (GButton)comp.GetChild("btnBack");
             m_btnChapter = (UI_Button1)UI_Button1.Create(comp.GetChild("btnChapter"));
@@ -95,6 +97,8 @@ namespace UI.ActivityThemeLuckyBox
         {
             m_c1 = null;
             m_loaBg = null;
+            m_card.Dispose();
+            m_card = null;
             m_bgEffectHolder = null;
             m_btnBack = null;
             m_btnChapter.Dispose();

+ 71 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityThemeLuckyBox/UI_ComCardImgRes.cs

@@ -0,0 +1,71 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.ActivityThemeLuckyBox
+{
+    public partial class UI_ComCardImgRes
+    {
+        public GComponent target;
+        public GLoader m_loaCard;
+        public const string URL = "ui://ubfk2kobt88a1f";
+        public const string PACKAGE_NAME = "ActivityThemeLuckyBox";
+        public const string RES_NAME = "ComCardImgRes";
+        private static UI_ComCardImgRes _proxy;
+
+        public static UI_ComCardImgRes Create(GObject gObject = null)
+        {
+            var ui = new UI_ComCardImgRes();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_ComCardImgRes Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_ComCardImgRes();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_loaCard = (GLoader)comp.GetChild("loaCard");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_loaCard = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityThemeLuckyBox/UI_ComCardImgRes.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 97f61ea4f23e5104ea9801575eb3589b
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 72 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityThemeLuckyBox/UI_ComImgCard.cs

@@ -0,0 +1,72 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.ActivityThemeLuckyBox
+{
+    public partial class UI_ComImgCard
+    {
+        public GComponent target;
+        public UI_ComCardImgRes m_ComCardImgRes;
+        public const string URL = "ui://ubfk2kobt88a1e";
+        public const string PACKAGE_NAME = "ActivityThemeLuckyBox";
+        public const string RES_NAME = "ComImgCard";
+        private static UI_ComImgCard _proxy;
+
+        public static UI_ComImgCard Create(GObject gObject = null)
+        {
+            var ui = new UI_ComImgCard();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_ComImgCard Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_ComImgCard();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_ComCardImgRes = (UI_ComCardImgRes)UI_ComCardImgRes.Create(comp.GetChild("ComCardImgRes"));
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_ComCardImgRes.Dispose();
+            m_ComCardImgRes = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityThemeLuckyBox/UI_ComImgCard.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 0757ac9f49a9cc04e98c20b342fbf9a6
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 71 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_ComCardHolder.cs

@@ -0,0 +1,71 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.Main
+{
+    public partial class UI_ComCardHolder
+    {
+        public GComponent target;
+        public GGraph m_holder;
+        public const string URL = "ui://mfvz4q8kt88a9fzy";
+        public const string PACKAGE_NAME = "Main";
+        public const string RES_NAME = "ComCardHolder";
+        private static UI_ComCardHolder _proxy;
+
+        public static UI_ComCardHolder Create(GObject gObject = null)
+        {
+            var ui = new UI_ComCardHolder();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_ComCardHolder Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_ComCardHolder();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_holder = (GGraph)comp.GetChild("holder");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_holder = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_ComCardHolder.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 4fb541c1a4e1c294a817ba584914f374
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 72 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_ComCardObj.cs

@@ -0,0 +1,72 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.Main
+{
+    public partial class UI_ComCardObj
+    {
+        public GComponent target;
+        public UI_ComCardHolder m_comCardHolder;
+        public const string URL = "ui://mfvz4q8kt88a9fzx";
+        public const string PACKAGE_NAME = "Main";
+        public const string RES_NAME = "ComCardObj";
+        private static UI_ComCardObj _proxy;
+
+        public static UI_ComCardObj Create(GObject gObject = null)
+        {
+            var ui = new UI_ComCardObj();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_ComCardObj Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_ComCardObj();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_comCardHolder = (UI_ComCardHolder)UI_ComCardHolder.Create(comp.GetChild("comCardHolder"));
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_comCardHolder.Dispose();
+            m_comCardHolder = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_ComCardObj.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 5ed8915487ad1f741b926bbb6106c206
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 2
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_MainUI.cs

@@ -9,7 +9,7 @@ namespace UI.Main
         public GComponent target;
         public Controller m_type;
         public UI_ComImgCard m_cardBgIcon;
-        public GGraph m_cardBg;
+        public UI_ComCardObj m_cardBg;
         public GLoader m_loaBg;
         public GComponent m_valueBar;
         public GGraph m_BottomEffectHolder;
@@ -106,7 +106,7 @@ namespace UI.Main
         {
             m_type = comp.GetController("type");
             m_cardBgIcon = (UI_ComImgCard)UI_ComImgCard.Create(comp.GetChild("cardBgIcon"));
-            m_cardBg = (GGraph)comp.GetChild("cardBg");
+            m_cardBg = (UI_ComCardObj)UI_ComCardObj.Create(comp.GetChild("cardBg"));
             m_loaBg = (GLoader)comp.GetChild("loaBg");
             m_valueBar = (GComponent)comp.GetChild("valueBar");
             m_BottomEffectHolder = (GGraph)comp.GetChild("BottomEffectHolder");
@@ -160,6 +160,7 @@ namespace UI.Main
             m_type = null;
             m_cardBgIcon.Dispose();
             m_cardBgIcon = null;
+            m_cardBg.Dispose();
             m_cardBg = null;
             m_loaBg = null;
             m_valueBar = null;

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_StoryDialogUI.cs

@@ -13,6 +13,7 @@ namespace UI.Main
         public GGraph m_mask2;
         public GGraph m_btnNext;
         public GGraph m_effect;
+        public GGraph m_roleLive;
         public UI_CompDialogText m_dialogText;
         public UI_CompDialogName m_dialogName;
         public UI_CompDialogHead m_dialogHead;
@@ -86,6 +87,7 @@ namespace UI.Main
             m_mask2 = (GGraph)comp.GetChild("mask2");
             m_btnNext = (GGraph)comp.GetChild("btnNext");
             m_effect = (GGraph)comp.GetChild("effect");
+            m_roleLive = (GGraph)comp.GetChild("roleLive");
             m_dialogText = (UI_CompDialogText)UI_CompDialogText.Create(comp.GetChild("dialogText"));
             m_dialogName = (UI_CompDialogName)UI_CompDialogName.Create(comp.GetChild("dialogName"));
             m_dialogHead = (UI_CompDialogHead)UI_CompDialogHead.Create(comp.GetChild("dialogHead"));
@@ -115,6 +117,7 @@ namespace UI.Main
             m_mask2 = null;
             m_btnNext = null;
             m_effect = null;
+            m_roleLive = null;
             m_dialogText.Dispose();
             m_dialogText = null;
             m_dialogName.Dispose();

+ 8 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 8ee0cb0210c41f54c93b13126104b2c0
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 74 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Button3.cs

@@ -0,0 +1,74 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.MatchingCompetition
+{
+    public partial class UI_Button3
+    {
+        public GButton target;
+        public Controller m_c1;
+        public GTextField m_numText;
+        public const string URL = "ui://ri3cveycp3ft26";
+        public const string PACKAGE_NAME = "MatchingCompetition";
+        public const string RES_NAME = "Button3";
+        private static UI_Button3 _proxy;
+
+        public static UI_Button3 Create(GObject gObject = null)
+        {
+            var ui = new UI_Button3();
+            if(gObject == null)
+            	ui.target =  (GButton)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GButton)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_Button3 Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_Button3();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GButton)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GButton)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_c1 = comp.GetController("c1");
+            m_numText = (GTextField)comp.GetChild("numText");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_c1 = null;
+            m_numText = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Button3.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 067132d85af996149865ff282cf07482
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 77 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component1.cs

@@ -0,0 +1,77 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.MatchingCompetition
+{
+    public partial class UI_Component1
+    {
+        public GComponent target;
+        public GComponent m_head;
+        public GTextField m_nameText;
+        public GTextField m_countText;
+        public const string URL = "ui://ri3cveycp3ft1e";
+        public const string PACKAGE_NAME = "MatchingCompetition";
+        public const string RES_NAME = "Component1";
+        private static UI_Component1 _proxy;
+
+        public static UI_Component1 Create(GObject gObject = null)
+        {
+            var ui = new UI_Component1();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_Component1 Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_Component1();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_head = (GComponent)comp.GetChild("head");
+            m_nameText = (GTextField)comp.GetChild("nameText");
+            m_countText = (GTextField)comp.GetChild("countText");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_head = null;
+            m_nameText = null;
+            m_countText = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component1.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a79eec4a7762b0444b5c8ae370345a3b
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 74 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component11.cs

@@ -0,0 +1,74 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.MatchingCompetition
+{
+    public partial class UI_Component11
+    {
+        public GComponent target;
+        public GComponent m_head;
+        public GTextField m_nameText;
+        public const string URL = "ui://ri3cveycp3ft1t";
+        public const string PACKAGE_NAME = "MatchingCompetition";
+        public const string RES_NAME = "Component11";
+        private static UI_Component11 _proxy;
+
+        public static UI_Component11 Create(GObject gObject = null)
+        {
+            var ui = new UI_Component11();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_Component11 Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_Component11();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_head = (GComponent)comp.GetChild("head");
+            m_nameText = (GTextField)comp.GetChild("nameText");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_head = null;
+            m_nameText = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component11.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a8fa39f44c964c840bebec59b9fdbb5f
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 72 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component12.cs

@@ -0,0 +1,72 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.MatchingCompetition
+{
+    public partial class UI_Component12
+    {
+        public GComponent target;
+        public UI_Component14 m_playerImage;
+        public const string URL = "ui://ri3cveycp3ft20";
+        public const string PACKAGE_NAME = "MatchingCompetition";
+        public const string RES_NAME = "Component12";
+        private static UI_Component12 _proxy;
+
+        public static UI_Component12 Create(GObject gObject = null)
+        {
+            var ui = new UI_Component12();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_Component12 Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_Component12();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_playerImage = (UI_Component14)UI_Component14.Create(comp.GetChild("playerImage"));
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_playerImage.Dispose();
+            m_playerImage = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component12.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 6511b27d31207cb42aa42d6152d23e8d
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 72 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component13.cs

@@ -0,0 +1,72 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.MatchingCompetition
+{
+    public partial class UI_Component13
+    {
+        public GComponent target;
+        public UI_Component15 m_playerImage;
+        public const string URL = "ui://ri3cveycp3ft24";
+        public const string PACKAGE_NAME = "MatchingCompetition";
+        public const string RES_NAME = "Component13";
+        private static UI_Component13 _proxy;
+
+        public static UI_Component13 Create(GObject gObject = null)
+        {
+            var ui = new UI_Component13();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_Component13 Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_Component13();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_playerImage = (UI_Component15)UI_Component15.Create(comp.GetChild("playerImage"));
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_playerImage.Dispose();
+            m_playerImage = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component13.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 9fd081abf7cb9384894f8bdd71fb938d
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 71 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component14.cs

@@ -0,0 +1,71 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.MatchingCompetition
+{
+    public partial class UI_Component14
+    {
+        public GComponent target;
+        public GLoader m_playerImage;
+        public const string URL = "ui://ri3cveycp3ft22";
+        public const string PACKAGE_NAME = "MatchingCompetition";
+        public const string RES_NAME = "Component14";
+        private static UI_Component14 _proxy;
+
+        public static UI_Component14 Create(GObject gObject = null)
+        {
+            var ui = new UI_Component14();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_Component14 Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_Component14();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_playerImage = (GLoader)comp.GetChild("playerImage");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_playerImage = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component14.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: fd2fa51f05cbb0c489f18cdb4dc69e47
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 71 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component15.cs

@@ -0,0 +1,71 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.MatchingCompetition
+{
+    public partial class UI_Component15
+    {
+        public GComponent target;
+        public GLoader m_playerImage;
+        public const string URL = "ui://ri3cveycp3ft23";
+        public const string PACKAGE_NAME = "MatchingCompetition";
+        public const string RES_NAME = "Component15";
+        private static UI_Component15 _proxy;
+
+        public static UI_Component15 Create(GObject gObject = null)
+        {
+            var ui = new UI_Component15();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_Component15 Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_Component15();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_playerImage = (GLoader)comp.GetChild("playerImage");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_playerImage = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component15.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 31c6db636ea693647b997880c0069bfc
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 81 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component2.cs

@@ -0,0 +1,81 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.MatchingCompetition
+{
+    public partial class UI_Component2
+    {
+        public GComponent target;
+        public GComponent m_head;
+        public GTextField m_nameText;
+        public GTextField m_countText;
+        public UI_Component4 m_RankIndex;
+        public const string URL = "ui://ri3cveycp3ft1h";
+        public const string PACKAGE_NAME = "MatchingCompetition";
+        public const string RES_NAME = "Component2";
+        private static UI_Component2 _proxy;
+
+        public static UI_Component2 Create(GObject gObject = null)
+        {
+            var ui = new UI_Component2();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_Component2 Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_Component2();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_head = (GComponent)comp.GetChild("head");
+            m_nameText = (GTextField)comp.GetChild("nameText");
+            m_countText = (GTextField)comp.GetChild("countText");
+            m_RankIndex = (UI_Component4)UI_Component4.Create(comp.GetChild("RankIndex"));
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_head = null;
+            m_nameText = null;
+            m_countText = null;
+            m_RankIndex.Dispose();
+            m_RankIndex = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component2.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a0aa5bb67e35f7147af26f049d1ae7cf
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 87 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component3.cs

@@ -0,0 +1,87 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.MatchingCompetition
+{
+    public partial class UI_Component3
+    {
+        public GComponent target;
+        public Controller m_c1;
+        public Controller m_c2;
+        public GComponent m_head;
+        public GTextField m_nameText;
+        public GTextField m_countText;
+        public UI_Component4 m_RankIndex;
+        public const string URL = "ui://ri3cveycp3ft1i";
+        public const string PACKAGE_NAME = "MatchingCompetition";
+        public const string RES_NAME = "Component3";
+        private static UI_Component3 _proxy;
+
+        public static UI_Component3 Create(GObject gObject = null)
+        {
+            var ui = new UI_Component3();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_Component3 Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_Component3();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_c1 = comp.GetController("c1");
+            m_c2 = comp.GetController("c2");
+            m_head = (GComponent)comp.GetChild("head");
+            m_nameText = (GTextField)comp.GetChild("nameText");
+            m_countText = (GTextField)comp.GetChild("countText");
+            m_RankIndex = (UI_Component4)UI_Component4.Create(comp.GetChild("RankIndex"));
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_c1 = null;
+            m_c2 = null;
+            m_head = null;
+            m_nameText = null;
+            m_countText = null;
+            m_RankIndex.Dispose();
+            m_RankIndex = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component3.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 5011103b29517c646aa4812ecb13c0fa
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 89 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component4.cs

@@ -0,0 +1,89 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.MatchingCompetition
+{
+    public partial class UI_Component4
+    {
+        public GComponent target;
+        public Controller m_c1;
+        public Controller m_c2;
+        public GLoader m_numBg;
+        public GLoader m_num1;
+        public GLoader m_num2;
+        public GLoader m_num3;
+        public GTextField m_RankText;
+        public const string URL = "ui://ri3cveycp3ft1m";
+        public const string PACKAGE_NAME = "MatchingCompetition";
+        public const string RES_NAME = "Component4";
+        private static UI_Component4 _proxy;
+
+        public static UI_Component4 Create(GObject gObject = null)
+        {
+            var ui = new UI_Component4();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_Component4 Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_Component4();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_c1 = comp.GetController("c1");
+            m_c2 = comp.GetController("c2");
+            m_numBg = (GLoader)comp.GetChild("numBg");
+            m_num1 = (GLoader)comp.GetChild("num1");
+            m_num2 = (GLoader)comp.GetChild("num2");
+            m_num3 = (GLoader)comp.GetChild("num3");
+            m_RankText = (GTextField)comp.GetChild("RankText");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_c1 = null;
+            m_c2 = null;
+            m_numBg = null;
+            m_num1 = null;
+            m_num2 = null;
+            m_num3 = null;
+            m_RankText = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component4.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 70892d86f164cf340a1a8bb62d43de8c
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 80 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component5.cs

@@ -0,0 +1,80 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.MatchingCompetition
+{
+    public partial class UI_Component5
+    {
+        public GComponent target;
+        public GLoader m_playerImage;
+        public GTextField m_seasonText;
+        public GTextField m_seasonName;
+        public GTextField m_openTime;
+        public const string URL = "ui://ri3cveycp3ft1o";
+        public const string PACKAGE_NAME = "MatchingCompetition";
+        public const string RES_NAME = "Component5";
+        private static UI_Component5 _proxy;
+
+        public static UI_Component5 Create(GObject gObject = null)
+        {
+            var ui = new UI_Component5();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_Component5 Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_Component5();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_playerImage = (GLoader)comp.GetChild("playerImage");
+            m_seasonText = (GTextField)comp.GetChild("seasonText");
+            m_seasonName = (GTextField)comp.GetChild("seasonName");
+            m_openTime = (GTextField)comp.GetChild("openTime");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_playerImage = null;
+            m_seasonText = null;
+            m_seasonName = null;
+            m_openTime = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component5.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 68be4fe9df3495b479aa3237171df703
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 83 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component6.cs

@@ -0,0 +1,83 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.MatchingCompetition
+{
+    public partial class UI_Component6
+    {
+        public GComponent target;
+        public Controller m_c1;
+        public GLoader m_playerImage;
+        public GComponent m_head;
+        public GTextField m_nameText;
+        public GTextField m_countText;
+        public const string URL = "ui://ri3cveycp3ft1q";
+        public const string PACKAGE_NAME = "MatchingCompetition";
+        public const string RES_NAME = "Component6";
+        private static UI_Component6 _proxy;
+
+        public static UI_Component6 Create(GObject gObject = null)
+        {
+            var ui = new UI_Component6();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_Component6 Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_Component6();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_c1 = comp.GetController("c1");
+            m_playerImage = (GLoader)comp.GetChild("playerImage");
+            m_head = (GComponent)comp.GetChild("head");
+            m_nameText = (GTextField)comp.GetChild("nameText");
+            m_countText = (GTextField)comp.GetChild("countText");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_c1 = null;
+            m_playerImage = null;
+            m_head = null;
+            m_nameText = null;
+            m_countText = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_Component6.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 455552bbf7282bc47a9e370f70898d40
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 86 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionDetailUI.cs

@@ -0,0 +1,86 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.MatchingCompetition
+{
+    public partial class UI_MatchingCompetitionDetailUI
+    {
+        public GComponent target;
+        public GLoader m_defulatBg;
+        public GLoader m_playerImage;
+        public GLoader m_btn;
+        public GButton m_BtnBack;
+        public GList m_nameList;
+        public GList m_dressList;
+        public const string URL = "ui://ri3cveycp3ft2b";
+        public const string PACKAGE_NAME = "MatchingCompetition";
+        public const string RES_NAME = "MatchingCompetitionDetailUI";
+        private static UI_MatchingCompetitionDetailUI _proxy;
+
+        public static UI_MatchingCompetitionDetailUI Create(GObject gObject = null)
+        {
+            var ui = new UI_MatchingCompetitionDetailUI();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_MatchingCompetitionDetailUI Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_MatchingCompetitionDetailUI();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_defulatBg = (GLoader)comp.GetChild("defulatBg");
+            m_playerImage = (GLoader)comp.GetChild("playerImage");
+            m_btn = (GLoader)comp.GetChild("btn");
+            m_BtnBack = (GButton)comp.GetChild("BtnBack");
+            m_nameList = (GList)comp.GetChild("nameList");
+            m_dressList = (GList)comp.GetChild("dressList");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_defulatBg = null;
+            m_playerImage = null;
+            m_btn = null;
+            m_BtnBack = null;
+            m_nameList = null;
+            m_dressList = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionDetailUI.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 481020c89153f1f4dae777dbe6376ae4
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 98 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionGatheringUI.cs

@@ -0,0 +1,98 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.MatchingCompetition
+{
+    public partial class UI_MatchingCompetitionGatheringUI
+    {
+        public GComponent target;
+        public Controller m_c1;
+        public GLoader m_bg;
+        public GGraph m_suitShow;
+        public GButton m_BtnBack;
+        public GLoader m_ruleBtn;
+        public GTextField m_titleText;
+        public GTextField m_timeText;
+        public GTextField m_suitName;
+        public GButton m_btnUploadWorks;
+        public GButton m_btnShop;
+        public const string URL = "ui://ri3cveychtuj0";
+        public const string PACKAGE_NAME = "MatchingCompetition";
+        public const string RES_NAME = "MatchingCompetitionGatheringUI";
+        private static UI_MatchingCompetitionGatheringUI _proxy;
+
+        public static UI_MatchingCompetitionGatheringUI Create(GObject gObject = null)
+        {
+            var ui = new UI_MatchingCompetitionGatheringUI();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_MatchingCompetitionGatheringUI Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_MatchingCompetitionGatheringUI();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_c1 = comp.GetController("c1");
+            m_bg = (GLoader)comp.GetChild("bg");
+            m_suitShow = (GGraph)comp.GetChild("suitShow");
+            m_BtnBack = (GButton)comp.GetChild("BtnBack");
+            m_ruleBtn = (GLoader)comp.GetChild("ruleBtn");
+            m_titleText = (GTextField)comp.GetChild("titleText");
+            m_timeText = (GTextField)comp.GetChild("timeText");
+            m_suitName = (GTextField)comp.GetChild("suitName");
+            m_btnUploadWorks = (GButton)comp.GetChild("btnUploadWorks");
+            m_btnShop = (GButton)comp.GetChild("btnShop");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_c1 = null;
+            m_bg = null;
+            m_suitShow = null;
+            m_BtnBack = null;
+            m_ruleBtn = null;
+            m_titleText = null;
+            m_timeText = null;
+            m_suitName = null;
+            m_btnUploadWorks = null;
+            m_btnShop = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionGatheringUI.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a6703ee592196254d8acf350b6aa1ab4
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 77 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionLookUI.cs

@@ -0,0 +1,77 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.MatchingCompetition
+{
+    public partial class UI_MatchingCompetitionLookUI
+    {
+        public GComponent target;
+        public GLoader m_bg;
+        public GImage m_playerImage;
+        public GButton m_BtnBack;
+        public const string URL = "ui://ri3cveycp3ft1r";
+        public const string PACKAGE_NAME = "MatchingCompetition";
+        public const string RES_NAME = "MatchingCompetitionLookUI";
+        private static UI_MatchingCompetitionLookUI _proxy;
+
+        public static UI_MatchingCompetitionLookUI Create(GObject gObject = null)
+        {
+            var ui = new UI_MatchingCompetitionLookUI();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_MatchingCompetitionLookUI Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_MatchingCompetitionLookUI();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_bg = (GLoader)comp.GetChild("bg");
+            m_playerImage = (GImage)comp.GetChild("playerImage");
+            m_BtnBack = (GButton)comp.GetChild("BtnBack");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_bg = null;
+            m_playerImage = null;
+            m_BtnBack = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionLookUI.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 7be58668262c0fe41a999ba071782162
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 99 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionRankUI.cs

@@ -0,0 +1,99 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.MatchingCompetition
+{
+    public partial class UI_MatchingCompetitionRankUI
+    {
+        public GComponent target;
+        public Controller m_c1;
+        public GLoader m_bg;
+        public GLoader m_playerImage;
+        public GLoader m_ruleBtn;
+        public GTextField m_titleText;
+        public GButton m_btnBefore;
+        public GList m_RankList;
+        public UI_Component3 m_playerHead;
+        public GButton m_btnLook;
+        public GButton m_BtnBack;
+        public const string URL = "ui://ri3cveycp3ft1g";
+        public const string PACKAGE_NAME = "MatchingCompetition";
+        public const string RES_NAME = "MatchingCompetitionRankUI";
+        private static UI_MatchingCompetitionRankUI _proxy;
+
+        public static UI_MatchingCompetitionRankUI Create(GObject gObject = null)
+        {
+            var ui = new UI_MatchingCompetitionRankUI();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_MatchingCompetitionRankUI Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_MatchingCompetitionRankUI();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_c1 = comp.GetController("c1");
+            m_bg = (GLoader)comp.GetChild("bg");
+            m_playerImage = (GLoader)comp.GetChild("playerImage");
+            m_ruleBtn = (GLoader)comp.GetChild("ruleBtn");
+            m_titleText = (GTextField)comp.GetChild("titleText");
+            m_btnBefore = (GButton)comp.GetChild("btnBefore");
+            m_RankList = (GList)comp.GetChild("RankList");
+            m_playerHead = (UI_Component3)UI_Component3.Create(comp.GetChild("playerHead"));
+            m_btnLook = (GButton)comp.GetChild("btnLook");
+            m_BtnBack = (GButton)comp.GetChild("BtnBack");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_c1 = null;
+            m_bg = null;
+            m_playerImage = null;
+            m_ruleBtn = null;
+            m_titleText = null;
+            m_btnBefore = null;
+            m_RankList = null;
+            m_playerHead.Dispose();
+            m_playerHead = null;
+            m_btnLook = null;
+            m_BtnBack = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionRankUI.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 0c6bcfb194cdd8b44accf42448276f7a
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 74 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionRewardItem.cs

@@ -0,0 +1,74 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.MatchingCompetition
+{
+    public partial class UI_MatchingCompetitionRewardItem
+    {
+        public GComponent target;
+        public GList m_rewardList;
+        public GTextField m_rankIndex;
+        public const string URL = "ui://ri3cveycp3ft29";
+        public const string PACKAGE_NAME = "MatchingCompetition";
+        public const string RES_NAME = "MatchingCompetitionRewardItem";
+        private static UI_MatchingCompetitionRewardItem _proxy;
+
+        public static UI_MatchingCompetitionRewardItem Create(GObject gObject = null)
+        {
+            var ui = new UI_MatchingCompetitionRewardItem();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_MatchingCompetitionRewardItem Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_MatchingCompetitionRewardItem();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_rewardList = (GList)comp.GetChild("rewardList");
+            m_rankIndex = (GTextField)comp.GetChild("rankIndex");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_rewardList = null;
+            m_rankIndex = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionRewardItem.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: f82f187c94760ab4bb972e122d5d37be
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 86 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionRuleTips.cs

@@ -0,0 +1,86 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.MatchingCompetition
+{
+    public partial class UI_MatchingCompetitionRuleTips
+    {
+        public GComponent target;
+        public Controller m_c1;
+        public GTextField m_titleText;
+        public GButton m_btnReward;
+        public GButton m_btnRule;
+        public GList m_rewardList;
+        public GTextField m_descText;
+        public const string URL = "ui://ri3cveycp3ft28";
+        public const string PACKAGE_NAME = "MatchingCompetition";
+        public const string RES_NAME = "MatchingCompetitionRuleTips";
+        private static UI_MatchingCompetitionRuleTips _proxy;
+
+        public static UI_MatchingCompetitionRuleTips Create(GObject gObject = null)
+        {
+            var ui = new UI_MatchingCompetitionRuleTips();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_MatchingCompetitionRuleTips Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_MatchingCompetitionRuleTips();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_c1 = comp.GetController("c1");
+            m_titleText = (GTextField)comp.GetChild("titleText");
+            m_btnReward = (GButton)comp.GetChild("btnReward");
+            m_btnRule = (GButton)comp.GetChild("btnRule");
+            m_rewardList = (GList)comp.GetChild("rewardList");
+            m_descText = (GTextField)comp.GetChild("descText");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_c1 = null;
+            m_titleText = null;
+            m_btnReward = null;
+            m_btnRule = null;
+            m_rewardList = null;
+            m_descText = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionRuleTips.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 2076a5d2f8489244598c0c60dcdfb331
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 119 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionSelectUI.cs

@@ -0,0 +1,119 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.MatchingCompetition
+{
+    public partial class UI_MatchingCompetitionSelectUI
+    {
+        public GComponent target;
+        public GLoader m_bg;
+        public UI_Component12 m_playerShow1;
+        public UI_Component13 m_playerShow2;
+        public GLoader m_ruleBtn;
+        public GTextField m_titleText;
+        public UI_Component11 m_player1;
+        public UI_Component11 m_player2;
+        public UI_Button3 m_select1;
+        public GTextField m_selectText1;
+        public UI_Button3 m_select2;
+        public GTextField m_selectText2;
+        public GTextField m_timeText;
+        public GButton m_BtnBack;
+        public Transition m_t0;
+        public Transition m_t1;
+        public const string URL = "ui://ri3cveycp3ft1s";
+        public const string PACKAGE_NAME = "MatchingCompetition";
+        public const string RES_NAME = "MatchingCompetitionSelectUI";
+        private static UI_MatchingCompetitionSelectUI _proxy;
+
+        public static UI_MatchingCompetitionSelectUI Create(GObject gObject = null)
+        {
+            var ui = new UI_MatchingCompetitionSelectUI();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_MatchingCompetitionSelectUI Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_MatchingCompetitionSelectUI();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_bg = (GLoader)comp.GetChild("bg");
+            m_playerShow1 = (UI_Component12)UI_Component12.Create(comp.GetChild("playerShow1"));
+            m_playerShow2 = (UI_Component13)UI_Component13.Create(comp.GetChild("playerShow2"));
+            m_ruleBtn = (GLoader)comp.GetChild("ruleBtn");
+            m_titleText = (GTextField)comp.GetChild("titleText");
+            m_player1 = (UI_Component11)UI_Component11.Create(comp.GetChild("player1"));
+            m_player2 = (UI_Component11)UI_Component11.Create(comp.GetChild("player2"));
+            m_select1 = (UI_Button3)UI_Button3.Create(comp.GetChild("select1"));
+            m_selectText1 = (GTextField)comp.GetChild("selectText1");
+            m_select2 = (UI_Button3)UI_Button3.Create(comp.GetChild("select2"));
+            m_selectText2 = (GTextField)comp.GetChild("selectText2");
+            m_timeText = (GTextField)comp.GetChild("timeText");
+            m_BtnBack = (GButton)comp.GetChild("BtnBack");
+            m_t0 = comp.GetTransition("t0");
+            m_t1 = comp.GetTransition("t1");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_bg = null;
+            m_playerShow1.Dispose();
+            m_playerShow1 = null;
+            m_playerShow2.Dispose();
+            m_playerShow2 = null;
+            m_ruleBtn = null;
+            m_titleText = null;
+            m_player1.Dispose();
+            m_player1 = null;
+            m_player2.Dispose();
+            m_player2 = null;
+            m_select1.Dispose();
+            m_select1 = null;
+            m_selectText1 = null;
+            m_select2.Dispose();
+            m_select2 = null;
+            m_selectText2 = null;
+            m_timeText = null;
+            m_BtnBack = null;
+            m_t0 = null;
+            m_t1 = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionSelectUI.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 36b41a5d950f11c4e8afd2538061fd37
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 114 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionUpLoadUI.cs

@@ -0,0 +1,114 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.MatchingCompetition
+{
+    public partial class UI_MatchingCompetitionUpLoadUI
+    {
+        public GComponent target;
+        public Controller m_c1;
+        public GLoader m_bg;
+        public GLoader m_playerImage;
+        public GButton m_BtnBack;
+        public GButton m_btnLook;
+        public GLoader m_ruleBtn;
+        public GTextField m_titleText;
+        public GTextField m_timeText;
+        public GButton m_btnRank;
+        public GButton m_btnUploadWorks;
+        public GButton m_btnShop;
+        public GButton m_btnMyWorks;
+        public UI_Component1 m_playerHead;
+        public GButton m_btnExchage;
+        public GLoader m_countTime;
+        public const string URL = "ui://ri3cveycp3ft1c";
+        public const string PACKAGE_NAME = "MatchingCompetition";
+        public const string RES_NAME = "MatchingCompetitionUpLoadUI";
+        private static UI_MatchingCompetitionUpLoadUI _proxy;
+
+        public static UI_MatchingCompetitionUpLoadUI Create(GObject gObject = null)
+        {
+            var ui = new UI_MatchingCompetitionUpLoadUI();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_MatchingCompetitionUpLoadUI Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_MatchingCompetitionUpLoadUI();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_c1 = comp.GetController("c1");
+            m_bg = (GLoader)comp.GetChild("bg");
+            m_playerImage = (GLoader)comp.GetChild("playerImage");
+            m_BtnBack = (GButton)comp.GetChild("BtnBack");
+            m_btnLook = (GButton)comp.GetChild("btnLook");
+            m_ruleBtn = (GLoader)comp.GetChild("ruleBtn");
+            m_titleText = (GTextField)comp.GetChild("titleText");
+            m_timeText = (GTextField)comp.GetChild("timeText");
+            m_btnRank = (GButton)comp.GetChild("btnRank");
+            m_btnUploadWorks = (GButton)comp.GetChild("btnUploadWorks");
+            m_btnShop = (GButton)comp.GetChild("btnShop");
+            m_btnMyWorks = (GButton)comp.GetChild("btnMyWorks");
+            m_playerHead = (UI_Component1)UI_Component1.Create(comp.GetChild("playerHead"));
+            m_btnExchage = (GButton)comp.GetChild("btnExchage");
+            m_countTime = (GLoader)comp.GetChild("countTime");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_c1 = null;
+            m_bg = null;
+            m_playerImage = null;
+            m_BtnBack = null;
+            m_btnLook = null;
+            m_ruleBtn = null;
+            m_titleText = null;
+            m_timeText = null;
+            m_btnRank = null;
+            m_btnUploadWorks = null;
+            m_btnShop = null;
+            m_btnMyWorks = null;
+            m_playerHead.Dispose();
+            m_playerHead = null;
+            m_btnExchage = null;
+            m_countTime = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionUpLoadUI.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: bb8da60488bac444394c45bc05a7326f
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 83 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionWorkListUI.cs

@@ -0,0 +1,83 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.MatchingCompetition
+{
+    public partial class UI_MatchingCompetitionWorkListUI
+    {
+        public GComponent target;
+        public GLoader m_bg;
+        public GGraph m_suitShow;
+        public GTextField m_titleText;
+        public GList m_workList;
+        public GButton m_BtnBack;
+        public const string URL = "ui://ri3cveycp3ft1p";
+        public const string PACKAGE_NAME = "MatchingCompetition";
+        public const string RES_NAME = "MatchingCompetitionWorkListUI";
+        private static UI_MatchingCompetitionWorkListUI _proxy;
+
+        public static UI_MatchingCompetitionWorkListUI Create(GObject gObject = null)
+        {
+            var ui = new UI_MatchingCompetitionWorkListUI();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_MatchingCompetitionWorkListUI Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_MatchingCompetitionWorkListUI();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_bg = (GLoader)comp.GetChild("bg");
+            m_suitShow = (GGraph)comp.GetChild("suitShow");
+            m_titleText = (GTextField)comp.GetChild("titleText");
+            m_workList = (GList)comp.GetChild("workList");
+            m_BtnBack = (GButton)comp.GetChild("BtnBack");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_bg = null;
+            m_suitShow = null;
+            m_titleText = null;
+            m_workList = null;
+            m_BtnBack = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionWorkListUI.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 65b16f241c6272e489dd213b6b0672fa
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 80 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionWorksUI.cs

@@ -0,0 +1,80 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.MatchingCompetition
+{
+    public partial class UI_MatchingCompetitionWorksUI
+    {
+        public GComponent target;
+        public GLoader m_bg;
+        public GTextField m_titleText;
+        public GList m_worksList;
+        public GButton m_BtnBack;
+        public const string URL = "ui://ri3cveycp3ft1n";
+        public const string PACKAGE_NAME = "MatchingCompetition";
+        public const string RES_NAME = "MatchingCompetitionWorksUI";
+        private static UI_MatchingCompetitionWorksUI _proxy;
+
+        public static UI_MatchingCompetitionWorksUI Create(GObject gObject = null)
+        {
+            var ui = new UI_MatchingCompetitionWorksUI();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_MatchingCompetitionWorksUI Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_MatchingCompetitionWorksUI();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_bg = (GLoader)comp.GetChild("bg");
+            m_titleText = (GTextField)comp.GetChild("titleText");
+            m_worksList = (GList)comp.GetChild("worksList");
+            m_BtnBack = (GButton)comp.GetChild("BtnBack");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_bg = null;
+            m_titleText = null;
+            m_worksList = null;
+            m_BtnBack = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionWorksUI.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 581147c30ec0e4d4fb350a110d6bde0b
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 77 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingDressItem.cs

@@ -0,0 +1,77 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.MatchingCompetition
+{
+    public partial class UI_MatchingDressItem
+    {
+        public GComponent target;
+        public GImage m_iconSelected;
+        public GTextField m_txtTitle;
+        public GLoader m_icon;
+        public const string URL = "ui://ri3cveycp3ft2r";
+        public const string PACKAGE_NAME = "MatchingCompetition";
+        public const string RES_NAME = "MatchingDressItem";
+        private static UI_MatchingDressItem _proxy;
+
+        public static UI_MatchingDressItem Create(GObject gObject = null)
+        {
+            var ui = new UI_MatchingDressItem();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_MatchingDressItem Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_MatchingDressItem();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_iconSelected = (GImage)comp.GetChild("iconSelected");
+            m_txtTitle = (GTextField)comp.GetChild("txtTitle");
+            m_icon = (GLoader)comp.GetChild("icon");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_iconSelected = null;
+            m_txtTitle = null;
+            m_icon = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingDressItem.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 4592105d72afffe49b8dd23b0858bef9
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 83 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingTypeItem.cs

@@ -0,0 +1,83 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.MatchingCompetition
+{
+    public partial class UI_MatchingTypeItem
+    {
+        public GComponent target;
+        public Controller m_itemType;
+        public GLoader m_icon;
+        public GImage m_imgNeed;
+        public GImage m_imgNew;
+        public GTextField m_txtname;
+        public const string URL = "ui://ri3cveycn3um2w";
+        public const string PACKAGE_NAME = "MatchingCompetition";
+        public const string RES_NAME = "MatchingTypeItem";
+        private static UI_MatchingTypeItem _proxy;
+
+        public static UI_MatchingTypeItem Create(GObject gObject = null)
+        {
+            var ui = new UI_MatchingTypeItem();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_MatchingTypeItem Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_MatchingTypeItem();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_itemType = comp.GetController("itemType");
+            m_icon = (GLoader)comp.GetChild("icon");
+            m_imgNeed = (GImage)comp.GetChild("imgNeed");
+            m_imgNew = (GImage)comp.GetChild("imgNew");
+            m_txtname = (GTextField)comp.GetChild("txtname");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_itemType = null;
+            m_icon = null;
+            m_imgNeed = null;
+            m_imgNew = null;
+            m_txtname = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingTypeItem.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 6abf72f0918c15e4dba4412e7ba420ae
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/poem/UI_PoemPhotoUI.cs

@@ -13,6 +13,7 @@ namespace UI.Poem
         public GButton m_btnback;
         public GList m_list;
         public GList m_listTravel;
+        public GList m_listCompetion;
         public GLoader m_icon;
         public GList m_typeList;
         public GButton m_btnConfirmDelete;
@@ -75,6 +76,7 @@ namespace UI.Poem
             m_btnback = (GButton)comp.GetChild("btnback");
             m_list = (GList)comp.GetChild("list");
             m_listTravel = (GList)comp.GetChild("listTravel");
+            m_listCompetion = (GList)comp.GetChild("listCompetion");
             m_icon = (GLoader)comp.GetChild("icon");
             m_typeList = (GList)comp.GetChild("typeList");
             m_btnConfirmDelete = (GButton)comp.GetChild("btnConfirmDelete");
@@ -93,6 +95,7 @@ namespace UI.Poem
             m_btnback = null;
             m_list = null;
             m_listTravel = null;
+            m_listCompetion = null;
             m_icon = null;
             m_typeList = null;
             m_btnConfirmDelete = null;

+ 265 - 0
GameClient/Assets/Game/HotUpdate/ServerProxy/MatchingCompetitionSproxy.cs

@@ -0,0 +1,265 @@
+using ET;
+using GFGGame;
+using FairyGUI;
+using UnityEngine;
+using UnityEngine.Networking;
+using System.Collections.Generic;
+
+namespace ET
+{
+    public class M2C_NoticeMatchingStateHandler : AMHandler<S2C_PushJudgingRoundInfo>
+    {
+        protected override async ETTask Run(Session session, S2C_PushJudgingRoundInfo message)
+        {
+            MatchingCompetitionDataManager.Instance.MatchingCompetitionSeason = message.JudgingRoundOpenId;
+            MatchingCompetitionDataManager.Instance.MatchingEndTimes = message.PhaseEndTime;
+            MatchingCompetitionDataManager.Instance.MatchingState = message.PhaseType;
+            //await MatchingCompetitionSproxy.ReqMatchingCompetitionInfo();
+            await ETTask.CompletedTask;
+        }
+    }
+}
+namespace GFGGame
+{
+    public class MatchingCompetitionSproxy
+    {
+        //获取搭配评选赛信息
+        public static async ETTask<bool> ReqMatchingCompetitionInfo()
+        {
+            S2C_GetJudgingRoundInfo response = (S2C_GetJudgingRoundInfo)await MessageHelper.SendToServer(new C2S_GetJudgingRoundInfo { });
+            if (!(response is { Error: ErrorCode.ERR_Success })) return false;
+            MatchingCompetitionDataManager.Instance.MatchingCompetitionSeason = response.JudgingRoundOpenId;
+            MatchingCompetitionDataManager.Instance.MatchingState = response.PhaseType;
+            MatchingCompetitionDataManager.Instance.MatchingEndTimes = response.PhaseEndTime;
+            MatchingCompetitionDataManager.Instance.MatchingRemainingTimes = GameGlobal.myNumericComponent.GetAsInt(NumericType.JudgingRoundSelNum);
+            MatchingCompetitionDataManager.Instance.myWorks = response.MyWorks;
+            if(response.MyWorks != null)
+            {
+                MatchingCompetitionDataManager.Instance.AllDressIDInfoList = response.MyWorks.CollocationInfoList;
+            }
+            else
+            {
+                MatchingCompetitionDataManager.Instance.AllDressIDInfoList = new List<CollocationInfo>();
+            }
+            MatchingCompetitionDataManager.Instance.AnalysisInfoToList();
+            return true;
+        }
+        //获取搭配作品信息
+        //public static async ETTask<bool> ReqMatchingCompetitionDressData()
+        //{
+        //    var response = (S2C_RequestUpLoadJudgingRoundWorks)await MessageHelper.SendToServer(new C2S_RequestUpLoadJudgingRoundWorks {});
+        //    if (!(response is { Error: ErrorCode.ERR_Success })) return false;
+        //    return true;
+        //}
+        //获取一个热门推荐的玩家
+        public static async ETTask<bool> ReqGetOnePlayers()
+        {
+            var response = (S2C_GetOnePlayers)await MessageHelper.SendToServer(new C2S_GetOnePlayers { });
+            if (!(response is { Error: ErrorCode.ERR_Success })) return false;
+            MatchingOneDataManager.Instance.OneRoleInfo.JudgingInfo = response.JudgingRoundRole;
+            if (response.JudgingRoundRole == null)
+            {
+                return false;
+            }
+            Timers.inst.StartCoroutine(MatchingPhotoHelper.Download(MatchingOneDataManager.Instance.OneRoleInfo));
+            MatchingOneDataManager.Instance.AnalysisInfoToList();
+            return true;
+        }
+        //上传作品信息
+        public static async ETTask<object[]> UpLoadMatchingCompetitionDressData()
+        {
+            MatchingCompetitionDataManager.Instance.ConvertInfoToList();
+            var response = (S2C_RequestUpLoadJudgingRoundWorks)await MessageHelper.SendToServer(new C2S_RequestUpLoadJudgingRoundWorks
+            {
+                PictureType = 1,
+                BagId = MatchingCompetitionDataManager.Instance.DressUpBgID,
+                ActionId = MatchingCompetitionDataManager.Instance.MathingDressDate.actionId,
+                CollocationInfoList = MatchingCompetitionDataManager.Instance.AllDressIDInfoList
+            });
+            if (!(response is { Error: ErrorCode.ERR_Success })) return null;
+            MatchingCompetitionDataManager.Instance.WorksID = response.WorksId;
+            MatchingCompetitionDataManager.Instance.TempPictureUrl = response.TempPictureUrl;
+            return new object[] { response.TempPictureUrl, response.WorksId };
+        }
+        //通知服务端上传成功
+        public static async ETTask<bool> UploadSuccess()
+        {
+            var response = (S2C_NoticeJudgingRoundWorksUploaded)await MessageHelper.SendToServer(new C2S_NoticeJudgingRoundWorksUploaded
+            {
+                WorksId = MatchingCompetitionDataManager.Instance.WorksID
+            }) ;
+            if (!(response is { Error: ErrorCode.ERR_Success })) return false;
+
+            return true;
+        }
+
+        //获取两个评选推荐的玩家
+        public static async ETTask<bool> ReqGetTwoPlayers()
+        {
+            var response = (S2C_GetTwoPlayers)await MessageHelper.SendToServer(new C2S_GetTwoPlayers { });
+            if (!(response is { Error: ErrorCode.ERR_Success })) return false;
+            if(response.JudgingRoundRoleInfoList == null || response.JudgingRoundRoleInfoList.Count < 2)
+            {
+                return false;
+            }
+            MatchingCompetitionDataManager.Instance.MatchingRemainingTimes = GameGlobal.myNumericComponent.GetAsInt(NumericType.JudgingRoundSelNum);
+            MatchingLeftDataManager.Instance.LeftRoleInfo.JudgingInfo = response.JudgingRoundRoleInfoList[0];
+            if(response.JudgingRoundRoleInfoList[0] != null)
+            {
+                Timers.inst.StartCoroutine(MatchingPhotoHelper.Download(MatchingLeftDataManager.Instance.LeftRoleInfo));
+            }
+            MatchingLeftDataManager.Instance.AnalysisInfoToList();
+
+            MatchingRightDataManager.Instance.RightRoleInfo.JudgingInfo = response.JudgingRoundRoleInfoList[1];
+            if (response.JudgingRoundRoleInfoList[1] != null)
+            {
+                Timers.inst.StartCoroutine(MatchingPhotoHelper.Download(MatchingRightDataManager.Instance.RightRoleInfo));
+            }
+            MatchingRightDataManager.Instance.AnalysisInfoToList();
+            return true;
+        }
+        //选择搭配作品
+        public static async ETTask<bool> ReqCheckMatchingCompetitionWork(long workID,long anotherWorkId )
+        {
+            var response = (S2C_SelFavoriteWorks)await MessageHelper.SendToServer(new C2S_SelFavoriteWorks
+            {
+                WorksId = workID,
+                AnotherWorksId = anotherWorkId
+            }) ;
+            if (!(response is { Error: ErrorCode.ERR_Success })) return false;
+            if (response.JudgingRoundRoleInfoList == null || response.JudgingRoundRoleInfoList.Count < 2)
+            {
+                return false;
+            }
+            MatchingCompetitionDataManager.Instance.MatchingRemainingTimes = GameGlobal.myNumericComponent.GetAsInt(NumericType.JudgingRoundSelNum);
+            if (MatchingLeftDataManager.Instance.LeftRoleInfo.JudgingInfo.WorksId == workID)
+            {
+                MatchingLeftDataManager.Instance.LeftRoleInfo.JudgingInfo = response.JudgingRoundRoleInfoList[0];
+                MatchingRightDataManager.Instance.RightRoleInfo.JudgingInfo = response.JudgingRoundRoleInfoList[1];
+            }
+            else
+            {
+                MatchingLeftDataManager.Instance.LeftRoleInfo.JudgingInfo = response.JudgingRoundRoleInfoList[1];
+                MatchingRightDataManager.Instance.RightRoleInfo.JudgingInfo = response.JudgingRoundRoleInfoList[0];
+            }
+            BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.BonusList));
+            return true;
+        }
+        //获取当前排行榜
+        public static async ETTask<bool> ReqCurrentRank()
+        {
+            var response = (S2C_GetCurJudgingRoundRankList)await MessageHelper.SendToServer(new C2S_GetCurJudgingRoundRankList { });
+            if (!(response is { Error: ErrorCode.ERR_Success })) return false;
+            MatchingCompetitionDataManager.Instance._currentRankList.Clear();
+            foreach (var item in response.JudgingRoundRoleInfoList)
+            {
+                MatchingPhotoWorksData data = new MatchingPhotoWorksData();
+                data.JudgingInfo = item;
+                MatchingCompetitionDataManager.Instance._currentRankList.Add(data);
+            }
+            Timers.inst.StartCoroutine(MatchingPhotoHelper.Download(MatchingCompetitionDataManager.Instance._currentRankList));
+            return true;
+        }
+        //获取往期作品集
+        public static async ETTask<bool> ReqBeforeWorks()
+        {
+            var response = (S2C_GetPreviousWorksCollection)await MessageHelper.SendToServer(new C2S_GetPreviousWorksCollection { });
+            if (!(response is { Error: ErrorCode.ERR_Success })) return false;
+            MatchingCompetitionDataManager.Instance._BeforeWorksList.Clear();
+            foreach (var item in response.WorksCollectionList)
+            {
+                MatchingWorksData data = new MatchingWorksData();
+                data.WorksInfo = item;
+                MatchingCompetitionDataManager.Instance._BeforeWorksList.Add(data);
+            }
+            Timers.inst.StartCoroutine(MatchingPhotoHelper.Download(MatchingCompetitionDataManager.Instance._BeforeWorksList));
+            return true;
+        }
+        //获取往期作品排行榜
+        public static async ETTask<bool> ReqBeforeRank(int id)
+        {
+            var response = (S2C_GetOldJudgingRoundRankList)await MessageHelper.SendToServer(new C2S_GetOldJudgingRoundRankList { JudgingRoundOpenId = id});
+            if (!(response is { Error: ErrorCode.ERR_Success })) return false;
+            MatchingCompetitionDataManager.Instance._BeforeRankList.Clear();
+            foreach (var item in response.JudgingRoundRoleInfoList)
+            {
+                MatchingPhotoWorksData data = new MatchingPhotoWorksData();
+                data.JudgingInfo = item;
+                MatchingCompetitionDataManager.Instance._BeforeRankList.Add(data);
+            }
+            Timers.inst.StartCoroutine(MatchingPhotoHelper.Download(MatchingCompetitionDataManager.Instance._BeforeRankList));
+            return true;
+        }
+
+        //搭配赛相册系协议
+        public static async ETTask<bool> ReqMatchingPhotoData()
+        {
+            var response = (S2C_GetJudgingRoundWorksList)await MessageHelper.SendToServer(new C2S_GetJudgingRoundWorksList { });
+            if (!(response is { Error: ErrorCode.ERR_Success })) return false;
+            MatchingCompetitionDataManager.Instance.MatchingPhotoInfos.Clear();
+            foreach (var item in response.JudgingRoundRoleInfoList)
+            {
+                PoemPhotoData photoData = new PoemPhotoData();
+                photoData.PictureId = item.WorksId;
+                photoData.CreationTime = item.CreationTime;
+                photoData.ToppingStatus = item.ToppingStatus;
+                photoData.PictureTempUrl = item.PictureTempUrl;
+                MatchingCompetitionDataManager.Instance.MatchingPhotoInfos.Add(photoData);
+            }
+            Timers.inst.StartCoroutine(PictureStorageHelper.Download(MatchingCompetitionDataManager.Instance.MatchingPhotoInfos));
+            return true;
+        }
+        //修改图片锁定状态
+        public static async ETTask<bool> ReqChangeLockingState(long pictureId, bool state, int sourceType)
+        {
+            S2C_UpJudgingRoundWorksLockingStatus response = null;
+            response = (S2C_UpJudgingRoundWorksLockingStatus)await MessageHelper.SendToServer(new C2S_UpJudgingRoundWorksLockingStatus() { WorksId = pictureId, Status = state });
+            if (response != null)
+            {
+                if (response.Error == ErrorCode.ERR_Success)
+                {
+                    PoemPhotoDataManager.Instance.ChangeLockingState(response.WorksId, response.Status, sourceType);
+                    EventAgent.DispatchEvent(ConstMessage.POEM_PHOTO_INFOS_CHANGE);
+
+                    return true;
+                }
+            }
+            return false;
+        }
+
+        //修改图片置顶状态
+        public static async ETTask<bool> ReqChangeToppingState(long pictureId, bool state, int sourceType)
+        {
+            S2C_UpJudgingRoundWorksToppingStatus response = null;
+            response = (S2C_UpJudgingRoundWorksToppingStatus)await MessageHelper.SendToServer(new C2S_UpJudgingRoundWorksToppingStatus() { WorksId = pictureId, Status = state });
+            if (response != null)
+            {
+                if (response.Error == ErrorCode.ERR_Success)
+                {
+
+                    PoemPhotoDataManager.Instance.ChangeToppingState(response.WorksId, response.Status, sourceType);
+                    EventAgent.DispatchEvent(ConstMessage.POEM_PHOTO_INFOS_CHANGE);
+                    return true;
+                }
+            }
+            return false;
+        }
+        //批量删除玩家相册
+        public static async ETTask<bool> ReqRemovedPhoto(List<long> pictureIds, int sourceType)
+        {
+            S2C_RemovedJudgingRoundWorks response = null;
+            response = (S2C_RemovedJudgingRoundWorks)await MessageHelper.SendToServer(new C2S_RemovedJudgingRoundWorks() { WorksIds = pictureIds });
+            if (response != null)
+            {
+                if (response.Error == ErrorCode.ERR_Success)
+                {
+                    PoemPhotoDataManager.Instance.Remove(response.WorksIds, sourceType);
+                    EventAgent.DispatchEvent(ConstMessage.POEM_PHOTO_INFOS_CHANGE);
+
+                    return true;
+                }
+            }
+            return false;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/ServerProxy/MatchingCompetitionSproxy.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: bf4e3f984eddf8343aade28bac547be1
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 16 - 1
GameClient/Assets/Game/HotUpdate/Views/ActivityThemeLuckyBox/ActivityThemeLuckyBoxView.cs

@@ -3,6 +3,7 @@ using ET;
 using FairyGUI;
 using System.Collections.Generic;
 using UI.ActivityThemeLuckyBox;
+using UnityEngine;
 
 namespace GFGGame
 {
@@ -64,7 +65,21 @@ namespace GFGGame
 
             _activityCfg = ActivityOpenCfgArray.Instance.GetCfg(_activityId);
             _ui.m_loaBg.url = ResPathUtil.GetBgImgPath(_activityCfg.res);
-
+            if(_activityId == 5)
+            {
+                _ui.m_card.target.visible = true;
+                float width = 2560;
+                float height = 1920;
+                float proportion = width / height;
+                float targetWidth = proportion * _ui.target.height;
+                _ui.m_card.m_ComCardImgRes.target.width = targetWidth;
+                _ui.m_card.m_ComCardImgRes.m_loaCard.url = ResPathUtil.GetBgImgPath("bg_jfyl","jpg");
+            }
+            else
+            {
+                _ui.m_card.target.visible = false;
+            }
+            
             UpdateEffect();
             UpdateRedDot();
             UpdateTime();

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

@@ -4,6 +4,7 @@ using UnityEngine;
 using System.Collections.Generic;
 using ET;
 using System;
+using System.Collections;
 
 namespace GFGGame
 {
@@ -184,7 +185,15 @@ namespace GFGGame
             currentIndex = CustomSuitDataManager.currentIndex;
             _ui.m_comboBox.items = CustomSuitDataManager.GetSuitPosItems();
             _ui.m_comboBox.selectedIndex = currentIndex;
-            MyDressUpHelper.PutOnSuitSavedByPos(currentIndex);
+            if(this.viewData != null && (int)this.viewData == 2)
+            {
+                MyDressUpHelper.dressUpObj.PutOnDressUpData(MatchingCompetitionDataManager.Instance.MathingDressDate);
+            }
+            else
+            {
+                MyDressUpHelper.PutOnSuitSavedByPos(currentIndex);
+            }
+            
             UpdateStepBtn(true);
 
             Timers.inst.AddUpdate(CheckGuide);
@@ -250,7 +259,6 @@ namespace GFGGame
         {
             if (!MyDressUpHelper.OnClickBtnNextStep()) return;
             UpdateStepBtn(false);
-
         }
         private void OnComboBoxChanged()
         {
@@ -503,7 +511,14 @@ namespace GFGGame
         {
             _currentList2 = null;
             currentListType = DressUpListType.List1;
-            _ui.m_comListType1.m_listType.numItems = DressUpMenuItemCfg1Array.Instance.dataArray.Length;
+            if (this.viewData == null || (int)this.viewData != 2)
+            {
+                _ui.m_comListType1.m_listType.numItems = DressUpMenuItemCfg1Array.Instance.dataArray.Length;
+            }
+            else
+            {
+                _ui.m_comListType1.m_listType.numItems = DressUpMenuItemCfg1Array.Instance.dataArray.Length - 3;
+            }
             GTween.To(_ui.target.width, listType1X, 0.5f)
                 .SetTarget(_ui.m_comListType1.target)
                 .OnUpdate((GTweener t) =>
@@ -717,6 +732,13 @@ namespace GFGGame
         {
             UI_TypeItem typeItem = UI_TypeItem.Proxy(item);
             DressUpMenuItemCfg1 item1 = DressUpMenuItemCfg1Array.Instance.dataArray[index];
+            if(this.viewData != null && (int)this.viewData == 2)
+            {
+                if(index == DressUpMenuItemCfg1Array.Instance.dataArray.Length - 4)
+                {
+                    item1 = DressUpMenuItemCfg1Array.Instance.dataArray[index+1];
+                }
+            }
             typeItem.m_icon.url = "ui://DressUp/hz_fenleitu_" + item1.id;
             typeItem.m_txtname.text = item1.name;
             //typeItem.m_imgTitle.url = "ui://DressUp/hz_iconzi_" + item1.id;
@@ -1092,9 +1114,25 @@ namespace GFGGame
             {
                 return;
             }
+            if (this.viewData != null && (int)this.viewData == 2)
+            {
+                ViewManager.Show<LoadingView>();
+                LoadingView.Instance.SetDesc("正在摆放道具...");
+                Timers.inst.StartCoroutine(UpdateLoadProgress());
+            }
             _ui.target.visible = false;
             this._sceneObject.gameObject.SetActive(false);
         }
+        private IEnumerator UpdateLoadProgress()
+        {
+            yield return new WaitForEndOfFrame();
+            LoadingView.Instance.SetProgress(100, () =>
+            {
+                ViewManager.Hide<LoadingView>();
+            }
+            );
+
+        }
         private void UpdateScene()
         {
             _ui.target.visible = true;

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

@@ -4,10 +4,12 @@ using System;
 using System.Collections;
 using System.Collections.Generic;
 using System.Drawing;
+using System.Linq;
 using UI.DressUp;
 using UnityEditor;
 using UnityEngine;
 using UnityEngine.EventSystems;
+using System.Threading.Tasks;
 
 namespace GFGGame
 {
@@ -111,7 +113,7 @@ namespace GFGGame
 
         }
 
-        protected override void OnShown()
+        protected override async void OnShown()
         {
             base.OnShown();
             Input.multiTouchEnabled = true;
@@ -138,6 +140,7 @@ namespace GFGGame
 
             _ui.m_ComSelectRes.m_comBtnTab.m_c1.selectedIndex = 0;
 
+            MatchingCompetitionDataManager.Instance.itemGameObjs.Clear();
             RefreshList(EnumPhotographType.BG);
             SetUIView();
             PhotographSceneManager.Instance.AddBgItem(ItemCfgArray.Instance.GetCfg(MyDressUpHelper.dressUpObj.bgId));
@@ -149,6 +152,11 @@ namespace GFGGame
             _ui.m_txtCount.text = string.Format("{0}/{1}", PoemGalleryDataManager.Instance.MyWorksCountOfTheme, GlobalCfgArray.globalCfg.maxGalleryWorksCount);
 
             Timers.inst.AddUpdate(CheckGuide);
+            //Timers.inst.Add(0.5f, 1, UpdateSceneTransform);
+            if(this.viewData != null && (int)this.viewData == 2)
+            {
+                await UpdateSceneTransform();
+            }  
         }
 
         /************************************************************UI界面*********************************************************/
@@ -255,16 +263,24 @@ namespace GFGGame
             switch (type)
             {
                 case EnumPhotographType.BG:
-
+                    MatchingCompetitionDataManager.Instance.DressUpBgID = itemCfg.id;
                     PhotographSceneManager.Instance.AddBgItem(itemCfg);
                     break;
 
                 case EnumPhotographType.BORDER:
+                    if (itemCfg.id != ConstItemID.BORDERID)
+                    {
+                        MatchingCompetitionDataManager.Instance.BorderID = itemCfg.id;
+                    }
+                    else
+                    {
+                        MatchingCompetitionDataManager.Instance.BorderID = 0;
+                    }  
                     PhotographSceneManager.Instance.AddBorderItem(itemCfg);
                     break;
 
                 case EnumPhotographType.NPC:
-
+                    MatchingCompetitionDataManager.Instance.NpcID = itemCfg.id;
                     PhotographSceneManager.Instance.AddNpcItem(itemCfg);
                     break;
 
@@ -279,16 +295,79 @@ namespace GFGGame
         //添加初始场景道具
         private void UpdateScene()
         {
-            ICollection keys = _equipSceneData.Keys;
-            foreach (int key in keys)
+            if (this.viewData == null || (int)this.viewData != 2)
             {
-                for (int i = 0; i < _equipSceneData[key].Count; i++)
+                ICollection keys = _equipSceneData.Keys;
+                foreach (int key in keys)
                 {
-                    ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(key);
-
-                    AddSceneItem(itemCfg, false);
+                    for (int i = 0; i < _equipSceneData[key].Count; i++)
+                    {
+                        ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(key);
+                        AddSceneItem(itemCfg, false);
+                    }
                 }
             }
+            else
+            {
+                //对搭配赛特殊处理
+                for (int i = 0; i < MatchingCompetitionDataManager.Instance.DressPropIdList.Count; i++)
+                {
+                    if(MatchingCompetitionDataManager.Instance.DressPropIdList[i] == MatchingCompetitionDataManager.Instance.roleID)
+                    {
+                        continue;
+                    }
+                    else
+                    {
+                        ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(MatchingCompetitionDataManager.Instance.DressPropIdList[i]);
+                        if (itemCfg.itemType == ConstItemType.PHOTOGRAPH && itemCfg.subType == ConstItemSubType.PHOTOGRAPH_BOREDR)
+                        {
+                            PhotographSceneManager.Instance.AddBorderItem(itemCfg);
+                        }
+                        else if(itemCfg.itemType == ConstItemType.PHOTOGRAPH && itemCfg.subType == ConstItemSubType.PHOTOGRAPH_NPC)
+                        {
+                            PhotographSceneManager.Instance.AddNpcItem(itemCfg);
+                        }
+                        else
+                        {
+                            AddSceneItem(itemCfg, true);
+                        }                
+                    }
+                }
+
+            }
+        }
+        public async Task UpdateSceneTransform()
+        {
+            //int time = 5 * (MatchingCompetitionDataManager.Instance.TransformDataList.Count+1);
+            if (MatchingCompetitionDataManager.Instance.DressUpBgID == 0)
+            {
+                PhotographSceneManager.Instance.AddBgItem(ItemCfgArray.Instance.GetCfg(180001));
+            }
+            else
+            {
+                PhotographSceneManager.Instance.AddBgItem(ItemCfgArray.Instance.GetCfg(MatchingCompetitionDataManager.Instance.DressUpBgID));
+            }
+            await Task.Delay(100);
+            if (MatchingCompetitionDataManager.Instance.BorderID != 0)
+            {
+                GameObject borderGameObj = PhotographSceneManager.Instance.sceneObject.transform.Find("Border").gameObject;
+                MatchingCompetitionDataManager.Instance.itemGameObjs.Add(borderGameObj);
+            }
+            if (MatchingCompetitionDataManager.Instance.NpcID != 0)
+            {
+                GameObject NpcGameObj = PhotographSceneManager.Instance.sceneObject.transform.Find("Scene/Npc").gameObject;
+                MatchingCompetitionDataManager.Instance.itemGameObjs.Add(NpcGameObj);
+            }
+            MatchingCompetitionDataManager.Instance.InsertGameObjectList();
+            for (int i = 0; i < MatchingCompetitionDataManager.Instance.TransformDataList.Count; i++)
+            {
+                TransformData itemdata = MatchingCompetitionDataManager.Instance.TransformDataList[i];
+                GameObject itemGObj = MatchingCompetitionDataManager.Instance.itemGameObjs[i];
+                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;
+                PhotographUtil.Instance.ChangeLayer(MatchingCompetitionDataManager.Instance.itemGameObjs[i], i * PhotographDataManager.layerCount, "up");
+            }
         }
 
         private async void AddSceneItem(ItemCfg itemCfg, bool setLayer)
@@ -666,6 +745,55 @@ namespace GFGGame
                     }
                 });
             }
+            else if (_ui.m_c1.selectedIndex == 2)
+            {
+                MatchingCompetitionDataManager.Instance.itemGameObjs = _itemGameObjs.ToList();
+                if(MatchingCompetitionDataManager.Instance.BorderID != 0)
+                {
+                    GameObject borderGameObj = PhotographSceneManager.Instance.sceneObject.transform.Find("Border").gameObject;
+                    MatchingCompetitionDataManager.Instance.itemGameObjs.Add(borderGameObj);
+                }
+                if(MatchingCompetitionDataManager.Instance.NpcID != 0)
+                {
+                    GameObject NpcGameObj = PhotographSceneManager.Instance.sceneObject.transform.Find("Scene/Npc").gameObject;
+                    MatchingCompetitionDataManager.Instance.itemGameObjs.Add(NpcGameObj);
+                }
+                MatchingCompetitionDataManager.Instance.MathingDressDate = MyDressUpHelper.dressUpObj.DressUpDataClone();
+                MatchingCompetitionDataManager.Instance.SetTransformData();
+
+                AlertUI.Show("作品已保存,是否确认上传此作品?")
+                .SetLeftButton(true, "否").SetRightButton(true, "是", async (object data) =>
+                {
+                    ViewManager.Show<ModalStatusView>("上传中...");
+                    //await MatchingCompetitionSproxy.ReqMatchingCompetitionInfo();
+                    object[] rsp = await MatchingCompetitionSproxy.UpLoadMatchingCompetitionDressData();
+                    if (rsp == null) return;
+                    byte[] bytes = tex.EncodeToJPG();
+                    if(rsp[0] == null)
+                    {
+                        ViewManager.Hide<ModalStatusView>();
+                        PromptController.Instance.ShowFloatTextPrompt("网络异常,上传失败!");
+                        return;
+                    }
+                    bool pushResult = await PictureStorageHelper.PushToHWCloud(rsp[0].ToString(), bytes);
+                    if (!pushResult)
+                    {
+                        ViewManager.Hide<ModalStatusView>();
+                        PromptController.Instance.ShowFloatTextPrompt("网络异常,上传失败!");
+                        return;
+                    }
+
+                    bool result = await MatchingCompetitionSproxy.UploadSuccess();
+                    if (result)
+                    {
+                        ViewManager.Hide<ModalStatusView>();
+                        PromptController.Instance.ShowFloatTextPrompt("上传成功!");
+                        OnClickBtnBack();
+                        ViewManager.GoBackFrom(typeof(DressUpView).FullName);
+                    }
+                    ViewManager.Hide<ModalStatusView>();
+                });
+            }
         }
         private void OnClickBtnBack()
         {
@@ -692,6 +820,7 @@ namespace GFGGame
             rotationGesture = null;
             _ui.m_c1.selectedIndex = 0;
             Timers.inst.Remove(CheckGuide);
+            //Timers.inst.Remove(UpdateSceneTransform);
         }
 
         private void CheckGuide(object param)

+ 25 - 3
GameClient/Assets/Game/HotUpdate/Views/InstanceZones/InstanceZonesView.cs

@@ -118,7 +118,7 @@ namespace GFGGame
 
         private void CheckFunOpen()
         {
-            _ui.m_btnPoem.m_loaLockIcon.visible = !FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(PoemPhotoView).Name, false);
+            //_ui.m_btnPoem.m_loaLockIcon.visible = !FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(MatchingCompetitionGatheringView).Name, false);
             _ui.m_btnStudio.m_loaLockIcon.visible = !FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(StudioView).Name, false);
             _ui.m_btnTravel.m_loaLockIcon.visible = !FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(TravelView).Name, false);
             _ui.m_btnField.m_loaLockIcon.visible = !FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(TimeTracingShowView).Name, false);
@@ -140,9 +140,31 @@ namespace GFGGame
             ViewManager.Show<TravelView>();
         }
 
-        private void OnClickBtnPoem()
+        private async void OnClickBtnPoem()
         {
-            ViewManager.Show<PoemPhotoView>();
+            if (MatchingCompetitionDataManager.Instance.MatchingCompetitionSeason > 0)
+            {
+                if (MatchingCompetitionDataManager.Instance.MatchingState == 1)
+                {
+                    ViewManager.Show<MatchingCompetitionGatheringView>();
+                }
+                else
+                {
+                    bool result = await MatchingCompetitionSproxy.ReqGetOnePlayers();
+                    if (result)
+                    {
+                        ViewManager.Show<MatchingCompetitionUpLoadView>();
+                    }
+                    else
+                    {
+                        PromptController.Instance.ShowFloatTextPrompt("暂无玩家数据!");
+                    }
+                }
+            }
+            else
+            {
+                PromptController.Instance.ShowFloatTextPrompt("搭配赛未开启!");
+            }
         }
 
         private void OnClickBtnField()

+ 21 - 4
GameClient/Assets/Game/HotUpdate/Views/MainUI/MainUIView.cs

@@ -39,6 +39,7 @@ namespace GFGGame
         private GButton _btnBag;
         private GButton _btnActivityDay7;
         private GButton _btnGallery;
+        private GButton _btnPoem;
         private List<EffectUI> _effectUIList = new List<EffectUI>();
         private UI_ButtonModle1[] _btns;
         private bool firstIn;
@@ -98,6 +99,7 @@ namespace GFGGame
             _btnTuJian = _ui.m_list.GetChild("btnTuJian").asButton;
             _btnBag = _ui.m_list.GetChild("btnBag").asButton;
             _btnGallery = _ui.m_list.GetChild("btnGallery").asButton;
+            _btnPoem = _ui.m_list.GetChild("btnPoem").asButton;
 
             _btnActivityDay7 = _ui.m_btnActivityDay7.target;
 
@@ -140,6 +142,7 @@ namespace GFGGame
             _ui.m_btnSevenReward.target.onClick.Add(OnClickSevenReward);
             _ui.m_btnPearRebate.target.onClick.Add(OnClickPearRabate);
             _btnGallery.onClick.Add(OnClickGallery);
+            _btnPoem.onClick.Add(OnClickPoem);
 
             _ui.m_comListAd.m_listAd.itemRenderer = RenderListAdItem;
             _ui.m_comListAd.m_listAd.SetVirtualAndLoop();
@@ -172,6 +175,7 @@ namespace GFGGame
             EventAgent.AddEventListener(ConstMessage.NEW_YEAR_RED_ENVELOPE_INFO, RefreshBtnNewYearRedEnvelope);
             EventAgent.AddEventListener(ConstMessage.ACTIVITY_RED_CHANGE, UpdateActivityRedDot);
             EventAgent.AddEventListener(ConstMessage.STORY_LEVEL_CHANGE, UpdateNewPlayerReward); 
+            EventAgent.AddEventListener(ConstMessage.CARD_INFO, CardBgRes);
         }
 
         protected override void RemoveEventListener()
@@ -188,6 +192,7 @@ namespace GFGGame
             EventAgent.RemoveEventListener(ConstMessage.ACTIVITY_RED_CHANGE, UpdateActivityRedDot);
             EventAgent.RemoveEventListener(ConstMessage.RESET_DAILY_DATA, ResetDailyData);
             EventAgent.RemoveEventListener(ConstMessage.STORY_LEVEL_CHANGE, UpdateNewPlayerReward);
+            EventAgent.RemoveEventListener(ConstMessage.CARD_INFO, CardBgRes);
         }
 
         protected override void OnShown()
@@ -512,6 +517,10 @@ namespace GFGGame
         {
             ViewManager.Show<PoemGalleryView>();
         }
+        private void OnClickPoem()
+        {
+            ViewManager.Show<PoemPhotoView>();
+        }
 
         private void OnClickBtnLeague()
         {
@@ -944,23 +953,31 @@ namespace GFGGame
             }
             if(MainDataManager.Instance.CardBgID == 0)
             {
-                _ui.m_cardBgIcon.m_ComCardImgRes.m_loaCard.url = "";
+                _ui.m_cardBgIcon.target.visible = false;
+                _ui.m_cardBg.target.visible = false;
                 return;
             }
             ItemCfg cardItem = ItemCfgArray.Instance.GetCfg(MainDataManager.Instance.CardBgID);
             string resName = cardItem.res;
             string resPath = ResPathUtil.GetCardAnimationPath(resName);
+            var _cardData = CardDataManager.GetCardDataById(MainDataManager.Instance.CardBgID);
             Vector2 omCardImgResTargetSize = new Vector2((ViewGlobal.GetRealTopOffset() + _ui.target.height) * CardDataManager.CardResInitWidth / CardDataManager.CardResInitHight, (ViewGlobal.GetRealTopOffset() + _ui.target.height));
-            if (YooAssets.CheckResExist(resPath))
+            if (_cardData != null && _cardData.itemCfg.animationCardStar > 0
+                && _cardData.star >= _cardData.itemCfg.animationCardStar
+                && YooAssets.CheckResExist(resPath))
             {
                 await LoadManager.Instance.CheckResExsitedOrDownload(resPath);
                 _effectUI1 = new EffectUI();
-                _effectUI1.Reset(_ui.m_cardBg, resName, resName, 110, EffectUIType.Card);
+                _effectUI1.Reset(_ui.m_cardBg.m_comCardHolder.m_holder, resName, resName, 110, EffectUIType.Card);
                 float offY = GRoot.inst.height / 1000;
-                _ui.m_cardBg.y = _ui.m_cardBg.y + (offY*70);
+                _ui.m_cardBg.target.visible = true;
+                _ui.m_cardBgIcon.target.visible = false;
+                _ui.m_cardBg.m_comCardHolder.m_holder.y = _ui.m_cardBg.m_comCardHolder.m_holder.y + (offY*50);
             }
             else
             {
+                _ui.m_cardBg.target.visible = false;
+                _ui.m_cardBgIcon.target.visible = true;
                 _ui.m_cardBgIcon.m_ComCardImgRes.target.size = omCardImgResTargetSize;
                 _ui.m_cardBgIcon.m_ComCardImgRes.m_loaCard.url = ResPathUtil.GetCardPath(resName);
             }

+ 8 - 0
GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 39fd3a8c0b9ba9643b509701937843c2
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 250 - 0
GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionDetailView.cs

@@ -0,0 +1,250 @@
+using System;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using ET;
+using FairyGUI;
+using UI.MatchingCompetition;
+using UI.DressUp;
+using UnityEngine;
+
+namespace GFGGame
+{
+    class MatchingCompetitionDetailView : BaseWindow
+    {
+        private UI_MatchingCompetitionDetailUI _ui;
+        private GameObject _sceneObject;
+        private int nameIndex = 0;
+        private List<string> nameList = new List<string>() { "饰品","外套","鞋子","袜子","内搭","上衣","下装","手持物","妆容","道具","背景","拍照" };
+        private List<int> IdList = new List<int>();
+        private List<int> AllIdList = new List<int>();
+        public override void Dispose()
+        {
+            if (_sceneObject != null)
+            {
+                PrefabManager.Instance.Restore(_sceneObject);
+                _sceneObject = null;
+            }
+            if (_ui != null)
+            {
+                _ui.Dispose();
+            }
+            _ui = null;
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_MatchingCompetitionDetailUI.PACKAGE_NAME;
+            _ui = UI_MatchingCompetitionDetailUI.Create();
+            this.viewCom = _ui.target;
+            isReturnView = true;
+            isfullScreen = true;
+
+            _ui.m_nameList.itemRenderer = ListType1Item;
+            _ui.m_dressList.itemRenderer = ListItemType2Render;
+            _ui.m_BtnBack.onClick.Add(OnClickBtnBack);
+            _ui.m_btn.onClick.Add(OnClickBtn);
+        }
+        protected override void OnShown()
+        {
+            base.OnShown();
+            //if (_sceneObject == null)
+            //{
+            //    _sceneObject = PrefabManager.Instance.InstantiateSync(ResPathUtil.GetPrefabPath("ScenePhotograph"));
+            //    MyDressUpHelper.dressUpObj.setSceneObj(_sceneObject, false, false);
+            //}
+            AllIdList = this.viewData as List<int>;
+            _ui.m_dressList.visible = false;
+            UpdateDress();
+            UpdateView();
+        }
+
+        protected override void OnHide()
+        {
+            if (_sceneObject != null)
+            {
+                PrefabManager.Instance.Restore(_sceneObject);
+                _sceneObject = null;
+            }
+            base.OnHide();
+        }
+
+        protected override void AddEventListener()
+        {
+            base.AddEventListener();
+            EventAgent.AddEventListener(ConstMessage.DOWNLOAD_FINISH, UpdateDress);
+        }
+        protected override void RemoveEventListener()
+        {
+            base.RemoveEventListener();
+            EventAgent.RemoveEventListener(ConstMessage.DOWNLOAD_FINISH, UpdateDress);
+        }
+        private void UpdateView()
+        {
+            _ui.m_nameList.numItems = DressUpMenuItemCfg1Array.Instance.dataArray.Length - 1;
+        }
+        private void UpdateDress()
+        {
+            _ui.m_playerImage.texture = MatchingCompetitionDataManager.Instance.DetailNtexture;
+            ////这里要换成获取其他玩家数据,改成用图片
+            //    MatchingCompetitionDataManager.Instance.itemGameObjs.Clear();
+            //    PhotographDataManager.Instance.itemGameObjs.Clear();
+            //    if (_sceneObject == null)
+            //    {
+            //        _sceneObject = PrefabManager.Instance.InstantiateSync(ResPathUtil.GetPrefabPath("ScenePhotograph"));
+            //    }
+            //    PhotographSceneManager.Instance.sceneObject = _sceneObject;
+            //    if (MatchingCompetitionDataManager.Instance.DressUpBgID == 0)
+            //    {
+            //        PhotographSceneManager.Instance.AddBgItem(ItemCfgArray.Instance.GetCfg(180001));
+            //    }
+            //    else
+            //    {
+            //        PhotographSceneManager.Instance.AddBgItem(ItemCfgArray.Instance.GetCfg(MatchingCompetitionDataManager.Instance.DressUpBgID));
+            //    }
+            //    PhotographSceneManager.Instance.AddBodyItem();
+            //    GameObject bodyParent = _sceneObject.transform.Find("Scene/Role").gameObject;
+            //    PhotographDataManager.Instance.dressUpObj.setSceneObj(_sceneObject, false, true, bodyParent, false, null);
+            //    PhotographDataManager.Instance.dressUpObj.PutOnDressUpData(MatchingCompetitionDataManager.Instance.MathingDressDate);
+
+            //    //对搭配赛特殊处理
+            //    for (int i = 0; i < MatchingCompetitionDataManager.Instance.DressPropIdList.Count; i++)
+            //    {
+            //        if (MatchingCompetitionDataManager.Instance.DressPropIdList[i] == MatchingCompetitionDataManager.Instance.roleID)
+            //        {
+            //            continue;
+            //        }
+            //        else
+            //        {
+            //            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(MatchingCompetitionDataManager.Instance.DressPropIdList[i]);
+            //            MatchingCompetitionDataManager.Instance.AddSceneItem(itemCfg, true);
+            //        }
+            //    }
+            //    await Task.Delay(100);
+            //    MatchingCompetitionDataManager.Instance.InsertGameObjectList();
+            //    for (int i = 0; i < MatchingCompetitionDataManager.Instance.TransformDataList.Count; i++)
+            //    {
+            //        TransformData itemdata = MatchingCompetitionDataManager.Instance.TransformDataList[i];
+            //        GameObject itemGObj = MatchingCompetitionDataManager.Instance.itemGameObjs[i];
+            //        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;
+            //        PhotographUtil.Instance.ChangeLayer(MatchingCompetitionDataManager.Instance.itemGameObjs[i], i * PhotographDataManager.layerCount, "up");
+            //    }
+        }
+        //private void ListItemType1Renderer(int index, GObject obj)
+        //{
+        //    UI_ComponentName item = UI_ComponentName.Proxy(obj);
+        //    if(index == DressUpMenuItemCfg1Array.Instance.dataArray.Length - 1)
+        //    {
+        //        item.m_name.text = "拍照";
+        //    }
+        //    else
+        //    {
+        //        item.m_name.text = DressUpMenuItemCfg1Array.Instance.dataArray[index].name;
+        //    }
+            
+        //    if (item.target.data == null)
+        //    {
+        //        item.target.onClick.Add(OnClickListType1Item);
+        //    }
+        //    item.target.data = index;
+        //    UI_ComponentName.ProxyEnd();
+        //}
+        private void ListType1Item(int index, GObject item)
+        {
+            UI_MatchingTypeItem typeItem = UI_MatchingTypeItem.Proxy(item);
+            DressUpMenuItemCfg1 item1 = DressUpMenuItemCfg1Array.Instance.dataArray[index];
+            if(item1.id >= 12)
+            {
+                item1 = DressUpMenuItemCfg1Array.Instance.dataArray[index + 1];
+            }
+            typeItem.m_icon.url = "ui://MatchingCompetition/hz_fenleitu_" + item1.id;
+            typeItem.m_txtname.text = item1.name;
+            //typeItem.m_imgTitle.url = "ui://DressUp/hz_iconzi_" + item1.id;
+            typeItem.m_imgNeed.visible = false;
+            typeItem.m_imgNew.visible = false;
+            if (item.data == null)
+            {
+                item.onClick.Add(OnClickListType1Item);
+            }
+            item.data = item1;
+            UI_MatchingTypeItem.ProxyEnd();
+        }
+        private void ListItemType2Render(int index, GObject obj)
+        {
+            UI_MatchingDressItem item = UI_MatchingDressItem.Proxy(obj);
+            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(IdList[index]);
+            SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(IdList[index]);
+            if (itemCfg != null)
+            {
+                item.m_icon.url = ResPathUtil.GetIconPath(itemCfg.res, "png");
+                item.m_txtTitle.text = itemCfg.name;
+            }
+            else if (suitCfg != null)
+            {
+                item.m_icon.url = ResPathUtil.GetIconPath(suitCfg.res, "png");
+                item.m_txtTitle.text = suitCfg.name;
+            }
+            UI_MatchingDressItem.ProxyEnd();
+        }
+        private void OnClickListType1Item(EventContext context)
+        {
+            GObject item = context.sender as GObject;
+            DressUpMenuItemCfg1 index = (DressUpMenuItemCfg1)item.data;
+            IdList.Clear();
+            foreach (var idItem in AllIdList)
+            {
+                ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(idItem);
+                SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(idItem);
+                if(itemCfg == null && suitCfg == null)
+                {
+                        continue;                  
+                }
+                else if(itemCfg != null)
+                {
+                    if (idItem == 10000 || idItem == 20000 || idItem == 30000 || idItem == 50000 || idItem == 60000)
+                    {
+                        continue;
+                    }
+                    if (index.type != 0)
+                    {
+                        if (itemCfg.subType == index.type)
+                        {
+                            IdList.Add(idItem);
+                        }
+                    }
+                    else
+                    {
+                        foreach (var itemSubMenus in index.subMenusArr)
+                        {
+                            if (DressUpMenuItemCfg2Array.Instance.dataArray[(itemSubMenus - 1)].type == itemCfg.subType)
+                            {
+                                IdList.Add(idItem);
+                            }
+                        }
+                    }
+                }
+                else if (index.type == 25 && suitCfg != null)
+                {
+                    IdList.Add(idItem);
+                }
+            }
+            _ui.m_dressList.numItems = IdList.Count;
+            _ui.m_dressList.visible = true;
+            _ui.m_nameList.visible = false;
+        }
+
+        private void OnClickBtn(EventContext context)
+        {
+            _ui.m_nameList.visible = true;
+            _ui.m_dressList.visible = false;
+        }
+
+        private void OnClickBtnBack()
+        {
+            ViewManager.GoBackFrom(typeof(MatchingCompetitionDetailView).FullName);
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionDetailView.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 68290f9885d151546bbc8d5e33839426
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 134 - 0
GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionGatheringView.cs

@@ -0,0 +1,134 @@
+using System;
+using System.Collections.Generic;
+using ET;
+using FairyGUI;
+using UI.MatchingCompetition;
+using UnityEngine;
+
+namespace GFGGame
+{
+    //搭配赛集合期间
+    class MatchingCompetitionGatheringView : BaseWindow
+    {
+        private UI_MatchingCompetitionGatheringUI _ui;
+        private ValueBarController _valueBarController;
+        private int SuitID;
+        private EffectUI _effectUI1;
+
+        public override void Dispose()
+        {
+            EffectUIPool.Recycle(_effectUI1);
+            _effectUI1 = null;
+
+            if (_valueBarController != null)
+            {
+                _valueBarController.Dispose();
+                _valueBarController = null;
+            }
+            if (_ui != null)
+            {
+                _ui.Dispose();
+            }
+            _ui = null;
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_MatchingCompetitionGatheringUI.PACKAGE_NAME;
+            _ui = UI_MatchingCompetitionGatheringUI.Create();
+            this.viewCom = _ui.target;
+            isReturnView = true;
+            isfullScreen = true;
+
+            _ui.m_BtnBack.onClick.Add(OnClickBtnBack);
+            _ui.m_btnUploadWorks.onClick.Add(OnClickBtnUpload);
+            _ui.m_btnShop.onClick.Add(OnClickBtnShop);
+            _ui.m_ruleBtn.onClick.Add(MatchingCompetitionDataManager.Instance.OnClickBtnRule);
+        }
+        protected override void AddEventListener()
+        {
+            base.AddEventListener();
+        }
+        protected override void OnShown()
+        {
+            base.OnShown();
+            _ui.m_bg.url = ResPathUtil.GetBgImgPath("pxs_bj");
+            _ui.m_c1.selectedIndex = 1;
+            JudgingRoundOpenCfg judgingCfg = JudgingRoundOpenCfgArray.Instance.dataArray[MatchingCompetitionDataManager.Instance.MatchingCompetitionSeason - 1];
+            SuitID = judgingCfg.ShowSuit;
+            _ui.m_titleText.text = judgingCfg.Name;
+            SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(SuitID);
+            _ui.m_suitName.text = suitCfg.name;
+            UpdateView();
+            Timers.inst.AddUpdate(UpdateTime);
+        }
+
+        protected override void OnHide()
+        {
+
+            DressUpObjUI dressUpObjUI = _ui.m_suitShow.data as DressUpObjUI;
+            if (dressUpObjUI != null)
+            {
+                dressUpObjUI.Dispose();
+            }
+            _ui.m_suitShow.data = null;
+            base.OnHide();
+            Timers.inst.Remove(UpdateTime);
+        }
+
+        protected override void RemoveEventListener()
+        {
+            base.RemoveEventListener();
+        }
+        private void UpdateView()
+        {
+            if (true)
+            {
+                DressUpObjUI dressUpObjUI;
+                if (_ui.m_suitShow.data == null)
+                {
+                    _ui.m_suitShow.data = new DressUpObjUI("SceneSuitFoster");
+                }
+                bool showAction = SuitCfgArray.Instance.CheckSuitHasAction(SuitID) && DressUpMenuSuitDataManager.CheckSuitHasActionRes(SuitID);
+                dressUpObjUI = _ui.m_suitShow.data as DressUpObjUI;
+                dressUpObjUI.ResetSceneObj(100, false, true, null, false);
+                dressUpObjUI.dressUpObj.PutOnSuitCfg(SuitID, showAction, new int[] { ConstDressUpItemType.BEI_JING }, false, false);
+                dressUpObjUI.UpdateWrapper(_ui.m_suitShow);
+            }
+        }
+        private void UpdateTime(object param = null)
+        {
+            long endTime = MatchingCompetitionDataManager.Instance.MatchingEndTimes;
+            long curTime = TimeHelper.ServerNow();
+            if (MatchingCompetitionDataManager.Instance.MatchingState != 1)
+            {
+                Timers.inst.Remove(UpdateTime);
+                PromptController.Instance.ShowFloatTextPrompt("投稿时间已到!");
+                ViewManager.GoBackFrom(typeof(MatchingCompetitionGatheringView).FullName);
+                return;
+            }
+            if (endTime < curTime + 1)
+            {
+                Timers.inst.Remove(UpdateTime);
+                return;
+            }
+            TimeUtil.FormattingTime(curTime, endTime, out int num, out string str);
+            _ui.m_timeText.text = "投稿剩余时间:" + TimeUtil.FormattingTimeTo_DDHHmm(endTime - curTime);
+        }
+        private void OnClickBtnBack()
+        {
+            ViewManager.GoBackFrom(typeof(MatchingCompetitionGatheringView).FullName);
+        }
+        private void OnClickBtnUpload()
+        {
+            ViewManager.Show<DressUpView>(2, false);
+        }
+        private void OnClickBtnShop()
+        {
+            ViewManager.Show<StoreView>(new object[] { ConstStoreTabId.STORE_EXCHANGE, 3 });
+        }
+
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionGatheringView.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 51052747b3b1fb546b8fbe7b25db49aa
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

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

@@ -0,0 +1,135 @@
+using System;
+using System.Collections.Generic;
+using ET;
+using FairyGUI;
+using UI.MatchingCompetition;
+using UnityEngine;
+
+namespace GFGGame
+{
+    class MatchingCompetitionRankView : BaseWindow
+    {
+        private UI_MatchingCompetitionRankUI _ui;
+        private int _currentIndex = 0;
+        public override void Dispose()
+        {
+            if (_ui != null)
+            {
+                _ui.Dispose();
+            }
+            _ui = null;
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_MatchingCompetitionRankUI.PACKAGE_NAME;
+            _ui = UI_MatchingCompetitionRankUI.Create();
+            this.viewCom = _ui.target;
+            isReturnView = true;
+            isfullScreen = true;
+
+            _ui.m_RankList.itemRenderer = RenderRankList;
+            _ui.m_BtnBack.onClick.Add(OnClickBtnBack);
+            _ui.m_btnBefore.onClick.Add(OnClickBtnBefore);
+            _ui.m_btnLook.onClick.Add(OnClickBtnLook);
+            _ui.m_ruleBtn.onClick.Add(MatchingCompetitionDataManager.Instance.OnClickBtnRule);
+        }
+        protected override void OnShown()
+        {
+            base.OnShown();
+            _ui.m_bg.url = ResPathUtil.GetBgImgPath("pxs_bj");
+            _ui.m_titleText.text = JudgingRoundOpenCfgArray.Instance.dataArray[MatchingCompetitionDataManager.Instance.MatchingCompetitionSeason - 1].Name;
+            UpdateView();
+            UpdateHead();
+        }
+
+        protected override void OnHide()
+        {
+            base.OnHide();
+        }
+        protected override void AddEventListener()
+        {
+            base.AddEventListener();
+            EventAgent.AddEventListener(ConstMessage.DOWNLOAD_FINISH, UpdateView);
+        }
+        protected override void RemoveEventListener()
+        {
+            base.RemoveEventListener();
+            EventAgent.RemoveEventListener(ConstMessage.DOWNLOAD_FINISH, UpdateView);
+        }
+        private void UpdateView()
+        {
+            if(MatchingCompetitionDataManager.Instance._currentRankList.Count > 0)
+            {
+                MatchingPhotoWorksData otherInfo = MatchingCompetitionDataManager.Instance._currentRankList[0];
+                _ui.m_playerImage.texture = otherInfo.Ntexture;
+            }
+            else
+            {
+                _ui.m_playerImage.texture = null;
+            }
+            _currentIndex = 0;
+            _ui.m_RankList.numItems = MatchingCompetitionDataManager.Instance._currentRankList.Count;
+        }
+        private void UpdateHead()
+        {
+            RoleInfoManager.Instance.UpdateHead(_ui.m_playerHead.m_head, RoleDataManager.headId, RoleDataManager.headBorderId);
+            _ui.m_playerHead.m_nameText.text = RoleDataManager.roleName.ToString();
+            _ui.m_playerHead.m_countText.text = MatchingCompetitionDataManager.Instance.myWorks.Score.ToString();
+            MatchingCompetitionDataManager.Instance.SetNumToRank(MatchingCompetitionDataManager.Instance.myWorks.Rank,_ui.m_playerHead.m_RankIndex);
+        }
+        private void RenderRankList(int index, GObject obj)
+        {
+            UI_Component3 item = UI_Component3.Proxy(obj);
+            MatchingPhotoWorksData otherdata = MatchingCompetitionDataManager.Instance._currentRankList[index];
+            JudgingRoundRoleInfo otherInfo = otherdata.JudgingInfo;
+            otherInfo.Rank = index + 1;
+            RoleInfoManager.Instance.UpdateHead(item.m_head, otherInfo.HeadItemId, otherInfo.HeadBorderItemId);
+            item.m_nameText.text = otherInfo.RoleName.ToString();
+            item.m_countText.text = otherInfo.Score.ToString();
+            MatchingCompetitionDataManager.Instance.SetNumToRank(otherInfo.Rank, item.m_RankIndex);
+            if(item.target.data == null)
+            {
+                item.target.onClick.Add(OnClickBtnItem);
+            }
+            item.target.data = index;
+            UI_Component3.ProxyEnd();
+        }
+        private void OnClickBtnItem(EventContext context)
+        {
+            GObject item = context.sender as GObject;
+            int index = (int)item.data; 
+            _currentIndex = index;
+            MatchingPhotoWorksData otherInfo = MatchingCompetitionDataManager.Instance._currentRankList[index];
+            _ui.m_playerImage.texture = otherInfo.Ntexture;
+        }
+        private void OnClickBtnBack()
+        {
+            ViewManager.GoBackFrom(typeof(MatchingCompetitionRankView).FullName);
+        }
+        private async void OnClickBtnBefore()
+        {
+            bool result = await MatchingCompetitionSproxy.ReqBeforeWorks();
+            if(result)
+            {
+                ViewManager.Show<MatchingCompetitionWorksView>();
+            }
+            else
+            {
+                PromptController.Instance.ShowFloatTextPrompt("暂无往期数据!");
+            }
+        }
+        private void OnClickBtnLook()
+        {
+            List<int> AllIdList = new List<int>();
+            foreach (var info in MatchingCompetitionDataManager.Instance._currentRankList[_currentIndex].JudgingInfo.CollocationInfoList)
+            {
+                AllIdList.Add(info.ItemId);
+            }
+            MatchingCompetitionDataManager.Instance.DetailNtexture = MatchingCompetitionDataManager.Instance._currentRankList[_currentIndex].Ntexture;
+            ViewManager.Show<MatchingCompetitionDetailView>(AllIdList);
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionRankView.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 3483b8ceae478b24d9ed420e6cc6fcd5
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 89 - 0
GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionRuleTipsView.cs

@@ -0,0 +1,89 @@
+using System;
+using System.Collections.Generic;
+using ET;
+using FairyGUI;
+using UI.MatchingCompetition;
+using UnityEngine;
+
+namespace GFGGame
+{
+    class MatchingCompetitionRuleTipsView : BaseWindow
+    {
+        private UI_MatchingCompetitionRuleTips _ui;
+        private int Season = 1;
+        public override void Dispose()
+        {
+            if (_ui != null)
+            {
+                _ui.Dispose();
+            }
+            _ui = null;
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_MatchingCompetitionRuleTips.PACKAGE_NAME;
+            _ui = UI_MatchingCompetitionRuleTips.Create();
+            this.viewCom = _ui.target;
+            modal = true;
+            this.viewCom.Center();
+            viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;
+
+            _ui.m_rewardList.itemRenderer =  RewardItemRender;
+        }
+        protected override void AddEventListener()
+        {
+            base.AddEventListener();
+        }
+        protected override void OnShown()
+        {
+            base.OnShown();
+            Season = MatchingCompetitionDataManager.Instance.MatchingCompetitionSeason;
+            _ui.m_rewardList.numItems = JudgingRoundRewardCfgArray.Instance.dataArray.Length;
+            string desc = TextDescCfgArray.Instance.GetCfg(300033).text;
+            _ui.m_descText.text = desc;
+        }
+
+        protected override void OnHide()
+        {
+            base.OnHide();
+        }
+
+        protected override void RemoveEventListener()
+        {
+            base.RemoveEventListener();
+        }
+        private void RewardItemRender(int index, GObject obj)
+        {
+            UI_MatchingCompetitionRewardItem item = UI_MatchingCompetitionRewardItem.Proxy(obj);
+            JudgingRoundRewardCfg judginRewardCfg = JudgingRoundRewardCfgArray.Instance.dataArray[index];
+            if (index < 10)
+            {
+                item.m_rankIndex.text = "第" + judginRewardCfg.desc + "名";
+            }
+            else
+            {
+                item.m_rankIndex.text = judginRewardCfg.desc;
+            }
+            if (item.m_rewardList.data == null)
+            {
+                item.m_rewardList.itemRenderer = SpecialRewardRender;
+            }
+            item.m_rewardList.data = judginRewardCfg.RewardArr;
+            item.m_rewardList.numItems = judginRewardCfg.RewardArr.Length;
+            UI_MatchingCompetitionRewardItem.ProxyEnd();
+        }
+        private static void SpecialRewardRender(int index, GObject obj)
+        {
+            var item = (int[][])obj.parent.data;
+            var itemInfo = item[index];
+            var itemData = ItemUtil.createItemData(itemInfo);
+            var itemView = new ItemView(obj as GComponent);
+            obj.data ??= itemView;
+            itemView.SetData(itemData);
+            itemView.ChangeTxtCountStyle();
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionRuleTipsView.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 1c783943a93f52d44b6ed11d1540a15b
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 323 - 0
GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionSelectView.cs

@@ -0,0 +1,323 @@
+using System;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using ET;
+using FairyGUI;
+using UI.MatchingCompetition;
+using UnityEngine;
+using UnityEngine.UI;
+
+namespace GFGGame
+{
+    class MatchingCompetitionSelectView : BaseWindow
+    {
+        private UI_MatchingCompetitionSelectUI _ui;
+        private int _seasonIndex = 0;
+        private bool isRefresh = false;
+        private JudgingRoundOpenCfg judgingCfg;
+        private GameObject _sceneObjectLeft;
+        private GameObject _sceneObjectRight;
+        public override void Dispose()
+        {
+            if (_ui != null)
+            {
+                _ui.Dispose();
+            }
+            if (_sceneObjectLeft != null)
+            {
+                PrefabManager.Instance.Restore(_sceneObjectLeft);
+                _sceneObjectLeft = null;
+            }
+            if (_sceneObjectRight != null)
+            {
+                PrefabManager.Instance.Restore(_sceneObjectRight);
+                _sceneObjectRight = null;
+            }
+            _ui = null;
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_MatchingCompetitionSelectUI.PACKAGE_NAME;
+            _ui = UI_MatchingCompetitionSelectUI.Create();
+            this.viewCom = _ui.target;
+            isReturnView = true;
+            isfullScreen = true;
+
+            _ui.m_BtnBack.onClick.Add(OnClickBtnBack);
+            _ui.m_select1.target.onClick.Add(OnClickBtnSelect1);
+            _ui.m_select2.target.onClick.Add(OnClickBtnSelect2);
+            _ui.m_ruleBtn.onClick.Add(MatchingCompetitionDataManager.Instance.OnClickBtnRule);
+        }
+        protected override void OnShown()
+        {
+            base.OnShown();
+            _ui.m_bg.url = ResPathUtil.GetBgImgPath("pxs_bj");
+            _ui.m_BtnBack.touchable = true;
+            _ui.m_titleText.text = JudgingRoundOpenCfgArray.Instance.dataArray[MatchingCompetitionDataManager.Instance.MatchingCompetitionSeason - 1].Name;
+            //isRefresh = (bool)this.viewData;       
+            judgingCfg = JudgingRoundOpenCfgArray.Instance.GetCfg(MatchingCompetitionDataManager.Instance.MatchingCompetitionSeason);
+            UpdateView();
+            UpdateDressLeft();
+            ViewManager.Hide<ModalStatusView>();
+        }
+
+        protected override void OnHide()
+        {
+            if (_sceneObjectLeft != null)
+            {
+                PrefabManager.Instance.Restore(_sceneObjectLeft);
+                _sceneObjectLeft = null;
+            }
+            if (_sceneObjectRight != null)
+            {
+                PrefabManager.Instance.Restore(_sceneObjectRight);
+                _sceneObjectRight = null;
+            }
+            base.OnHide();
+        }
+        protected override void AddEventListener()
+        {
+            base.AddEventListener();
+            //EventAgent.AddEventListener(ConstMessage.DOWNLOAD_FINISH, UpdatePlayer);
+            //EventAgent.AddEventListener(ConstMessage.DOWNLOAD_FINISH, UpdateDressLeft);
+        }
+        protected override void RemoveEventListener()
+        {
+            base.RemoveEventListener();
+            //EventAgent.RemoveEventListener(ConstMessage.DOWNLOAD_FINISH, UpdatePlayer);
+            //EventAgent.RemoveEventListener(ConstMessage.DOWNLOAD_FINISH, UpdateDressLeft);
+        }
+        private async void UpdateDressLeft()
+        {
+            //ViewManager.Show<ModalStatusView>("获取搭配数据中...");
+            MatchingLeftDataManager.Instance.itemGameObjs.Clear();
+            PhotographDataManager.Instance.itemGameObjs.Clear();
+            PhotographDataManager.Instance.dressUpObj?.Dispose();
+            PhotographDataManager.Instance.dressUpObj = new DressUpObj();
+            if (_sceneObjectLeft == null)
+            {
+                _sceneObjectLeft = PrefabManager.Instance.InstantiateSync(ResPathUtil.GetPrefabPath("ScenePhotograph"));
+                // 创建render texture
+                renderTexureLeft = new RenderTexture((int)_ui.m_playerShow1.target.width, (int)_ui.m_playerShow2.target.height, 24);
+
+                // 换装父节点 + 相机            
+                Camera camera = _sceneObjectLeft.transform.Find("Camera").GetComponent<Camera>();
+                camera.gameObject.SetActive(true);
+                camera.targetTexture = renderTexureLeft;
+                // 创建RawImg
+                
+            }
+
+            PhotographSceneManager.Instance.sceneObject = _sceneObjectLeft;
+            if (MatchingLeftDataManager.Instance.DressUpBgID == 0)
+            {
+                PhotographSceneManager.Instance.AddBgItem(ItemCfgArray.Instance.GetCfg(180001));
+            }
+            else
+            {
+                PhotographSceneManager.Instance.AddBgItem(ItemCfgArray.Instance.GetCfg(MatchingLeftDataManager.Instance.DressUpBgID));
+            }
+            PhotographSceneManager.Instance.AddBodyItem();
+            GameObject bodyParent = _sceneObjectLeft.transform.Find("Scene/Role").gameObject;
+            PhotographDataManager.Instance.dressUpObj.setSceneObj(_sceneObjectLeft, false, true, bodyParent, false, null);
+            PhotographDataManager.Instance.dressUpObj.PutOnDressUpData(MatchingLeftDataManager.Instance.MathingDressDate);
+
+            //对搭配赛特殊处理
+            for (int i = 0; i < MatchingLeftDataManager.Instance.DressPropIdList.Count; i++)
+            {
+                if (MatchingLeftDataManager.Instance.DressPropIdList[i] <= 0)
+                {
+                    continue;
+                }
+                else
+                {
+                    ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(MatchingLeftDataManager.Instance.DressPropIdList[i]);
+                    ET.Log.Debug(string.Format("zyq:{0}", MatchingLeftDataManager.Instance.DressPropIdList[i]));
+                    MatchingCompetitionDataManager.Instance.AddSceneItem(itemCfg, true,1);
+                }
+            }
+            await Task.Delay(100);
+            MatchingLeftDataManager.Instance.InsertGameObjectList();
+            for (int i = 0; i < MatchingLeftDataManager.Instance.TransformDataList.Count; i++)
+            {
+                TransformData itemdata = MatchingLeftDataManager.Instance.TransformDataList[i];
+                GameObject itemGObj = MatchingLeftDataManager.Instance.itemGameObjs[i];
+                MatchingLeftDataManager.Instance.itemGameObjs[i].transform.position = itemdata.position;
+                MatchingLeftDataManager.Instance.itemGameObjs[i].transform.Rotate(itemGObj.transform.eulerAngles.x, itemGObj.transform.eulerAngles.y, itemdata.rotationZ);
+                MatchingLeftDataManager.Instance.itemGameObjs[i].transform.localScale = itemdata.scale;
+                PhotographUtil.Instance.ChangeLayer(MatchingLeftDataManager.Instance.itemGameObjs[i], i * PhotographDataManager.layerCount, "up");
+            }
+            UpdateDressRigh();
+        }
+        private async void UpdateDressRigh()
+        {
+            MatchingRightDataManager.Instance.itemGameObjs.Clear();
+            PhotographDataManager.Instance.itemGameObjs.Clear();
+            PhotographDataManager.Instance.dressUpObj?.Dispose();
+            PhotographDataManager.Instance.dressUpObj = new DressUpObj();
+            if (_sceneObjectRight == null)
+            {
+                _sceneObjectRight = PrefabManager.Instance.InstantiateSync(ResPathUtil.GetPrefabPath("ScenePhotograph"));
+                // 创建render texture
+                renderTexureRight = new RenderTexture((int)_ui.m_playerShow1.target.width, (int)_ui.m_playerShow2.target.height, 24);
+
+                // 换装父节点 + 相机            
+                Camera camera = _sceneObjectRight.transform.Find("Camera").GetComponent<Camera>();
+                camera.gameObject.SetActive(true);
+                camera.targetTexture = renderTexureRight;
+            }
+
+            PhotographSceneManager.Instance.sceneObject = _sceneObjectRight;
+            if (MatchingRightDataManager.Instance.DressUpBgID == 0)
+            {
+                PhotographSceneManager.Instance.AddBgItem(ItemCfgArray.Instance.GetCfg(180004));
+            }
+            else
+            {
+                PhotographSceneManager.Instance.AddBgItem(ItemCfgArray.Instance.GetCfg(MatchingRightDataManager.Instance.DressUpBgID));
+            }
+            PhotographSceneManager.Instance.AddBodyItem();
+            GameObject bodyParent = _sceneObjectRight.transform.Find("Scene/Role").gameObject;
+            PhotographDataManager.Instance.dressUpObj.setSceneObj(_sceneObjectRight, false, true, bodyParent, false, null);
+            PhotographDataManager.Instance.dressUpObj.PutOnDressUpData(MatchingRightDataManager.Instance.MathingDressDate);
+
+            //对搭配赛特殊处理
+            for (int i = 0; i < MatchingRightDataManager.Instance.DressPropIdList.Count; i++)
+            {
+                if (MatchingRightDataManager.Instance.DressPropIdList[i] <= 0)
+                {
+                    continue;
+                }
+                else
+                {
+                    ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(MatchingRightDataManager.Instance.DressPropIdList[i]);
+                    MatchingCompetitionDataManager.Instance.AddSceneItem(itemCfg, true,2);
+                }
+            }
+            await Task.Delay(100);
+            MatchingRightDataManager.Instance.InsertGameObjectList();
+            for (int i = 0; i < MatchingRightDataManager.Instance.TransformDataList.Count; i++)
+            {
+                TransformData itemdata = MatchingRightDataManager.Instance.TransformDataList[i];
+                GameObject itemGObj = MatchingRightDataManager.Instance.itemGameObjs[i];
+                MatchingRightDataManager.Instance.itemGameObjs[i].transform.position = itemdata.position;
+                MatchingRightDataManager.Instance.itemGameObjs[i].transform.Rotate(itemGObj.transform.eulerAngles.x, itemGObj.transform.eulerAngles.y, itemdata.rotationZ);
+                MatchingRightDataManager.Instance.itemGameObjs[i].transform.localScale = itemdata.scale;
+                PhotographUtil.Instance.ChangeLayer(MatchingRightDataManager.Instance.itemGameObjs[i], i * PhotographDataManager.layerCount, "up");
+            }
+            _sceneObjectRight.transform.position = new Vector3(50, 50, 50);
+            await Task.Delay(100);
+            UpdatePlayer();
+        }
+        private RenderTexture renderTexureLeft;
+        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);
+            MatchingPhotoWorksData otherLeftdata = MatchingLeftDataManager.Instance.LeftRoleInfo;
+            JudgingRoundRoleInfo otherLeftInfo = otherLeftdata.JudgingInfo;
+            RoleInfoManager.Instance.UpdateHead(_ui.m_player1.m_head, otherLeftInfo.HeadItemId, otherLeftInfo.HeadBorderItemId);
+            _ui.m_player1.m_nameText.text = otherLeftInfo.RoleName.ToString();
+            _ui.m_select1.m_numText.visible = false;
+            _ui.m_select1.m_numText.text = otherLeftInfo.Score.ToString();
+            MatchingPhotoWorksData otherRightdata = MatchingRightDataManager.Instance.RightRoleInfo;
+            JudgingRoundRoleInfo otherRightInfo = otherRightdata.JudgingInfo;
+            RoleInfoManager.Instance.UpdateHead(_ui.m_player2.m_head, otherRightInfo.HeadItemId, otherRightInfo.HeadBorderItemId);
+            _ui.m_player2.m_nameText.text = otherRightInfo.RoleName.ToString();
+            _ui.m_select2.m_numText.visible = false;
+            _ui.m_select2.m_numText.text = otherRightInfo.Score.ToString();
+            ViewManager.Hide<ModalStatusView>();
+        }
+        private void UpdateView()
+        {
+            _ui.m_selectText1.alpha = 0;
+            _ui.m_selectText2.alpha = 0;
+            _ui.m_timeText.text = string.Format("剩余次数:{0}",Mathf.Max(0, judgingCfg.FreeTimes - MatchingCompetitionDataManager.Instance.MatchingRemainingTimes));
+        }
+        private void OnClickBtnBack()
+        {
+            _ui.m_BtnBack.touchable = true;
+            ViewManager.GoBackFrom(typeof(MatchingCompetitionSelectView).FullName);
+        }
+        private async void OnClickBtnSelect1()
+        {
+            if((judgingCfg.FreeTimes - MatchingCompetitionDataManager.Instance.MatchingRemainingTimes)<=0)
+            {
+                PromptController.Instance.ShowFloatTextPrompt("评选次数不足");
+                return;
+            }
+            bool result = await MatchingCompetitionSproxy.ReqCheckMatchingCompetitionWork(
+                MatchingLeftDataManager.Instance.LeftRoleInfo.JudgingInfo.WorksId,MatchingRightDataManager.Instance.RightRoleInfo.JudgingInfo.WorksId
+                ) ;
+            if(result)
+            {
+                _ui.m_select1.m_c1.selectedIndex = 1;
+                _ui.m_select1.m_numText.visible = true;
+                _ui.m_select2.m_numText.visible = true;
+                _ui.m_select1.m_numText.text = string.Format("心动值{0}", MatchingLeftDataManager.Instance.LeftRoleInfo.JudgingInfo.Score.ToString());
+                _ui.m_timeText.text = string.Format("剩余次数:{0}", Mathf.Max(0, judgingCfg.FreeTimes - MatchingCompetitionDataManager.Instance.MatchingRemainingTimes));
+            }
+            _ui.m_t0.Play(async () =>
+            {
+                bool resulst = await MatchingCompetitionSproxy.ReqGetTwoPlayers();
+                if (resulst)
+                {
+                    if (_sceneObjectLeft != null)
+                    {
+                        PrefabManager.Instance.Restore(_sceneObjectLeft);
+                        _sceneObjectLeft = null;
+                    }
+                    if (_sceneObjectRight != null)
+                    {
+                        PrefabManager.Instance.Restore(_sceneObjectRight);
+                        _sceneObjectRight = null;
+                    }
+                    UpdateDressLeft();
+                    UpdateView();
+                }
+            });
+        }
+        private async void OnClickBtnSelect2()
+        {
+            if ((judgingCfg.FreeTimes - MatchingCompetitionDataManager.Instance.MatchingRemainingTimes) <= 0)
+            {
+                PromptController.Instance.ShowFloatTextPrompt("评选次数不足");
+                return;
+            }
+            bool result = await MatchingCompetitionSproxy.ReqCheckMatchingCompetitionWork(
+                            MatchingRightDataManager.Instance.RightRoleInfo.JudgingInfo.WorksId, MatchingLeftDataManager.Instance.LeftRoleInfo.JudgingInfo.WorksId
+                            );
+            if (result)
+            {
+                _ui.m_select2.m_c1.selectedIndex = 1;
+                _ui.m_select1.m_numText.visible = true;
+                _ui.m_select2.m_numText.visible = true;
+                _ui.m_select2.m_numText.text = string.Format("心动值{0}", MatchingRightDataManager.Instance.RightRoleInfo.JudgingInfo.Score.ToString());
+                _ui.m_timeText.text = string.Format("剩余次数:{0}", Mathf.Max(0, judgingCfg.FreeTimes - MatchingCompetitionDataManager.Instance.MatchingRemainingTimes));
+            }
+            _ui.m_t1.Play(async () => 
+            {
+                bool resulst = await MatchingCompetitionSproxy.ReqGetTwoPlayers();
+                if (resulst)
+                {
+                    if (_sceneObjectLeft != null)
+                    {
+                        PrefabManager.Instance.Restore(_sceneObjectLeft);
+                        _sceneObjectLeft = null;
+                    }
+                    if (_sceneObjectRight != null)
+                    {
+                        PrefabManager.Instance.Restore(_sceneObjectRight);
+                        _sceneObjectRight = null;
+                    }
+                    UpdateDressLeft();
+                    UpdateView();
+                }
+            });
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionSelectView.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 68370d49548492c4b99ee283cc0160c4
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 287 - 0
GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionUpLoadView.cs

@@ -0,0 +1,287 @@
+using System;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using ET;
+using FairyGUI;
+using UI.MatchingCompetition;
+using UnityEngine;
+
+namespace GFGGame
+{
+    //搭配赛评选期间
+    class MatchingCompetitionUpLoadView : BaseWindow
+    {
+        private UI_MatchingCompetitionUpLoadUI _ui;
+        private GameObject _sceneObject;
+        private float countTimeSpeed = 0.001f;
+        private bool isCountTime = false;
+        public override void Dispose()
+        {
+            if (_sceneObject != null)
+            {
+                PrefabManager.Instance.Restore(_sceneObject);
+                _sceneObject = null;
+            }
+            if (_ui != null)
+            {
+                _ui.Dispose();
+            }
+            _ui = null;
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_MatchingCompetitionUpLoadUI.PACKAGE_NAME;
+            _ui = UI_MatchingCompetitionUpLoadUI.Create();
+            this.viewCom = _ui.target;
+            isReturnView = true;
+            isfullScreen = true;
+
+            _ui.m_BtnBack.onClick.Add(OnClickBtnBack);
+            _ui.m_btnUploadWorks.onClick.Add(OnClickBtnUpload);
+            _ui.m_btnShop.onClick.Add(OnClickBtnShop);
+            _ui.m_btnMyWorks.onClick.Add(OnClickBtnMyWorks);
+            _ui.m_btnRank.onClick.Add(OnClickBtnRank);
+            _ui.m_btnLook.onClick.Add(OnClickBtnLook);
+            _ui.m_btnExchage.onClick.Add(OnClickBtnExchange);
+            _ui.m_ruleBtn.onClick.Add(MatchingCompetitionDataManager.Instance.OnClickBtnRule);
+        }
+        protected override void OnShown()
+        {
+            base.OnShown();
+            _ui.m_bg.url = ResPathUtil.GetBgImgPath("pxs_bj");
+            _ui.m_c1.selectedIndex = MatchingCompetitionDataManager.Instance.MatchingState;
+            _ui.m_titleText.text = JudgingRoundOpenCfgArray.Instance.dataArray[MatchingCompetitionDataManager.Instance.MatchingCompetitionSeason - 1].Name;
+            isCountTime = false;
+            UpdateView();
+            UpdateHead();
+            UpdateDress();
+            Timers.inst.AddUpdate(UpdateTime);
+        }
+
+        protected override void OnHide()
+        {
+            if (_sceneObject != null)
+            {
+                PrefabManager.Instance.Restore(_sceneObject);
+                _sceneObject = null;
+            }
+            Timers.inst.Remove(UpdateTime);
+            Timers.inst.Remove(UpdateCountTime);
+            base.OnHide();     
+        }
+        protected override void AddEventListener()
+        {
+            base.AddEventListener();
+            EventAgent.AddEventListener(ConstMessage.DOWNLOAD_FINISH,UpdateDress);
+        }
+        protected override void RemoveEventListener()
+        {
+            base.RemoveEventListener();
+            EventAgent.RemoveEventListener(ConstMessage.DOWNLOAD_FINISH, UpdateDress);
+        }
+        private async void UpdateDress()
+        {
+            //if (MatchingOneDataManager.Instance.MathingDressDate.actionId != 0)
+            {
+                _ui.m_bg.visible = false;
+                _ui.m_playerImage.visible = false;
+                MatchingOneDataManager.Instance.itemGameObjs.Clear();
+                PhotographDataManager.Instance.itemGameObjs.Clear();
+                PhotographDataManager.Instance.dressUpObj?.Dispose();
+                PhotographDataManager.Instance.dressUpObj = new DressUpObj();
+                if (_sceneObject == null)
+                {
+                    _sceneObject = PrefabManager.Instance.InstantiateSync(ResPathUtil.GetPrefabPath("ScenePhotograph"));
+                }
+                PhotographSceneManager.Instance.sceneObject = _sceneObject;
+                if(MatchingOneDataManager.Instance.DressUpBgID == 0)
+                {
+                    PhotographSceneManager.Instance.AddBgItem(ItemCfgArray.Instance.GetCfg(180001));
+                }
+                else
+                {
+                    PhotographSceneManager.Instance.AddBgItem(ItemCfgArray.Instance.GetCfg(MatchingOneDataManager.Instance.DressUpBgID));
+                }
+                PhotographSceneManager.Instance.AddBodyItem();
+                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++)
+                {
+                    if (MatchingOneDataManager.Instance.DressPropIdList[i] == MatchingOneDataManager.Instance.roleID)
+                    {
+                        continue;
+                    }
+                    else
+                    {
+                        ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(MatchingOneDataManager.Instance.DressPropIdList[i]);
+                        MatchingCompetitionDataManager.Instance.AddSceneItem(itemCfg, true);
+                    }
+                }
+                await Task.Delay(100);
+                MatchingOneDataManager.Instance.InsertGameObjectList();
+                for (int i = 0; i < MatchingOneDataManager.Instance.TransformDataList.Count; i++)
+                {
+                    TransformData itemdata = MatchingOneDataManager.Instance.TransformDataList[i];
+                    GameObject itemGObj = MatchingOneDataManager.Instance.itemGameObjs[i];
+                    MatchingOneDataManager.Instance.itemGameObjs[i].transform.position = itemdata.position;
+                    MatchingOneDataManager.Instance.itemGameObjs[i].transform.Rotate(itemGObj.transform.eulerAngles.x, itemGObj.transform.eulerAngles.y, itemdata.rotationZ);
+                    MatchingOneDataManager.Instance.itemGameObjs[i].transform.localScale = itemdata.scale;
+                    PhotographUtil.Instance.ChangeLayer(MatchingOneDataManager.Instance.itemGameObjs[i], i * PhotographDataManager.layerCount, "up");
+                }
+            }
+            //else
+            //{
+            //    _ui.m_bg.visible = true;
+            //    _ui.m_playerImage.visible = true;
+            //    _ui.m_playerImage.texture = MatchingOneDataManager.Instance.OneRoleInfo.Ntexture;
+            //}
+        }
+        private void UpdateView()
+        {
+            _ui.m_countTime.fillAmount = 0;
+            _ui.m_countTime.visible = false;
+            //long endTime = MatchingCompetitionDataManager.Instance.MatchingEndTimes;
+            //long curTime = TimeHelper.ServerNow();
+            //if (endTime < curTime + 1)
+            //{
+            //    if (MatchingCompetitionDataManager.Instance.MatchingState == 2)
+            //    {
+            //        PromptController.Instance.ShowFloatTextPrompt("评选时间已到!");
+            //    }
+            //    return;
+            //}
+            //TimeUtil.FormattingTime(curTime, endTime, out int num, out string str);
+            //if (MatchingCompetitionDataManager.Instance.MatchingState == 2)
+            //{
+            //    _ui.m_timeText.text = "评选剩余时间:" + TimeUtil.FormattingTimeTo_DDHHmm(endTime - curTime);
+            //}
+            //else
+            //{
+            //    _ui.m_timeText.text = "结算剩余时间:" + TimeUtil.FormattingTimeTo_DDHHmm(endTime - curTime);
+            //}
+        }
+        private void UpdateHead()
+        {
+            RoleInfoManager.Instance.UpdateHead(_ui.m_playerHead.m_head, MatchingOneDataManager.Instance.OneRoleInfo.JudgingInfo.HeadItemId, MatchingOneDataManager.Instance.OneRoleInfo.JudgingInfo.HeadBorderItemId);
+            _ui.m_playerHead.m_nameText.text = MatchingOneDataManager.Instance.OneRoleInfo.JudgingInfo.RoleName.ToString();
+            _ui.m_playerHead.m_countText.text = MatchingOneDataManager.Instance.OneRoleInfo.JudgingInfo.Score.ToString();
+        }
+        private void UpdateTime(object param = null)
+        {
+            long endTime = MatchingCompetitionDataManager.Instance.MatchingEndTimes;
+            long curTime = TimeHelper.ServerNow();
+            if (endTime < curTime + 1)
+            {
+                Timers.inst.Remove(UpdateTime);
+                if (MatchingCompetitionDataManager.Instance.MatchingState == 2)
+                {
+                    PromptController.Instance.ShowFloatTextPrompt("评选时间已到!");
+                    ViewManager.GoBackFrom(typeof(MatchingCompetitionUpLoadView).FullName);
+                }
+                return;
+            }
+            TimeUtil.FormattingTime(curTime, endTime, out int num, out string str);
+            if (MatchingCompetitionDataManager.Instance.MatchingState == 2)
+            {
+                _ui.m_timeText.text = "评选剩余时间:" + TimeUtil.FormattingTimeTo_DDHHmm(endTime - curTime);
+            }
+            else
+            {
+                _ui.m_timeText.text = "结算剩余时间:" + TimeUtil.FormattingTimeTo_DDHHmm(endTime - curTime);
+            }
+                
+        }
+        private void UpdateCountTime(object param = null)
+        {
+            if(_ui.m_countTime.fillAmount <=0)
+            {
+                _ui.m_countTime.fillAmount = 0;
+                _ui.m_countTime.visible = false;
+                isCountTime = false;
+                Timers.inst.Remove(UpdateCountTime);
+            }
+            _ui.m_countTime.fillAmount -= countTimeSpeed;
+        }
+        private void OnClickBtnBack()
+        {
+            ViewManager.GoBackFrom(typeof(MatchingCompetitionUpLoadView).FullName);
+        }
+        private async void OnClickBtnUpload()
+        {
+            if(MatchingCompetitionDataManager.Instance.MatchingState == 3)
+            {
+                PromptController.Instance.ShowFloatTextPrompt("结算期间无法选择!");
+                return;
+            }
+            //先获取两个玩家信息
+            bool resulst =  await MatchingCompetitionSproxy.ReqGetTwoPlayers();
+            if(resulst)
+            {
+                ViewManager.Show<MatchingCompetitionSelectView>();
+            }
+        }
+        private void OnClickBtnShop()
+        {
+            ViewManager.Show<StoreView>(new object[] { ConstStoreTabId.STORE_GIFT_BAG, ConstStoreSubId.STORE_GIFT_BAG_ACTIVITY });
+        }
+        private void OnClickBtnMyWorks()
+        {
+            ViewManager.Show<PoemPhotoView>(2);
+        }
+        private async void OnClickBtnRank()
+        {
+            bool result = await MatchingCompetitionSproxy.ReqCurrentRank();
+            if(result)
+            {
+                ViewManager.Show<MatchingCompetitionRankView>();
+            }   
+            else
+            {
+                PromptController.Instance.ShowFloatTextPrompt("暂无玩家上榜!");
+            }
+        }
+        private async void OnClickBtnExchange()
+        {
+            if (isCountTime)
+            {
+                PromptController.Instance.ShowFloatTextPrompt("刷新冷却中,请耐心等待!");
+                return;
+            }
+            isCountTime = true;
+            _ui.m_countTime.visible = true;
+            _ui.m_countTime.fillAmount = 1.0f;
+            Timers.inst.AddUpdate(UpdateCountTime);
+            //ViewManager.Show<ModalStatusView>("刷新中...");
+            bool result = await MatchingCompetitionSproxy.ReqGetOnePlayers();
+            if (result)
+            {
+                if (_sceneObject != null)
+                {
+                    PrefabManager.Instance.Restore(_sceneObject);
+                    _sceneObject = null;
+                }
+                //UpdateView();
+                UpdateHead();
+                UpdateDress();
+                //ViewManager.Hide<ModalStatusView>();
+            }
+            //ViewManager.Hide<ModalStatusView>();
+        }
+        private void OnClickBtnLook()
+        {
+            List<int> AllIdList = new List<int>();
+            foreach (var info in MatchingOneDataManager.Instance.OneRoleInfo.JudgingInfo.CollocationInfoList)
+            {
+                AllIdList.Add(info.ItemId);
+            }
+            MatchingCompetitionDataManager.Instance.DetailNtexture = MatchingOneDataManager.Instance.OneRoleInfo.Ntexture;
+            ViewManager.Show<MatchingCompetitionDetailView>(AllIdList);
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionUpLoadView.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 01139ae047964da40951822650c5d4a4
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

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

@@ -0,0 +1,104 @@
+using System;
+using System.Collections.Generic;
+using ET;
+using FairyGUI;
+using UI.MatchingCompetition;
+using UnityEngine;
+
+namespace GFGGame
+{
+    class MatchingCompetitionWorksListView : BaseWindow
+    {
+        private UI_MatchingCompetitionWorkListUI _ui;
+        private int _seasonIndex = 0;
+        public override void Dispose()
+        {
+            if (_ui != null)
+            {
+                _ui.Dispose();
+            }
+            _ui = null;
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_MatchingCompetitionWorkListUI.PACKAGE_NAME;
+            _ui = UI_MatchingCompetitionWorkListUI.Create();
+            this.viewCom = _ui.target;
+            isReturnView = true;
+            isfullScreen = true;
+
+            _ui.m_workList.itemRenderer = RenderRankList;
+            _ui.m_BtnBack.onClick.Add(OnClickBtnBack);
+        }
+        protected override void AddEventListener()
+        {
+            base.AddEventListener();
+        }
+        protected override void OnShown()
+        {
+            base.OnShown();
+            _ui.m_bg.url = ResPathUtil.GetBgImgPath("pxs_bj");
+            _ui.m_titleText.text = JudgingRoundOpenCfgArray.Instance.dataArray[MatchingCompetitionDataManager.Instance.MatchingCompetitionSeason - 1].Name;
+            _seasonIndex = (int)this.viewData;
+            UpdateView();
+        }
+
+        protected override void OnHide()
+        {
+            base.OnHide();
+        }
+
+        protected override void RemoveEventListener()
+        {
+            base.RemoveEventListener();
+        }
+        private void UpdateView()
+        {
+            _ui.m_workList.numItems = MatchingCompetitionDataManager.Instance._BeforeRankList.Count;
+        }
+        private void RenderRankList(int index, GObject obj)
+        {
+            UI_Component6 item = UI_Component6.Proxy(obj);
+            if((index +1) >=1 && (index + 1)<=3)
+            {
+                item.m_c1.selectedIndex = index + 1;
+            }
+            else
+            {
+                item.m_c1.selectedIndex = 0;
+            }
+            MatchingPhotoWorksData otherdata = MatchingCompetitionDataManager.Instance._BeforeRankList[index];
+            JudgingRoundRoleInfo otherInfo = otherdata.JudgingInfo;
+            otherInfo.Rank = index;
+            RoleInfoManager.Instance.UpdateHead(item.m_head, otherInfo.HeadItemId, otherInfo.HeadBorderItemId);
+            item.m_nameText.text = otherInfo.RoleName.ToString();
+            item.m_countText.text = otherInfo.Score.ToString();
+            if (item.target.data == null)
+            {
+                item.target.onClick.Add(OnClickBtnItem);
+            }
+            item.target.data = index;
+            UI_Component6.ProxyEnd();
+        }
+        private void OnClickBtnItem(EventContext context)
+        {
+            GObject item = context.sender as GObject;
+            int index = (int)item.data;
+            MatchingPhotoWorksData otherInfo = MatchingCompetitionDataManager.Instance._BeforeRankList[index];
+            List<int> AllIdList = new List<int>();
+            foreach(var info in otherInfo.JudgingInfo.CollocationInfoList)
+            {
+                AllIdList.Add(info.ItemId);
+            }
+            MatchingCompetitionDataManager.Instance.DetailNtexture = otherInfo.Ntexture;
+            ViewManager.Show<MatchingCompetitionDetailView>(AllIdList);
+        }
+        private void OnClickBtnBack()
+        {
+            ViewManager.GoBackFrom(typeof(MatchingCompetitionWorksListView).FullName);
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionWorkListView.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 17c79563e48192e4ab254e5576f0c9a9
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 86 - 0
GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionWorksView.cs

@@ -0,0 +1,86 @@
+using System;
+using System.Collections.Generic;
+using ET;
+using FairyGUI;
+using UI.MatchingCompetition;
+using UnityEngine;
+
+namespace GFGGame
+{
+    class MatchingCompetitionWorksView : BaseWindow
+    {
+        private UI_MatchingCompetitionWorksUI _ui;
+        private int _currentIndex = 0;
+        public override void Dispose()
+        {
+            if (_ui != null)
+            {
+                _ui.Dispose();
+            }
+            _ui = null;
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_MatchingCompetitionWorksUI.PACKAGE_NAME;
+            _ui = UI_MatchingCompetitionWorksUI.Create();
+            this.viewCom = _ui.target;
+            isReturnView = true;
+            isfullScreen = true;
+
+            _ui.m_worksList.itemRenderer = RenderRankList;
+            _ui.m_BtnBack.onClick.Add(OnClickBtnBack);
+        }
+        protected override void AddEventListener()
+        {
+            base.AddEventListener();
+        }
+        protected override void OnShown()
+        {
+            base.OnShown();
+            _ui.m_bg.url = ResPathUtil.GetBgImgPath("pxs_bj");
+            _ui.m_titleText.text = JudgingRoundOpenCfgArray.Instance.dataArray[MatchingCompetitionDataManager.Instance.MatchingCompetitionSeason - 1].Name;
+            UpdateView();
+        }
+
+        protected override void OnHide()
+        {
+            base.OnHide();
+        }
+
+        protected override void RemoveEventListener()
+        {
+            base.RemoveEventListener();
+        }
+        private void UpdateView()
+        {
+            _ui.m_worksList.numItems = MatchingCompetitionDataManager.Instance._BeforeWorksList.Count;
+        }
+        private void RenderRankList(int index, GObject obj)
+        {
+            UI_Component5 item = UI_Component5.Proxy(obj);
+            if (item.target.data == null)
+            {
+                item.target.onClick.Add(OnClickBtnItem);
+            }
+            item.target.data = index;
+            UI_Component5.ProxyEnd();
+        }
+        private async void OnClickBtnItem(EventContext context)
+        {
+            GObject item = context.sender as GObject;
+            int index = (int)item.data +1;
+            bool result = await MatchingCompetitionSproxy.ReqBeforeRank(index);
+            if(result)
+            {
+                ViewManager.Show<MatchingCompetitionWorksListView>(index);
+            } 
+        }
+        private void OnClickBtnBack()
+        {
+            ViewManager.GoBackFrom(typeof(MatchingCompetitionWorksView).FullName);
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionWorksView.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d886b8aaddabde4409f4fe97318f4cbd
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

Some files were not shown because too many files changed in this diff