Browse Source

搭配赛补充提交

zhangyuqian 1 year ago
parent
commit
85882e7525
25 changed files with 313 additions and 53 deletions
  1. 4 0
      GameClient/Assets/Game/HotUpdate/Constant/ConstMessage.cs
  2. 1 0
      GameClient/Assets/Game/HotUpdate/Controller/GameController.cs
  3. 36 3
      GameClient/Assets/Game/HotUpdate/Data/MatchingCompetitionDataManager.cs
  4. 32 0
      GameClient/Assets/Game/HotUpdate/Data/MatchingPhotoHelper.cs
  5. 38 4
      GameClient/Assets/Game/HotUpdate/Data/MatchingTwoDataManager.cs
  6. 19 5
      GameClient/Assets/Game/HotUpdate/Data/PhotographSceneManager.cs
  7. 6 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionGatheringUI.cs
  8. 2 2
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionLookUI.cs
  9. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionUpLoadUI.cs
  10. 8 4
      GameClient/Assets/Game/HotUpdate/ServerProxy/MatchingCompetitionSproxy.cs
  11. 1 0
      GameClient/Assets/Game/HotUpdate/Views/CommonGame/RewardView.cs
  12. 5 3
      GameClient/Assets/Game/HotUpdate/Views/MainUI/MainUIView.cs
  13. 17 6
      GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionGatheringView.cs
  14. 51 0
      GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionLookView.cs
  15. 11 0
      GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionLookView.cs.meta
  16. 49 11
      GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionSelectView.cs
  17. 30 12
      GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionUpLoadView.cs
  18. BIN
      GameClient/Assets/ResIn/UI/InstanceZones/InstanceZones_atlas0!a.png
  19. BIN
      GameClient/Assets/ResIn/UI/InstanceZones/InstanceZones_atlas0.png
  20. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0!a.png
  21. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0.png
  22. BIN
      GameClient/Assets/ResIn/UI/Main/Main_fui.bytes
  23. BIN
      GameClient/Assets/ResIn/UI/MatchingCompetition/MatchingCompetition_atlas0!a.png
  24. BIN
      GameClient/Assets/ResIn/UI/MatchingCompetition/MatchingCompetition_atlas0.png
  25. BIN
      GameClient/Assets/ResIn/UI/MatchingCompetition/MatchingCompetition_fui.bytes

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

@@ -258,5 +258,9 @@ namespace GFGGame
         public const string EXCHANGE_SUCCESS = "EXCHANGE_SUCCESS";
         //搭配赛状态改变
         public const string MATCHING_STATUSCHANGE = "MATCHING_STATUSCHANGE";
+        //爬塔开始挑战
+        public const string FieldWork_STARTCHANGE = "FieldWork_STARTCHANGE";
+        //奖励界面关闭
+        public const string REWARDVIEW_CLOTHER = "REWARDVIEW_CLOTHER";
     }
 }

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

@@ -368,6 +368,7 @@ namespace GFGGame
             FightDataManager.Instance.Clear();
             MainDataManager.Instance.Clear();
             NewYearRedEnvelopeDataManager.Instance.Clear();
+            MatchingCompetitionDataManager.Instance.MyNtextture = null;
             GameGlobal.zoneScene.GetComponent<SessionComponent>()?.Disconnect();
             GameGlobal.zoneScene.GetComponent<ServerInfosComponent>()?.ServerInfoList?.Clear();
             GameGlobal.zoneScene.GetComponent<AccountInfoComponent>()?.Clear();

+ 36 - 3
GameClient/Assets/Game/HotUpdate/Data/MatchingCompetitionDataManager.cs

@@ -51,6 +51,7 @@ namespace GFGGame
         public string TempPictureUrl = "";
         public int MatchingRemainingTimes = 1;
         public MyWorksIdInfo myWorks = new MyWorksIdInfo();
+        public List<ItemInfoProto> SpecialBonusList = new List<ItemInfoProto>();
         /// <summary>
         /// 搭配赛相册
         /// </summary>
@@ -59,6 +60,9 @@ namespace GFGGame
         public List<PoemPhotoData> MatchingPhotoInfos = new List<PoemPhotoData>();
         //角色详情界面图片信息
         public NTexture DetailNtexture;
+        //自己的搭配图片
+        public NTexture MyNtextture;
+        public byte[] MyBytes;
         //本期排行榜数据
         public List<MatchingPhotoWorksData> _currentRankList = new List<MatchingPhotoWorksData>();
         //往期作品集
@@ -162,6 +166,11 @@ namespace GFGGame
                             //记录道具和位置信息
                             propIDList.Add(AllDressIDInfoList[i].ItemId);
                             transDataList.Add(AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
+                            if (itemCfg.resLayer2 == "t" || itemCfg.resLayer3 == "t")
+                            {
+                                propIDList.Add(-3);
+                                transDataList.Add(AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
+                            }
                         }
                         else if (itemCfg != null && itemCfg.subType == ConstDressUpItemType.BEI_JING)
                         {
@@ -326,7 +335,14 @@ namespace GFGGame
             }
             else
             {
-                itemGameObjs.Insert(indexRoleData, roleGameobj);
+                if (indexRoleData > itemGameObjs.Count)
+                {
+                    itemGameObjs.Add(roleGameobj);
+                }
+                else
+                {
+                    itemGameObjs.Insert(indexRoleData, roleGameobj);
+                }
             }  
         }
         public void SetNumToRank(int index,UI_Component4 rankCom)
@@ -476,17 +492,27 @@ namespace GFGGame
                 if (OneRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId == roleID)
                 {
                     propIDList.Add(OneRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId);
+                    transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(OneRoleInfo.JudgingInfo.CollocationInfoList[i].ClientPosition));
                 }
                 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)
+                        if (itemCfg.subType == 19 || itemCfg.subType == 17 || itemCfg.subType == 21 || itemCfg.subType == 22)
                         {
                             //记录道具和位置信息
                             propIDList.Add(OneRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId);
                             transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(OneRoleInfo.JudgingInfo.CollocationInfoList[i].ClientPosition));
+                            if(itemCfg.resLayer2 == "t" || itemCfg.resLayer3 == "t")
+                            {
+                                propIDList.Add(-3);
+                                transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(OneRoleInfo.JudgingInfo.CollocationInfoList[i].ClientPosition));
+                            }
+                        }
+                        else if (itemCfg != null && itemCfg.subType == ConstDressUpItemType.BEI_JING)
+                        {
+                            DressUpBgID = itemCfg.id;
                         }
                         else
                         {
@@ -523,7 +549,14 @@ namespace GFGGame
             }
             else
             {
-                itemGameObjs.Insert(indexRoleData, roleGameobj);
+                if (indexRoleData > itemGameObjs.Count)
+                {
+                    itemGameObjs.Add(roleGameobj);
+                }
+                else
+                {
+                    itemGameObjs.Insert(indexRoleData, roleGameobj);
+                }
             }
         }
     }

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

@@ -123,5 +123,37 @@ namespace GFGGame
                     }
                 }
             }
+
+        public static IEnumerator DownloadMyself(string nTextture)
+        {
+            yield return DownloadMyPicture(nTextture, 1);
+            ET.Log.Debug("Download  finish!!!");
+            EventAgent.DispatchEvent(ConstMessage.DOWNLOAD_FINISH);
+        }
+
+        private static IEnumerator DownloadMyPicture(string nTextture, int count)
+        {
+            if (count >= 3)
+            {
+                PromptController.Instance.ShowFloatTextPrompt("下载失败");
+                ViewManager.Hide<ModalStatusView>();
+                yield break;
+            }
+            using (UnityWebRequest request = UnityWebRequestTexture.GetTexture(nTextture))
+            {
+                yield return request.SendWebRequest();
+                if (request.result == UnityWebRequest.Result.ProtocolError || request.result == UnityWebRequest.Result.ConnectionError)
+                {
+                    count += 1;
+                    yield return DownloadMyPicture(nTextture, count);
+                }
+                else
+                {
+                    Texture2D texture = (request.downloadHandler as DownloadHandlerTexture).texture;
+                    MatchingCompetitionDataManager.Instance.MyNtextture = new NTexture(texture);
+                    MatchingCompetitionDataManager.Instance.MyBytes = texture.EncodeToJPG();
+                }
+            }
+        }
     }
 }

+ 38 - 4
GameClient/Assets/Game/HotUpdate/Data/MatchingTwoDataManager.cs

@@ -45,17 +45,27 @@ namespace GFGGame
                 if (LeftRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId == roleID)
                 {
                     propIDList.Add(LeftRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId);
+                    transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(LeftRoleInfo.JudgingInfo.CollocationInfoList[i].ClientPosition));
                 }
                 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)
+                        if (itemCfg.subType == 19 || itemCfg.subType == 17 || itemCfg.subType == 21 || itemCfg.subType == 22)
                         {
                             //记录道具和位置信息
                             propIDList.Add(LeftRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId);
                             transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(LeftRoleInfo.JudgingInfo.CollocationInfoList[i].ClientPosition));
+                            if (itemCfg.resLayer2 == "t" || itemCfg.resLayer3 == "t")
+                            {
+                                propIDList.Add(-3);
+                                transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(LeftRoleInfo.JudgingInfo.CollocationInfoList[i].ClientPosition));
+                            }
+                        }
+                        else if (itemCfg != null && itemCfg.subType == ConstDressUpItemType.BEI_JING)
+                        {
+                            DressUpBgID = itemCfg.id;
                         }
                         else
                         {
@@ -92,7 +102,14 @@ namespace GFGGame
             }
             else
             {
-                itemGameObjs.Insert(indexRoleData, roleGameobj);
+                if(indexRoleData > itemGameObjs.Count)
+                {
+                    itemGameObjs.Add(roleGameobj);
+                }
+                else
+                {
+                    itemGameObjs.Insert(indexRoleData, roleGameobj);
+                } 
             }
         }
     }
@@ -132,17 +149,27 @@ namespace GFGGame
                 if (RightRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId == roleID)
                 {
                     propIDList.Add(RightRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId);
+                    transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(RightRoleInfo.JudgingInfo.CollocationInfoList[i].ClientPosition));
                 }
                 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)
+                        if (itemCfg.subType == 19 || itemCfg.subType == 17 || itemCfg.subType == 21 || itemCfg.subType == 22)
                         {
                             //记录道具和位置信息
                             propIDList.Add(RightRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId);
                             transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(RightRoleInfo.JudgingInfo.CollocationInfoList[i].ClientPosition));
+                            if ( itemCfg.resLayer2 == "t" || itemCfg.resLayer3 == "t")
+                            {
+                                propIDList.Add(-3);
+                                transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(RightRoleInfo.JudgingInfo.CollocationInfoList[i].ClientPosition));
+                            }
+                        }
+                        else if (itemCfg != null && itemCfg.subType == ConstDressUpItemType.BEI_JING)
+                        {
+                            DressUpBgID = itemCfg.id;
                         }
                         else
                         {
@@ -179,7 +206,14 @@ namespace GFGGame
             }
             else
             {
-                itemGameObjs.Insert(indexRoleData, roleGameobj);
+                if (indexRoleData > itemGameObjs.Count)
+                {
+                    itemGameObjs.Add(roleGameobj);
+                }
+                else
+                {
+                    itemGameObjs.Insert(indexRoleData, roleGameobj);
+                }
             }
         }
     }

+ 19 - 5
GameClient/Assets/Game/HotUpdate/Data/PhotographSceneManager.cs

@@ -58,12 +58,23 @@ namespace GFGGame
             SetBoxCollider2DToGameObject(tf.gameObject);
             AddItemGameObjectToList(tf.parent.gameObject, true);
         }
-        public void AddBodyItem()
+        public void AddBodyItem(int isLeft = 0)
         {
             GameObject bodyParent = sceneObject.transform.Find("Scene/Role").gameObject;
 
-            MatchingCompetitionDataManager.Instance.roleGameobj = bodyParent;
-            MatchingOneDataManager.Instance.roleGameobj = bodyParent;
+            if (isLeft == 1)
+            {
+                MatchingLeftDataManager.Instance.roleGameobj = bodyParent;
+            }
+            else if (isLeft == 2)
+            {
+                MatchingRightDataManager.Instance.roleGameobj = bodyParent;
+            }
+            else
+            {
+                MatchingCompetitionDataManager.Instance.roleGameobj = bodyParent;
+                MatchingOneDataManager.Instance.roleGameobj = bodyParent;
+            }
 
             UpdatePhotographBody(sceneObject, bodyParent);
             AddItemGameObjectToList(bodyParent, false);
@@ -71,8 +82,6 @@ namespace GFGGame
 
         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);
@@ -81,6 +90,11 @@ namespace GFGGame
             {
                 MatchingRightDataManager.Instance.itemGameObjs.Add(parentGameObj);
             }
+            else
+            {
+                MatchingCompetitionDataManager.Instance.itemGameObjs.Add(parentGameObj);
+                MatchingOneDataManager.Instance.itemGameObjs.Add(parentGameObj);
+            }
 
             await AddItemToScene(sceneObject, parentGameObj, itemCfg.id, layer);
 

+ 6 - 3
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MatchingCompetition/UI_MatchingCompetitionGatheringUI.cs

@@ -10,13 +10,14 @@ namespace UI.MatchingCompetition
         public Controller m_c1;
         public GLoader m_bg;
         public GGraph m_suitShow;
-        public GButton m_BtnBack;
+        public GLoader m_playerImage;
         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 GButton m_BtnBack;
         public const string URL = "ui://ri3cveychtuj0";
         public const string PACKAGE_NAME = "MatchingCompetition";
         public const string RES_NAME = "MatchingCompetitionGatheringUI";
@@ -67,26 +68,28 @@ namespace UI.MatchingCompetition
             m_c1 = comp.GetController("c1");
             m_bg = (GLoader)comp.GetChild("bg");
             m_suitShow = (GGraph)comp.GetChild("suitShow");
-            m_BtnBack = (GButton)comp.GetChild("BtnBack");
+            m_playerImage = (GLoader)comp.GetChild("playerImage");
             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");
+            m_BtnBack = (GButton)comp.GetChild("BtnBack");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_c1 = null;
             m_bg = null;
             m_suitShow = null;
-            m_BtnBack = null;
+            m_playerImage = null;
             m_ruleBtn = null;
             m_titleText = null;
             m_timeText = null;
             m_suitName = null;
             m_btnUploadWorks = null;
             m_btnShop = null;
+            m_BtnBack = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

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

@@ -8,7 +8,7 @@ namespace UI.MatchingCompetition
     {
         public GComponent target;
         public GLoader m_bg;
-        public GImage m_playerImage;
+        public GLoader m_playerImage;
         public GButton m_BtnBack;
         public const string URL = "ui://ri3cveycp3ft1r";
         public const string PACKAGE_NAME = "MatchingCompetition";
@@ -58,7 +58,7 @@ namespace UI.MatchingCompetition
         private void Init(GComponent comp)
         {
             m_bg = (GLoader)comp.GetChild("bg");
-            m_playerImage = (GImage)comp.GetChild("playerImage");
+            m_playerImage = (GLoader)comp.GetChild("playerImage");
             m_BtnBack = (GButton)comp.GetChild("BtnBack");
         }
         public void Dispose(bool disposeTarget = false)

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

@@ -19,6 +19,7 @@ namespace UI.MatchingCompetition
         public GButton m_btnUploadWorks;
         public GButton m_btnShop;
         public GButton m_btnMyWorks;
+        public GButton m_beforeWork;
         public UI_Component1 m_playerHead;
         public GButton m_btnExchage;
         public GLoader m_countTime;
@@ -81,6 +82,7 @@ namespace UI.MatchingCompetition
             m_btnUploadWorks = (GButton)comp.GetChild("btnUploadWorks");
             m_btnShop = (GButton)comp.GetChild("btnShop");
             m_btnMyWorks = (GButton)comp.GetChild("btnMyWorks");
+            m_beforeWork = (GButton)comp.GetChild("beforeWork");
             m_playerHead = (UI_Component1)UI_Component1.Create(comp.GetChild("playerHead"));
             m_btnExchage = (GButton)comp.GetChild("btnExchage");
             m_countTime = (GLoader)comp.GetChild("countTime");
@@ -99,6 +101,7 @@ namespace UI.MatchingCompetition
             m_btnUploadWorks = null;
             m_btnShop = null;
             m_btnMyWorks = null;
+            m_beforeWork = null;
             m_playerHead.Dispose();
             m_playerHead = null;
             m_btnExchage = null;

+ 8 - 4
GameClient/Assets/Game/HotUpdate/ServerProxy/MatchingCompetitionSproxy.cs

@@ -31,7 +31,7 @@ namespace GFGGame
             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.MatchingRemainingTimes = response.Num;
             if(response.MyWorks != null)
             {
                 MatchingCompetitionDataManager.Instance.myWorks = response.MyWorks;
@@ -42,6 +42,10 @@ namespace GFGGame
                 MatchingCompetitionDataManager.Instance.myWorks.Score = 0;
                 MatchingCompetitionDataManager.Instance.AllDressIDInfoList = new List<CollocationInfo>();
             }
+            if(response.MyWorks != null && response.MyWorks.PictureTempUrl != "")
+            {
+                Timers.inst.StartCoroutine(MatchingPhotoHelper.DownloadMyself(response.MyWorks.PictureTempUrl));
+            }
             MatchingCompetitionDataManager.Instance.AnalysisInfoToList();
             return true;
         }
@@ -90,7 +94,7 @@ namespace GFGGame
                 WorksId = MatchingCompetitionDataManager.Instance.WorksID
             }) ;
             if (!(response is { Error: ErrorCode.ERR_Success })) return false;
-
+            
             return true;
         }
 
@@ -103,7 +107,6 @@ namespace GFGGame
             {
                 return false;
             }
-            MatchingCompetitionDataManager.Instance.MatchingRemainingTimes = GameGlobal.myNumericComponent.GetAsInt(NumericType.JudgingRoundSelNum);
             MatchingLeftDataManager.Instance.LeftRoleInfo.JudgingInfo = response.JudgingRoundRoleInfoList[0];
             if(response.JudgingRoundRoleInfoList[0] != null)
             {
@@ -132,7 +135,8 @@ namespace GFGGame
             {
                 return false;
             }
-            MatchingCompetitionDataManager.Instance.MatchingRemainingTimes = GameGlobal.myNumericComponent.GetAsInt(NumericType.JudgingRoundSelNum);
+            MatchingCompetitionDataManager.Instance.MatchingRemainingTimes = response.Num;
+            MatchingCompetitionDataManager.Instance.SpecialBonusList = response.SpecialBonusList;
             if (MatchingLeftDataManager.Instance.LeftRoleInfo.JudgingInfo.WorksId == workID)
             {
                 MatchingLeftDataManager.Instance.LeftRoleInfo.JudgingInfo = response.JudgingRoundRoleInfoList[0];

+ 1 - 0
GameClient/Assets/Game/HotUpdate/Views/CommonGame/RewardView.cs

@@ -139,6 +139,7 @@ namespace GFGGame
             }
             base.OnHide();
             //_effects.Clear();
+            EventAgent.DispatchEvent(ConstMessage.REWARDVIEW_CLOTHER);
             GetSuitItemController.TryShow(0);
         }
         private void RenderListRewardItem(int index, GObject obj)

+ 5 - 3
GameClient/Assets/Game/HotUpdate/Views/MainUI/MainUIView.cs

@@ -99,7 +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;
+            _btnPoem = _ui.m_list.GetChild("btnPoem").asButton;
 
             _btnActivityDay7 = _ui.m_btnActivityDay7.target;
 
@@ -142,7 +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);
+            _btnPoem.onClick.Add(OnClickPoem);
 
             _ui.m_comListAd.m_listAd.itemRenderer = RenderListAdItem;
             _ui.m_comListAd.m_listAd.SetVirtualAndLoop();
@@ -565,7 +565,8 @@ namespace GFGGame
 
         private void OnClickBtnHaoYou()
         {
-            ViewManager.Show<FriendView>();
+            //ViewManager.Show<FriendView>();
+            ViewManager.Show<FieldWorkLevelView>();
         }
 
         private void OnClickBtnGongGao()
@@ -1124,6 +1125,7 @@ namespace GFGGame
             _ui.m_btnSevenReward.target.visible = !ActivityDataManager.Instance.AllSevenDayBonusGot();
             UpdateSevenIcon();
 
+            _btnPoem.visible = FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(PoemPhotoView).Name, false);
             _btnGongGao.visible = FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(NoticeView).Name, false);
             _btnHaoYou.visible = FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(FriendView).Name, false);
             _btnYouJian.visible = FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(MailView).Name, false);

+ 17 - 6
GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionGatheringView.cs

@@ -50,6 +50,12 @@ namespace GFGGame
         protected override void AddEventListener()
         {
             base.AddEventListener();
+            EventAgent.AddEventListener(ConstMessage.DOWNLOAD_FINISH, UpdateView);
+        }
+        protected override void RemoveEventListener()
+        {
+            base.RemoveEventListener();
+            EventAgent.RemoveEventListener(ConstMessage.DOWNLOAD_FINISH, UpdateView);
         }
         protected override void OnShown()
         {
@@ -67,7 +73,6 @@ namespace GFGGame
 
         protected override void OnHide()
         {
-
             DressUpObjUI dressUpObjUI = _ui.m_suitShow.data as DressUpObjUI;
             if (dressUpObjUI != null)
             {
@@ -78,13 +83,9 @@ namespace GFGGame
             Timers.inst.Remove(UpdateTime);
         }
 
-        protected override void RemoveEventListener()
-        {
-            base.RemoveEventListener();
-        }
         private void UpdateView()
         {
-            if (true)
+            if (MatchingCompetitionDataManager.Instance.MyNtextture == null)
             {
                 DressUpObjUI dressUpObjUI;
                 if (_ui.m_suitShow.data == null)
@@ -97,6 +98,16 @@ namespace GFGGame
                 dressUpObjUI.dressUpObj.PutOnSuitCfg(SuitID, showAction, new int[] { ConstDressUpItemType.BEI_JING }, false, false);
                 dressUpObjUI.UpdateWrapper(_ui.m_suitShow);
             }
+            else
+            {
+                DressUpObjUI dressUpObjUI = _ui.m_suitShow.data as DressUpObjUI;
+                if (dressUpObjUI != null)
+                {
+                    dressUpObjUI.Dispose();
+                }
+                _ui.m_suitShow.data = null;
+                _ui.m_playerImage.texture = MatchingCompetitionDataManager.Instance.MyNtextture;
+            }
         }
         private void UpdateTime(object param = null)
         {

+ 51 - 0
GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionLookView.cs

@@ -0,0 +1,51 @@
+using System;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using ET;
+using FairyGUI;
+using UI.MatchingCompetition;
+using UnityEngine;
+
+namespace GFGGame
+{
+    class MatchingCompetitionLookView : BaseWindow
+    {
+        private UI_MatchingCompetitionLookUI _ui;
+        public override void Dispose()
+        {
+            if (_ui != null)
+            {
+                _ui.Dispose();
+            }
+            _ui = null;
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_MatchingCompetitionLookUI.PACKAGE_NAME;
+            _ui = UI_MatchingCompetitionLookUI.Create();
+            this.viewCom = _ui.target;
+            isReturnView = true;
+            isfullScreen = true;
+
+            _ui.m_BtnBack.onClick.Add(OnClickBtnBack);
+        }
+        protected override void OnShown()
+        {
+            base.OnShown();
+            _ui.m_bg.url = ResPathUtil.GetBgImgPath("pxs_bj");
+            _ui.m_playerImage.texture = MatchingCompetitionDataManager.Instance.MyNtextture;
+        }
+
+        protected override void OnHide()
+        {
+            base.OnHide();
+        }
+        private void OnClickBtnBack()
+        {
+            ViewManager.GoBackFrom(typeof(MatchingCompetitionLookView).FullName);
+        }
+    }
+}

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

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

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

@@ -60,7 +60,8 @@ namespace GFGGame
             //isRefresh = (bool)this.viewData;       
             judgingCfg = JudgingRoundOpenCfgArray.Instance.GetCfg(MatchingCompetitionDataManager.Instance.MatchingCompetitionSeason);
             UpdateView();
-            UpdateDressLeft();
+            UpdatePlayer();
+            //UpdateDressLeft();
             ViewManager.Hide<ModalStatusView>();
         }
 
@@ -81,19 +82,30 @@ namespace GFGGame
         protected override void AddEventListener()
         {
             base.AddEventListener();
-            //EventAgent.AddEventListener(ConstMessage.DOWNLOAD_FINISH, UpdatePlayer);
+            EventAgent.AddEventListener(ConstMessage.DOWNLOAD_FINISH, UpdatePlayer);
             //EventAgent.AddEventListener(ConstMessage.DOWNLOAD_FINISH, UpdateDressLeft);
+            EventAgent.AddEventListener(ConstMessage.REWARDVIEW_CLOTHER, ShowReward);
         }
         protected override void RemoveEventListener()
         {
             base.RemoveEventListener();
-            //EventAgent.RemoveEventListener(ConstMessage.DOWNLOAD_FINISH, UpdatePlayer);
+            EventAgent.RemoveEventListener(ConstMessage.DOWNLOAD_FINISH, UpdatePlayer);
             //EventAgent.RemoveEventListener(ConstMessage.DOWNLOAD_FINISH, UpdateDressLeft);
+            EventAgent.RemoveEventListener(ConstMessage.REWARDVIEW_CLOTHER, ShowReward);
+        }
+        private void ShowReward()
+        {
+            if(MatchingCompetitionDataManager.Instance.SpecialBonusList != null && MatchingCompetitionDataManager.Instance.SpecialBonusList.Count > 0)
+            {
+                BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(MatchingCompetitionDataManager.Instance.SpecialBonusList)); ;
+                MatchingCompetitionDataManager.Instance.SpecialBonusList = null;
+            }
         }
         private async void UpdateDressLeft()
         {
             //ViewManager.Show<ModalStatusView>("获取搭配数据中...");
             MatchingLeftDataManager.Instance.itemGameObjs.Clear();
+            MatchingRightDataManager.Instance.itemGameObjs.Clear();
             PhotographDataManager.Instance.itemGameObjs.Clear();
             PhotographDataManager.Instance.dressUpObj?.Dispose();
             PhotographDataManager.Instance.dressUpObj = new DressUpObj();
@@ -120,7 +132,7 @@ namespace GFGGame
             {
                 PhotographSceneManager.Instance.AddBgItem(ItemCfgArray.Instance.GetCfg(MatchingLeftDataManager.Instance.DressUpBgID));
             }
-            PhotographSceneManager.Instance.AddBodyItem();
+            PhotographSceneManager.Instance.AddBodyItem(1);
             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);
@@ -135,21 +147,33 @@ namespace GFGGame
                 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);
+            await Task.Delay(200);
             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;
+                if (MatchingLeftDataManager.Instance.itemGameObjs[i].name == "Role")
+                {
+                    if (itemdata.position.y >= -5 || itemdata.position.y <= 5)
+                    {
+                        MatchingLeftDataManager.Instance.itemGameObjs[i].transform.position = new Vector3(itemdata.position.x, 0, 0);
+                    }
+                    if (itemdata.position.x >= -5 || itemdata.position.x <= 5)
+                    {
+                        MatchingLeftDataManager.Instance.itemGameObjs[i].transform.position = new Vector3(0, MatchingLeftDataManager.Instance.itemGameObjs[i].transform.position.y, 0);
+                    }
+                }
                 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");
             }
+            PhotographUtil.Instance.ChangeLayer(MatchingLeftDataManager.Instance.roleGameobj, 2 * PhotographDataManager.layerCount, "up");
+            await Task.Delay(50);
             UpdateDressRigh();
         }
         private async void UpdateDressRigh()
@@ -179,7 +203,7 @@ namespace GFGGame
             {
                 PhotographSceneManager.Instance.AddBgItem(ItemCfgArray.Instance.GetCfg(MatchingRightDataManager.Instance.DressUpBgID));
             }
-            PhotographSceneManager.Instance.AddBodyItem();
+            PhotographSceneManager.Instance.AddBodyItem(2);
             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);
@@ -197,27 +221,41 @@ namespace GFGGame
                     MatchingCompetitionDataManager.Instance.AddSceneItem(itemCfg, true,2);
                 }
             }
-            await Task.Delay(100);
+            await Task.Delay(200);
             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;
+                if (MatchingRightDataManager.Instance.itemGameObjs[i].name == "Role")
+                {
+                    if (itemdata.position.y >= -5 || itemdata.position.y <= 5)
+                    {
+                        MatchingRightDataManager.Instance.itemGameObjs[i].transform.position = new Vector3(itemdata.position.x, 0, 0);
+                    }
+                    if (itemdata.position.x >= -5 || itemdata.position.x <= 5)
+                    {
+                        MatchingRightDataManager.Instance.itemGameObjs[i].transform.position = new Vector3(0, MatchingRightDataManager.Instance.itemGameObjs[i].transform.position.y, 0);
+                    }
+                }
                 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");
             }
+            PhotographUtil.Instance.ChangeLayer(MatchingRightDataManager.Instance.roleGameobj, 2 * PhotographDataManager.layerCount, "up");
+            await Task.Delay(50);
             _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);
+            //_ui.m_playerShow1.m_playerImage.m_playerImage.texture = new NTexture(renderTexureLeft);
+            //_ui.m_playerShow2.m_playerImage.m_playerImage.texture = new NTexture(renderTexureRight);
+            _ui.m_playerShow1.m_playerImage.m_playerImage.texture = MatchingLeftDataManager.Instance.LeftRoleInfo.Ntexture;
+            _ui.m_playerShow2.m_playerImage.m_playerImage.texture = MatchingRightDataManager.Instance.RightRoleInfo.Ntexture;
             MatchingPhotoWorksData otherLeftdata = MatchingLeftDataManager.Instance.LeftRoleInfo;
             JudgingRoundRoleInfo otherLeftInfo = otherLeftdata.JudgingInfo;
             RoleInfoManager.Instance.UpdateHead(_ui.m_player1.m_head, otherLeftInfo.HeadItemId, otherLeftInfo.HeadBorderItemId);

+ 30 - 12
GameClient/Assets/Game/HotUpdate/Views/MatchingCompetition/MatchingCompetitionUpLoadView.cs

@@ -46,6 +46,7 @@ namespace GFGGame
             _ui.m_btnRank.onClick.Add(OnClickBtnRank);
             _ui.m_btnLook.onClick.Add(OnClickBtnLook);
             _ui.m_btnExchage.onClick.Add(OnClickBtnExchange);
+            _ui.m_beforeWork.onClick.Add(OnClickBtnBeforeWorks);
             _ui.m_ruleBtn.onClick.Add(MatchingCompetitionDataManager.Instance.OnClickBtnRule);
         }
         protected override void OnShown()
@@ -75,16 +76,17 @@ namespace GFGGame
         protected override void AddEventListener()
         {
             base.AddEventListener();
-            //EventAgent.AddEventListener(ConstMessage.DOWNLOAD_FINISH,UpdateDress);
+            EventAgent.AddEventListener(ConstMessage.DOWNLOAD_FINISH,UpdateDress);
         }
         protected override void RemoveEventListener()
         {
             base.RemoveEventListener();
-            //EventAgent.RemoveEventListener(ConstMessage.DOWNLOAD_FINISH, UpdateDress);
+            EventAgent.RemoveEventListener(ConstMessage.DOWNLOAD_FINISH, UpdateDress);
         }
         private async void UpdateDress()
         {
             //if (MatchingOneDataManager.Instance.MathingDressDate.actionId != 0)
+            if(false)
             {
                 _ui.m_bg.visible = false;
                 _ui.m_playerImage.visible = false;
@@ -113,7 +115,7 @@ namespace GFGGame
                 //对搭配赛特殊处理
                 for (int i = 0; i < MatchingOneDataManager.Instance.DressPropIdList.Count; i++)
                 {
-                    if (MatchingOneDataManager.Instance.DressPropIdList[i] == MatchingOneDataManager.Instance.roleID)
+                    if (MatchingOneDataManager.Instance.DressPropIdList[i] <= 0 )
                     {
                         continue;
                     }
@@ -123,24 +125,36 @@ namespace GFGGame
                         MatchingCompetitionDataManager.Instance.AddSceneItem(itemCfg, true);
                     }
                 }
-                await Task.Delay(100);
+                await Task.Delay(200);
                 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;
+                    if (MatchingOneDataManager.Instance.itemGameObjs[i].name == "Role")
+                    {
+                        if(itemdata.position.y >= -5 || itemdata.position.y <= 5)
+                        {
+                            MatchingOneDataManager.Instance.itemGameObjs[i].transform.position = new Vector3(itemdata.position.x,0,0);
+                        }
+                        if(itemdata.position.x >= -5 || itemdata.position.x <= 5)
+                        {
+                            MatchingOneDataManager.Instance.itemGameObjs[i].transform.position = new Vector3(0, MatchingOneDataManager.Instance.itemGameObjs[i].transform.position.y, 0);
+                        }
+                    }
                     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");
+                    PhotographUtil.Instance.ChangeLayer(MatchingOneDataManager.Instance.itemGameObjs[i], (i+1) * PhotographDataManager.layerCount, "up");
                 }
+                PhotographUtil.Instance.ChangeLayer(MatchingOneDataManager.Instance.roleGameobj, 2 * PhotographDataManager.layerCount, "up");
+            }
+            else
+            {
+                _ui.m_bg.visible = true;
+                _ui.m_playerImage.visible = true;
+                _ui.m_playerImage.texture = MatchingOneDataManager.Instance.OneRoleInfo.Ntexture;
             }
-            //else
-            //{
-            //    _ui.m_bg.visible = true;
-            //    _ui.m_playerImage.visible = true;
-            //    _ui.m_playerImage.texture = MatchingOneDataManager.Instance.OneRoleInfo.Ntexture;
-            //}
         }
         private void UpdateView()
         {
@@ -228,10 +242,14 @@ namespace GFGGame
         }
         private void OnClickBtnShop()
         {
-            ViewManager.Show<StoreView>(new object[] { ConstStoreTabId.STORE_GIFT_BAG, ConstStoreSubId.STORE_GIFT_BAG_ACTIVITY });
+            ViewManager.Show<StoreView>(new object[] { ConstStoreTabId.STORE_EXCHANGE, 3 });
         }
         private void OnClickBtnMyWorks()
         {
+            ViewManager.Show<MatchingCompetitionLookView>();
+        }
+        private void OnClickBtnBeforeWorks()
+        {
             ViewManager.Show<PoemPhotoView>(2);
         }
         private async void OnClickBtnRank()

BIN
GameClient/Assets/ResIn/UI/InstanceZones/InstanceZones_atlas0!a.png


BIN
GameClient/Assets/ResIn/UI/InstanceZones/InstanceZones_atlas0.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0!a.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_fui.bytes


BIN
GameClient/Assets/ResIn/UI/MatchingCompetition/MatchingCompetition_atlas0!a.png


BIN
GameClient/Assets/ResIn/UI/MatchingCompetition/MatchingCompetition_atlas0.png


BIN
GameClient/Assets/ResIn/UI/MatchingCompetition/MatchingCompetition_fui.bytes