Просмотр исходного кода

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

guodong 1 год назад
Родитель
Сommit
b0a2a6164e
100 измененных файлов с 1802 добавлено и 375 удалено
  1. 55 2
      GameClient/Assets/Editor/Excel/Scanner/ItemApproachScanner.cs
  2. 10 0
      GameClient/Assets/Game/HotUpdate/Constant/ConstMessage.cs
  3. 0 1
      GameClient/Assets/Game/HotUpdate/Controller/GuideController.cs
  4. 1 0
      GameClient/Assets/Game/HotUpdate/Controller/RedDotController.cs
  5. 1 1
      GameClient/Assets/Game/HotUpdate/Data/ArenaDataManager.cs
  6. 12 2
      GameClient/Assets/Game/HotUpdate/Data/CardDataManager.cs
  7. 137 24
      GameClient/Assets/Game/HotUpdate/Data/DressUpMenuItemDataManager.cs
  8. 26 0
      GameClient/Assets/Game/HotUpdate/Data/DressUpMenuSuitDataManager.cs
  9. 2 0
      GameClient/Assets/Game/HotUpdate/Data/ItemDataManager.cs
  10. 43 26
      GameClient/Assets/Game/HotUpdate/Data/LeagueDataManager.cs
  11. 22 1
      GameClient/Assets/Game/HotUpdate/Data/RedDotDataManager.cs
  12. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ListTargetItem.cs
  13. 6 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Card/UI_CardDetailUI.cs
  14. 71 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_Button21.cs
  15. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_Button21.cs.meta
  16. 9 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/FieldGuide/UI_CardGuideUI.cs
  17. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/FieldGuide/UI_ChapterGuideItem.cs
  18. 6 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/FieldGuide/UI_ChapterItemShowUI.cs
  19. 6 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/FieldGuide/UI_CompGuideItem.cs
  20. 6 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/FieldGuide/UI_DressUpGuideUI.cs
  21. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/FieldGuide/UI_FieldGuideUI.cs
  22. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/FieldGuide/UI_ListTravelAreaItem.cs
  23. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/FieldGuide/UI_ListTravelLocationItem.cs
  24. 6 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/FieldGuide/UI_SuitGuideDetailUI.cs
  25. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/FieldGuide/UI_SuitGuideUI.cs
  26. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/FieldGuide/UI_SuitStoryItem.cs
  27. 6 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/FieldGuide/UI_SuitTypeItem.cs
  28. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/FieldGuide/UI_SuitTypeItems.cs
  29. 6 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_LeagueAnswerUI.cs
  30. 0 9
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_LeagueTeaPartyOverUI.cs
  31. 12 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_LeagueTeaPartyRewardUI.cs
  32. 101 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_LeagueTeaPartyShowUI.cs
  33. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_LeagueTeaPartyShowUI.cs.meta
  34. 6 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_TeaPartyItemTips.cs
  35. 11 2
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_CompDialogName.cs
  36. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_CompDialogText.cs
  37. 6 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_MainUI.cs
  38. 6 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_StoryDialogUI.cs
  39. 6 12
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_ListVipItem.cs
  40. 86 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_WeekGiftUI.cs
  41. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_WeekGiftUI.cs.meta
  42. 73 4
      GameClient/Assets/Game/HotUpdate/ServerProxy/LeagueSproxy.cs
  43. 12 4
      GameClient/Assets/Game/HotUpdate/Utils/SuitUtil.cs
  44. 1 0
      GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaDressInfoView.cs
  45. 3 3
      GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaView.cs
  46. 30 3
      GameClient/Assets/Game/HotUpdate/Views/Card/CardDetailView.cs
  47. 12 5
      GameClient/Assets/Game/HotUpdate/Views/CommonGame/ApproachView.cs
  48. 1 0
      GameClient/Assets/Game/HotUpdate/Views/CommonGame/GoodsItemTipsView.cs
  49. 108 26
      GameClient/Assets/Game/HotUpdate/Views/DressUp/DressUpFightView.cs
  50. 28 2
      GameClient/Assets/Game/HotUpdate/Views/FieldGuide/CardGuideView.cs
  51. 1 0
      GameClient/Assets/Game/HotUpdate/Views/FieldGuide/ChapterItemGuideView.cs
  52. 1 0
      GameClient/Assets/Game/HotUpdate/Views/FieldGuide/ChapterItemShowView.cs
  53. 58 23
      GameClient/Assets/Game/HotUpdate/Views/FieldGuide/DressUpGuideView.cs
  54. 68 17
      GameClient/Assets/Game/HotUpdate/Views/FieldGuide/FieldGuideView.cs
  55. 9 0
      GameClient/Assets/Game/HotUpdate/Views/FieldGuide/SuitGuideDetailView.cs
  56. 138 35
      GameClient/Assets/Game/HotUpdate/Views/FieldGuide/SuitGuideView.cs
  57. 18 4
      GameClient/Assets/Game/HotUpdate/Views/League/LeagueAnswerView.cs
  58. 12 4
      GameClient/Assets/Game/HotUpdate/Views/League/LeagueTeaPartyOverView.cs
  59. 34 30
      GameClient/Assets/Game/HotUpdate/Views/League/LeagueTeaPartyRewardView.cs
  60. 119 0
      GameClient/Assets/Game/HotUpdate/Views/League/LeagueTeaPartyShowView.cs
  61. 11 0
      GameClient/Assets/Game/HotUpdate/Views/League/LeagueTeaPartyShowView.cs.meta
  62. 112 41
      GameClient/Assets/Game/HotUpdate/Views/League/LeagueTeaPartyView.cs
  63. 13 7
      GameClient/Assets/Game/HotUpdate/Views/League/LeagueView.cs
  64. 3 0
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryChapterView.cs
  65. 61 23
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryDialogView.cs
  66. 7 1
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StroyFightResultView.cs
  67. 14 7
      GameClient/Assets/Game/HotUpdate/Views/MainUI/MainUIView.cs
  68. 2 0
      GameClient/Assets/Game/HotUpdate/Views/Store/StoreBrocadeWeavView.cs
  69. 29 40
      GameClient/Assets/Game/HotUpdate/Views/Store/StoreChargeAddUpView.cs
  70. 83 0
      GameClient/Assets/Game/HotUpdate/Views/Store/WeekGiftView.cs
  71. 11 0
      GameClient/Assets/Game/HotUpdate/Views/Store/WeekGiftView.cs.meta
  72. 1 1
      GameClient/Assets/Game/HotUpdate/Views/Task/TaskView.cs
  73. 4 3
      GameClient/Assets/Game/HotUpdate/Views/ViewAnimationFactory.cs
  74. BIN
      GameClient/Assets/ResIn/UI/Arena/Arena_atlas0!a.png
  75. BIN
      GameClient/Assets/ResIn/UI/Arena/Arena_atlas0.png
  76. BIN
      GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_1!a.png
  77. BIN
      GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_1.png
  78. BIN
      GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_2!a.png
  79. BIN
      GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_2.png
  80. BIN
      GameClient/Assets/ResIn/UI/Arena/Arena_fui.bytes
  81. BIN
      GameClient/Assets/ResIn/UI/Card/Card_fui.bytes
  82. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_fui.bytes
  83. BIN
      GameClient/Assets/ResIn/UI/DressUp/DressUp_fui.bytes
  84. BIN
      GameClient/Assets/ResIn/UI/FieldGuide/FieldGuide_atlas0!a.png
  85. BIN
      GameClient/Assets/ResIn/UI/FieldGuide/FieldGuide_atlas0.png
  86. BIN
      GameClient/Assets/ResIn/UI/FieldGuide/FieldGuide_fui.bytes
  87. BIN
      GameClient/Assets/ResIn/UI/League/League_atlas0!a.png
  88. BIN
      GameClient/Assets/ResIn/UI/League/League_atlas0.png
  89. BIN
      GameClient/Assets/ResIn/UI/League/League_atlas0_1!a.png
  90. BIN
      GameClient/Assets/ResIn/UI/League/League_atlas0_1.png
  91. BIN
      GameClient/Assets/ResIn/UI/League/League_atlas0_2!a.png
  92. BIN
      GameClient/Assets/ResIn/UI/League/League_atlas0_2.png
  93. BIN
      GameClient/Assets/ResIn/UI/League/League_atlas0_3!a.png
  94. BIN
      GameClient/Assets/ResIn/UI/League/League_atlas0_3.png
  95. BIN
      GameClient/Assets/ResIn/UI/League/League_atlas0_4!a.png
  96. BIN
      GameClient/Assets/ResIn/UI/League/League_atlas0_4.png
  97. BIN
      GameClient/Assets/ResIn/UI/League/League_atlas0_5!a.png
  98. BIN
      GameClient/Assets/ResIn/UI/League/League_atlas0_5.png
  99. BIN
      GameClient/Assets/ResIn/UI/League/League_atlas0_6!a.png
  100. BIN
      GameClient/Assets/ResIn/UI/League/League_atlas0_6.png

+ 55 - 2
GameClient/Assets/Editor/Excel/Scanner/ItemApproachScanner.cs

@@ -2,6 +2,7 @@
 using UnityEngine;
 using GFGGame;
 using System;
+using System.Linq;
 
 namespace GFGEditor
 {
@@ -23,11 +24,15 @@ namespace GFGEditor
             Dictionary<SuitCfg, List<int>> suitDic = new Dictionary<SuitCfg, List<int>>();
             Dictionary<ItemCfg, List<int>> syntheticSuitDic = new Dictionary<ItemCfg, List<int>>();
             int suitPartTotalCount = 0;
+            int clothingPartsCount = 0;
+            int cardCount = 0;
             foreach (ItemCfg cfg in dataArray)
             {
                 HandleItemAndSuitTable(cfg, suitDic);
                 HandleItemApproch(cfg, actions);
                 HandleItemSyntheticSuit(cfg, syntheticSuitDic);
+                HandleItemAndDressUpTable(cfg, ref clothingPartsCount);
+                HandleItemAndCardTable(cfg, ref cardCount);
             }
             var globalCfg = GlobalCfgArray.globalCfg;
             SQLiteHelper.Instance.OpenConnection();
@@ -52,6 +57,8 @@ namespace GFGEditor
                     SQLiteHelper.Instance.UpdateValues(nameof(SuitCfgArray), names, values, nameof(a.Key.id), a.Key.id.ToString());
                 }
                 globalCfg.suitPartTotalCount = suitPartTotalCount;
+                globalCfg.ClothingPartsCount = clothingPartsCount;
+                globalCfg.CardCount = cardCount;
                 UpdateGlobalCfg(globalCfg);
 
                 //材料对应的套装id
@@ -74,8 +81,10 @@ namespace GFGEditor
 
         private static void UpdateGlobalCfg(GlobalCfg globalCfg)
         {
-            var names = new string[] { nameof(globalCfg.suitPartTotalCount) };
-            var values = new string[] { globalCfg.suitPartTotalCount.ToString() };
+            var names = new string[] 
+            { nameof(globalCfg.suitPartTotalCount), nameof(globalCfg.ClothingPartsCount), nameof(globalCfg.CardCount) };
+            var values = new string[] 
+            { globalCfg.suitPartTotalCount.ToString(), globalCfg.ClothingPartsCount.ToString(), globalCfg.CardCount.ToString() };
             SQLiteHelper.Instance.UpdateValues(nameof(GlobalCfgArray), names, values, nameof(globalCfg.id), globalCfg.id.ToString());
         }
 
@@ -130,6 +139,50 @@ namespace GFGEditor
             itemCfg.isHide = suitCfg.isHide;
         }
 
+        private static void HandleItemAndDressUpTable(ItemCfg itemCfg, ref int count)
+        {
+            if (itemCfg.isHide > 0)
+            {
+                return;
+            }
+            if (itemCfg.itemType == ConstItemType.DRESS_UP)
+            {
+                // 服装
+                bool isDressUp = Array.IndexOf(DressUpMenuItemDataManager.dressUpGuideSubType, itemCfg.subType) >= 0;
+                if (isDressUp)
+                {
+                    ++count;
+                    return;
+                }
+                // 饰品
+                bool isAccessories = Array.IndexOf(DressUpMenuItemDataManager.dressUpGuideAccessoriesType, itemCfg.subType) >= 0;
+                if (isAccessories)
+                {
+                    ++count;
+                    return;
+                }
+                // 特殊
+                bool isSpecial = itemCfg.subType > ConstDressUpItemType.TE_SHU;
+                if (isSpecial)
+                {
+                    ++count;
+                    return;
+                }
+            }
+        }
+
+        private static void HandleItemAndCardTable(ItemCfg itemCfg, ref int count)
+        {
+            if (itemCfg.isHide > 0)
+            {
+                return;
+            }
+            if (itemCfg.itemType == ConstItemType.CARD)
+            {
+                ++count;
+            }
+        }
+
         private static void HandleItemApproch(ItemCfg cfg, GetApproachCall[] actions)
         {
             if (cfg.id == 3000001 || cfg.id == 3000002 || cfg.id == 3000003)

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

@@ -162,7 +162,17 @@ namespace GFGGame
         //成就进度条
         public const string ACHIEVEMENT_TASK_PRO_CHANGED = "ACHIEVEMENT_TASK_PRO_CHANGED";
 
+        //茶话会领取奖励刷新
+        public const string TEA_PARTY_REWARD = "TEA_PARTY_REWARD";
+        //茶话会扮演角色坑位数据刷新
+        public const string TEA_PARTY_ROLE_CONTAINER = "TEA_PARTY_ROLE_CONTAINER";
+        //茶会状态刷新
+        public const string TEA_PARTY_STATU = "TEA_PARTY_STATU";
+
         //MainView to 同步刷新特惠礼包 限时礼包倒计时
         public const string LUCKY_BOX_TIME = "LUCKY_BOX_TIME";
+
+        // 服装散件图鉴配置加载完成
+        public const string DRESS_PART_LOAD_FINISHED = "DRESS_PART_LOAD_FINISHED";
     }
 }

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

@@ -185,7 +185,6 @@ namespace GFGGame
         {
 
             GuideCfg cfg = GuideCfgArray.Instance.GetCfg(guideKey);
-            bool result = false;
             if (cfg == null) return;
             if (!GuideDataManager.CheckAllIndexFinish(cfg.id, count)) return;
             TryCompleteGuide(guideKey);

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

@@ -25,6 +25,7 @@ namespace GFGGame
                 if (parentCom.GetChild("comResDot") != null)
                 {
                     comRedDot = parentCom.GetChild("comResDot").asCom;
+                    comRedDot.visible = true;
                     comRedDot.SetPosition(parentCom.width - comRedDot.width + left, top, 0);
 
                     return;

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Data/ArenaDataManager.cs

@@ -319,7 +319,7 @@ namespace GFGGame
                     {
                         count += 3;
                     }
-
+                    else
                     {
                         count++;
                     }

+ 12 - 2
GameClient/Assets/Game/HotUpdate/Data/CardDataManager.cs

@@ -313,6 +313,11 @@ namespace GFGGame
 
             for (int i = 0; i < itemCfgs.Count; i++)
             {
+                if (itemCfgs[i].isHide > 0)
+                {
+                    continue;
+                }
+
                 if (mainScore == 0 || itemCfgs[i].mainScore == mainScore)
                 {
                     result.Add(itemCfgs[i].id);
@@ -324,14 +329,19 @@ namespace GFGGame
 
         public static void GetTotalProgress(out int haveCount, out int totalCount, int mainScore = 0)
         {
-            List<ItemCfg> itemCfgs = ItemCfgArray.Instance.GetCfgsByitemType(ConstItemType.CARD);
-            totalCount = itemCfgs.Count;
+            totalCount = GlobalCfgArray.globalCfg.CardCount;
 
             if (mainScore != 0)
             {
+                List<ItemCfg> itemCfgs = ItemCfgArray.Instance.GetCfgsByitemType(ConstItemType.CARD);
                 totalCount = 0;
                 for (int i = 0; i < itemCfgs.Count; i++)
                 {
+                    if (itemCfgs[i].isHide > 0)
+                    {
+                        continue;
+                    }
+
                     if (itemCfgs[i].mainScore == mainScore)
                     {
                         ++totalCount;

+ 137 - 24
GameClient/Assets/Game/HotUpdate/Data/DressUpMenuItemDataManager.cs

@@ -4,6 +4,7 @@ using System;
 using UnityEngine;
 using ET;
 using FairyGUI;
+using System.Threading.Tasks;
 
 namespace GFGGame
 {
@@ -623,12 +624,12 @@ namespace GFGGame
             }
         }
 
-        private static int[] dressUpGuideSubType = {
+        public static int[] dressUpGuideSubType = {
             ConstDressUpItemType.FA_XING, ConstDressUpItemType.LIAN_YI_QUN , ConstDressUpItemType.NEI_DA,
             ConstDressUpItemType.WAI_TAO,ConstDressUpItemType.SHANG_YI,ConstDressUpItemType.XIA_ZHUANG,ConstDressUpItemType.WA_ZI,
             ConstDressUpItemType.XIE_ZI,ConstDressUpItemType.SHOU_CHI_WU, ConstDressUpItemType.ZHUANG_RONG};
 
-        private static int[] dressUpGuideAccessoriesType = {
+        public static int[] dressUpGuideAccessoriesType = {
             ConstDressUpItemType.TOU_SHI, ConstDressUpItemType.ER_SHI , ConstDressUpItemType.JING_SHI,
             ConstDressUpItemType.MIAN_BU,ConstDressUpItemType.YAO_SHI,ConstDressUpItemType.SHOU_SHI,ConstDressUpItemType.PI_BO};
         
@@ -644,7 +645,7 @@ namespace GFGGame
             List<int> result = new List<int>();
             List<ItemCfg> itemCfgs = new List<ItemCfg>();
            
-
+            // 全部
             if (subType == 0)
             {
                 // 除饰品外的散件
@@ -658,7 +659,18 @@ namespace GFGGame
                 {
                     itemCfgs.AddRange(ItemCfgArray.Instance.GetCfgsByitemTypeAndsubType(ConstItemType.DRESS_UP, dressUpGuideAccessoriesType[i]));
                 }
+
+                // 特殊
+                ItemTypeCfg[] itemTypeCfg = ItemTypeCfgArray.Instance.dataArray;
+                for (int i = 0; i < itemTypeCfg.Length; i++)
+                {
+                    if (itemTypeCfg[i].type > ConstDressUpItemType.TE_SHU)
+                    {
+                        itemCfgs.AddRange(ItemCfgArray.Instance.GetCfgsByitemTypeAndsubType(ConstItemType.DRESS_UP, itemTypeCfg[i].type));
+                    }
+                }
             }
+            // 指定子类型
             else
             {
                 if(subType == ConstDressUpItemType.TE_SHU)
@@ -676,7 +688,6 @@ namespace GFGGame
                 {
                     itemCfgs = ItemCfgArray.Instance.GetCfgsByitemTypeAndsubType(ConstItemType.DRESS_UP, subType);
                 }
-                
             }
 
             if (sorted)
@@ -709,12 +720,104 @@ namespace GFGGame
 
             for (int i = 0; i < itemCfgs.Count; i++)
             {
-                result.Add(itemCfgs[i].id);
+                if(itemCfgs[i].isHide <= 0)
+                {
+                    result.Add(itemCfgs[i].id);
+                }
+            }
+
+            return result;
+        }
+
+        public static List<int> GetAllDressUpGuideIdListBySubTypes(List<int> subTypes)
+        {
+            List<int> result = new List<int>();
+            List<ItemCfg> itemCfgs = new List<ItemCfg>();
+
+            for (int j = 0; j < subTypes.Count; j++)
+            {
+                int subType = subTypes[j];
+                if (subType == ConstDressUpItemType.TE_SHU)
+                {
+                    ItemTypeCfg[] itemTypeCfg = ItemTypeCfgArray.Instance.dataArray;
+                    for (int i = 0; i < itemTypeCfg.Length; i++)
+                    {
+                        if (itemTypeCfg[i].type > ConstDressUpItemType.TE_SHU)
+                        {
+                            itemCfgs.AddRange(ItemCfgArray.Instance.GetCfgsByitemTypeAndsubType(ConstItemType.DRESS_UP, itemTypeCfg[i].type));
+                        }
+                    }
+                }
+                else
+                {
+                    itemCfgs.AddRange(ItemCfgArray.Instance.GetCfgsByitemTypeAndsubType(ConstItemType.DRESS_UP, subType));
+                }
+            }
+
+
+            itemCfgs.Sort((a, b) =>
+            {
+                bool haveA = CheckHasItem(a.id);
+                bool haveB = CheckHasItem(b.id);
+
+                if (haveB && !haveA)
+                {
+                    return 1;
+                }
+                else if (!haveB && haveA)
+                {
+                    return -1;
+                }
+
+                if (a.rarity != b.rarity)
+                {
+                    return a.rarity > b.rarity ? -1 : 1;
+                }
+
+                return a.res.CompareTo(b.res);
+
+            });
+
+            for (int i = 0; i < itemCfgs.Count; i++)
+            {
+                if (itemCfgs[i].isHide <= 0)
+                {
+                    result.Add(itemCfgs[i].id);
+                }
             }
 
             return result;
         }
 
+        public static bool isLoading = false;
+        public static async Task GetAllDressUpGuideIdListBySubTypeAsync()
+        {
+            isLoading = true;
+            // 除饰品外的散件
+            for (int i = 0; i < dressUpGuideSubType.Length; i++)
+            {
+                await ItemCfgArray.Instance.GetCfgsByitemTypeAndsubTypeAsync(ConstItemType.DRESS_UP, dressUpGuideSubType[i]);
+            }
+
+            // 饰品
+            for (int i = 0; i < dressUpGuideAccessoriesType.Length; i++)
+            {
+                await ItemCfgArray.Instance.GetCfgsByitemTypeAndsubTypeAsync(ConstItemType.DRESS_UP, dressUpGuideAccessoriesType[i]);
+            }
+
+            // 特殊
+            ItemTypeCfg[] itemTypeCfg = ItemTypeCfgArray.Instance.dataArray;
+            for (int i = 0; i < itemTypeCfg.Length; i++)
+            {
+                if (itemTypeCfg[i].type > ConstDressUpItemType.TE_SHU)
+                {
+                    await ItemCfgArray.Instance.GetCfgsByitemTypeAndsubTypeAsync(ConstItemType.DRESS_UP, itemTypeCfg[i].type);
+                }
+            }
+            isLoading = false;
+            EventAgent.DispatchEvent(ConstMessage.DRESS_PART_LOAD_FINISHED);
+        }
+
         public static void SortDressUpGuideIdList(List<int> list)
         {
             list.Sort((a, b) =>
@@ -745,37 +848,47 @@ namespace GFGGame
         }
 
 
-        public static void GetTotalProgress(out int haveCount, out int totalCount, int subType = 0)
+        public static void GetTotalProgress(out int haveCount, out int totalCount)
         {
-            List<int> itemCfgs = GetAllDressUpGuideIdListBySubType(subType);
-            totalCount = itemCfgs.Count;
+            totalCount = GlobalCfgArray.globalCfg.ClothingPartsCount;
             haveCount = 0;
 
-            if (subType == 0)
+            // 除饰品外的散件
+            for (int i = 0; i < dressUpGuideSubType.Length; i++)
             {
-                // 除饰品外的散件
-                for (int i = 0; i < dressUpGuideSubType.Length; i++)
+                if (_itemDatasBySubTypeDic.ContainsKey(dressUpGuideSubType[i]))
                 {
-                    if (_itemDatasBySubTypeDic.ContainsKey(dressUpGuideSubType[i]))
-                    {
-                        haveCount += _itemDatasBySubTypeDic[dressUpGuideSubType[i]].Count;
-                    }
+                    haveCount += _itemDatasBySubTypeDic[dressUpGuideSubType[i]].Count;
                 }
+            }
 
-                // 饰品
-                for (int i = 0; i < dressUpGuideAccessoriesType.Length; i++)
+            // 饰品
+            for (int i = 0; i < dressUpGuideAccessoriesType.Length; i++)
+            {
+                if (_itemDatasBySubTypeDic.ContainsKey(dressUpGuideAccessoriesType[i]))
                 {
-                    if (_itemDatasBySubTypeDic.ContainsKey(dressUpGuideAccessoriesType[i]))
-                    {
-                        haveCount += _itemDatasBySubTypeDic[dressUpGuideAccessoriesType[i]].Count;
-                    }
+                    haveCount += _itemDatasBySubTypeDic[dressUpGuideAccessoriesType[i]].Count;
                 }
             }
-            else
+
+            // 特殊
+            if (_itemDatasBySubTypeDic.ContainsKey(ConstDressUpItemType.TE_SHU))
+            {
+                haveCount += _itemDatasBySubTypeDic[ConstDressUpItemType.TE_SHU].Count;
+            }
+        }
+        
+        //整理配置表数据
+        public static Dictionary<int, Dictionary<string, int>> GetTidyTagCfgArray(ItemCfg itemCfg)
+        {
+            Dictionary<int, Dictionary<string, int>> tagsArr = new Dictionary<int, Dictionary<string, int>>();
+            for (int t = 0; t < itemCfg.tagsArr.Length; t++)
             {
-                haveCount = _itemDatasBySubTypeDic.ContainsKey(subType) ? _itemDatasBySubTypeDic[subType].Count : 0;
+                Dictionary<string, int> arr = new Dictionary<string, int>();
+                arr.Add(itemCfg.tagsArr[t][0], Convert.ToInt32(itemCfg.tagsArr[t][1]));
+                tagsArr[t] = arr;
             }
+            return tagsArr;
         }
- 
     }
 }

+ 26 - 0
GameClient/Assets/Game/HotUpdate/Data/DressUpMenuSuitDataManager.cs

@@ -1,3 +1,4 @@
+using System;
 using System.Collections.Generic;
 using ET;
 
@@ -235,5 +236,30 @@ namespace GFGGame
             return suitCfg != null && ResPathUtil.CheckDressUpAnimationResExist(suitCfg.aniRes);
         }
 
+        //从配置表中累加计算出套装分数
+        public static Dictionary<int,Dictionary<string, int>> GetSuitTagCfgArray(int suitId)
+        {
+            var suitIDList = new List<int>(SuitCfgArray.Instance.GetSuitItems(suitId, true));
+            Dictionary<string, int> tagsArr = new Dictionary<string, int>();
+            Dictionary<int,Dictionary<string, int>> tagsSuitArr = new Dictionary<int, Dictionary<string, int>>();
+            int index = 0;
+            foreach (var id in suitIDList) {
+                ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(id);
+                for (int i = 0; i< itemCfg.tagsArr.Length;i ++){
+                    if (!tagsArr.ContainsKey(itemCfg.tagsArr[i][0]))
+                        tagsArr[itemCfg.tagsArr[i][0]] = Convert.ToInt32(itemCfg.tagsArr[i][1]);
+                    else 
+                        tagsArr[itemCfg.tagsArr[i][0]] += Convert.ToInt32(itemCfg.tagsArr[i][1]);
+                }
+            }
+            foreach (var info in tagsArr.Keys)
+            {
+                Dictionary<string, int> suitArr  = new Dictionary<string, int>();
+                suitArr.Add(info, tagsArr[info]);
+                tagsSuitArr[index] = suitArr;
+                index += 1;
+            }
+            return tagsSuitArr;
+        }
     }
 }

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

@@ -209,6 +209,8 @@ namespace GFGGame
                 Add(roleItem);
             }
             DressUpMenuItemDataManager.StartPreLoadItemCfg();
+            _ = DressUpMenuItemDataManager.GetAllDressUpGuideIdListBySubTypeAsync();
+
         }
 
         public static void InitServerDataItemAttribute(List<ItemAttributeProto> infos)

+ 43 - 26
GameClient/Assets/Game/HotUpdate/Data/LeagueDataManager.cs

@@ -32,12 +32,11 @@ namespace GFGGame
         public Dictionary<int, List<LeagueAnswerData>> ListAnswerRankDatas = new Dictionary<int, List<LeagueAnswerData>>();//答题排行榜数据,int:type//0:周排行 1:上周排行
         public int TeaPartyId = 0; //茶会期数 --未开启则期数为0
         public int TeaPartyStatus = 0; // 0未开启 1集结中 2已集结
-        public RoleTeapartyInfoProto RoleTeapartyInfoProto = new RoleTeapartyInfoProto(); // 玩家本期茶话会参与信息
+        public RoleTeapartyInfoProto RoleTeapartyInfo = new RoleTeapartyInfoProto(); // 玩家本期茶话会参与信息
         public List<RoleContainerProto> RoleContainerList = new List<RoleContainerProto>(); // 茶会每个扮演角色坑位信息
         public long TeaPartyCloseTime = 0; // 茶话会结束时间
         public int ChooseTeaPartId = 0; // 选择的茶话会类型
-
-
+        
         public void Clear()
         {
             Type = LeagueJoinType.UnJoin;
@@ -295,43 +294,61 @@ namespace GFGGame
             return matchedValue;
         }
 
-
         //茶话会个人奖励是否可以领取
+
         public bool CheckTeaPartyPersonRewardCanGet(int targetScore)
         {
-            var roleTeapartyInfoProto = LeagueDataManager.Instance.RoleTeapartyInfoProto;
-
-            ET.Log.Debug("打印测试----------infoinfo-------" + roleTeapartyInfoProto.PerAwardStatusVs.Count);
-
-            foreach (var info in roleTeapartyInfoProto.PerAwardStatusVs) {
-
-
-                //if (targetScore) { 
-                    
+            return CheckTeaPartyPersonRewardStatu(targetScore) == ConstBonusStatus.CAN_GET && LeagueDataManager.Instance.TeaPartyStatus == LeagueTeaPartyStatus.YesGo;
+        }
 
-                    
-                //}
+        //茶话会个人奖励当前状态
+        public int CheckTeaPartyPersonRewardStatu(int targetScore)
+        {
+            var roleTeapartyInfo = LeagueDataManager.Instance.RoleTeapartyInfo;
+            var teapartyRewardRoleCfg = TeapartyRewardRoleCfgArray.Instance.dataArray;
+            for (int i = 0; i < teapartyRewardRoleCfg.Length; i++)
+            {
+                if (teapartyRewardRoleCfg[i].targetScore == targetScore)
+                {
+                    return roleTeapartyInfo.PerAwardStatusVs[i];
+                }
+            }
+            return 0;
+        }
 
+        //茶话会雅集奖励是否可以领取
 
-            }
-            return false;
+        public bool CheckTeaPartyLeagueRewardCanGet(int targetScore)
+        {
+            return CheckTeaPartyLeagueRewardStatu(targetScore) == ConstBonusStatus.CAN_GET;
         }
 
-        //茶话会个人奖励是否可以领取
-        public bool CheckTeaPartyRewardCanGet(int targetScore)
+        //茶话会雅集奖励是否可以领取
+        public int CheckTeaPartyLeagueRewardStatu(int targetScore)
         {
-            var roleTeapartyInfoProto = LeagueDataManager.Instance.RoleTeapartyInfoProto;
+            var roleTeapartyInfo = LeagueDataManager.Instance.RoleTeapartyInfo;
+            var teapartyRewardLeagueCfgs = TeapartyRewardLeagueCfgArray.Instance.GetCfgsByid(LeagueDataManager.Instance.TeaPartyId);
 
-            foreach (var info in roleTeapartyInfoProto.LeagueAwardStatusVs)
+            for (int i = 0; i < teapartyRewardLeagueCfgs.Count; i++)
             {
-                ET.Log.Debug("打印测试----------infoinfo-------" + info);
-                //if (targetScore) { 
+                if (teapartyRewardLeagueCfgs[i].targetScore == targetScore)
+                {
+                    return roleTeapartyInfo.LeagueAwardStatusVs[i];
+                }
+            }
+            return 0;
+        }
 
+        //主界面雅集提示语判断
+        public string CheckLeagueMainTips()
+        {
+            if(LeagueDataManager.Instance.Type == LeagueJoinType.Join && LeagueDataManager.Instance.TeaPartyStatus == LeagueTeaPartyStatus.YesOpen && !LeagueDataManager.Instance.RoleTeapartyInfo.Status)
+                return "茶话会挑战中...";
 
+            if (LeagueDataManager.Instance.GetNumeriValue(LeagueNumericType.LeagueQuestionStatus) == LeagueQuestionStatus.Open || LeagueDataManager.Instance.GetNumeriValue(LeagueNumericType.LeagueQuestionStatus) == LeagueQuestionStatus.WaitNext)
+                return "雅集夜宴进行中...";
 
-                //}
-            }
-            return false;
+            return "";
         }
     }
 }

+ 22 - 1
GameClient/Assets/Game/HotUpdate/Data/RedDotDataManager.cs

@@ -47,8 +47,11 @@ namespace GFGGame
             {
                 return true;
             }
+
+            return false;
+
             //判断是否有通行证奖励可领取
-            return BattlePassTaskDataManager.Instance.GetHadCanGetReward();
+            //return BattlePassTaskDataManager.Instance.GetHadCanGetReward();
         }
 
         //七日活动红点
@@ -107,6 +110,24 @@ namespace GFGGame
         }
 
         /// <summary>
+        /// 套装收集种类界面奖励可领
+        /// </summary>
+        /// <returns></returns>
+        public bool GetSuitGuideRed(int typeIndex)
+        {
+            List<int> _suitIds = SuitUtil.GetSuitIdList(false, true, typeIndex, 3); //全部已获得套装按照收集度高排序
+            for (int i = 0; i < _suitIds.Count; i++)
+            {
+                int status = DressUpMenuSuitDataManager.GetSuitGuideBonusStatus(_suitIds[i]);
+                if (status == ConstBonusStatus.CAN_GET)
+                {
+                    return true;
+                }
+            }
+            return false;
+        }
+
+        /// <summary>
         /// 根据章节Id判断是否有奖励可领
         /// </summary>
         /// <returns></returns>

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ListTargetItem.cs

@@ -16,6 +16,7 @@ namespace UI.Arena
         public GTextField m_txtRank;
         public GTextField m_txtFightScore;
         public GImage m_imgUpDan;
+        public GLoader m_challengeBtn;
         public const string URL = "ui://4lc5fhlbpsph1m";
         public const string PACKAGE_NAME = "Arena";
         public const string RES_NAME = "ListTargetItem";
@@ -72,6 +73,7 @@ namespace UI.Arena
             m_txtRank = (GTextField)comp.GetChild("txtRank");
             m_txtFightScore = (GTextField)comp.GetChild("txtFightScore");
             m_imgUpDan = (GImage)comp.GetChild("imgUpDan");
+            m_challengeBtn = (GLoader)comp.GetChild("challengeBtn");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -84,6 +86,7 @@ namespace UI.Arena
             m_txtRank = null;
             m_txtFightScore = null;
             m_imgUpDan = null;
+            m_challengeBtn = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 6 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Card/UI_CardDetailUI.cs

@@ -13,6 +13,8 @@ namespace UI.Card
         public GList m_listRole;
         public GList m_listCard;
         public GTextField m_txtTips;
+        public Transition m_In;
+        public Transition m_Refresh;
         public const string URL = "ui://7l6lvkayojlz4";
         public const string PACKAGE_NAME = "Card";
         public const string RES_NAME = "CardDetailUI";
@@ -66,6 +68,8 @@ namespace UI.Card
             m_listRole = (GList)comp.GetChild("listRole");
             m_listCard = (GList)comp.GetChild("listCard");
             m_txtTips = (GTextField)comp.GetChild("txtTips");
+            m_In = comp.GetTransition("In");
+            m_Refresh = comp.GetTransition("Refresh");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -75,6 +79,8 @@ namespace UI.Card
             m_listRole = null;
             m_listCard = null;
             m_txtTips = null;
+            m_In = null;
+            m_Refresh = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 71 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_Button21.cs

@@ -0,0 +1,71 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.CommonGame
+{
+    public partial class UI_Button21
+    {
+        public GButton target;
+        public Transition m_fadeIn;
+        public const string URL = "ui://eg2y0ldps5lgtpn";
+        public const string PACKAGE_NAME = "CommonGame";
+        public const string RES_NAME = "Button21";
+        private static UI_Button21 _proxy;
+
+        public static UI_Button21 Create(GObject gObject = null)
+        {
+            var ui = new UI_Button21();
+            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_Button21 Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_Button21();
+            }
+            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_fadeIn = comp.GetTransition("fadeIn");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_fadeIn = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_Button21.cs.meta

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

+ 9 - 3
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/FieldGuide/UI_CardGuideUI.cs

@@ -9,9 +9,11 @@ namespace UI.FieldGuide
         public GComponent target;
         public GLoader m_loaBg;
         public GButton m_btnBack;
-        public GList m_listRole;
         public GList m_listCard;
+        public GList m_listRole;
         public UI_ProgressBar2 m_progress;
+        public Transition m_In;
+        public Transition m_Refresh;
         public const string URL = "ui://vqq9h9h4e3ot5t";
         public const string PACKAGE_NAME = "FieldGuide";
         public const string RES_NAME = "CardGuideUI";
@@ -61,18 +63,22 @@ namespace UI.FieldGuide
         {
             m_loaBg = (GLoader)comp.GetChild("loaBg");
             m_btnBack = (GButton)comp.GetChild("btnBack");
-            m_listRole = (GList)comp.GetChild("listRole");
             m_listCard = (GList)comp.GetChild("listCard");
+            m_listRole = (GList)comp.GetChild("listRole");
             m_progress = (UI_ProgressBar2)UI_ProgressBar2.Create(comp.GetChild("progress"));
+            m_In = comp.GetTransition("In");
+            m_Refresh = comp.GetTransition("Refresh");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_loaBg = null;
             m_btnBack = null;
-            m_listRole = null;
             m_listCard = null;
+            m_listRole = null;
             m_progress.Dispose();
             m_progress = null;
+            m_In = null;
+            m_Refresh = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/FieldGuide/UI_ChapterGuideItem.cs

@@ -10,6 +10,7 @@ namespace UI.FieldGuide
         public GLoader m_loaIcon;
         public GTextField m_txtDesc;
         public GGroup m_grpLock;
+        public Transition m_In;
         public const string URL = "ui://vqq9h9h4s61p29";
         public const string PACKAGE_NAME = "FieldGuide";
         public const string RES_NAME = "ChapterGuideItem";
@@ -60,12 +61,14 @@ namespace UI.FieldGuide
             m_loaIcon = (GLoader)comp.GetChild("loaIcon");
             m_txtDesc = (GTextField)comp.GetChild("txtDesc");
             m_grpLock = (GGroup)comp.GetChild("grpLock");
+            m_In = comp.GetTransition("In");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_loaIcon = null;
             m_txtDesc = null;
             m_grpLock = null;
+            m_In = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 6 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/FieldGuide/UI_ChapterItemShowUI.cs

@@ -12,6 +12,8 @@ namespace UI.FieldGuide
         public GLoader m_loaItem;
         public GTextField m_txtTitle;
         public GTextField m_txtDesc;
+        public Transition m_In;
+        public Transition m_Idle;
         public const string URL = "ui://vqq9h9h4s61p2i";
         public const string PACKAGE_NAME = "FieldGuide";
         public const string RES_NAME = "ChapterItemShowUI";
@@ -64,6 +66,8 @@ namespace UI.FieldGuide
             m_loaItem = (GLoader)comp.GetChild("loaItem");
             m_txtTitle = (GTextField)comp.GetChild("txtTitle");
             m_txtDesc = (GTextField)comp.GetChild("txtDesc");
+            m_In = comp.GetTransition("In");
+            m_Idle = comp.GetTransition("Idle");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -72,6 +76,8 @@ namespace UI.FieldGuide
             m_loaItem = null;
             m_txtTitle = null;
             m_txtDesc = null;
+            m_In = null;
+            m_Idle = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 6 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/FieldGuide/UI_CompGuideItem.cs

@@ -10,6 +10,8 @@ namespace UI.FieldGuide
         public GLoader m_loaderPic;
         public GTextField m_txtProgress;
         public GTextField m_progressSymbol;
+        public Transition m_In;
+        public Transition m_Init;
         public const string URL = "ui://vqq9h9h4pjipe";
         public const string PACKAGE_NAME = "FieldGuide";
         public const string RES_NAME = "CompGuideItem";
@@ -60,12 +62,16 @@ namespace UI.FieldGuide
             m_loaderPic = (GLoader)comp.GetChild("loaderPic");
             m_txtProgress = (GTextField)comp.GetChild("txtProgress");
             m_progressSymbol = (GTextField)comp.GetChild("progressSymbol");
+            m_In = comp.GetTransition("In");
+            m_Init = comp.GetTransition("Init");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_loaderPic = null;
             m_txtProgress = null;
             m_progressSymbol = null;
+            m_In = null;
+            m_Init = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 6 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/FieldGuide/UI_DressUpGuideUI.cs

@@ -17,6 +17,8 @@ namespace UI.FieldGuide
         public GTextField m_txtTips;
         public UI_ProgressBar2 m_progressBar;
         public GButton m_btnSearch;
+        public Transition m_In;
+        public Transition m_Refresh;
         public const string URL = "ui://vqq9h9h493pb49";
         public const string PACKAGE_NAME = "FieldGuide";
         public const string RES_NAME = "DressUpGuideUI";
@@ -74,6 +76,8 @@ namespace UI.FieldGuide
             m_txtTips = (GTextField)comp.GetChild("txtTips");
             m_progressBar = (UI_ProgressBar2)UI_ProgressBar2.Create(comp.GetChild("progressBar"));
             m_btnSearch = (GButton)comp.GetChild("btnSearch");
+            m_In = comp.GetTransition("In");
+            m_Refresh = comp.GetTransition("Refresh");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -88,6 +92,8 @@ namespace UI.FieldGuide
             m_progressBar.Dispose();
             m_progressBar = null;
             m_btnSearch = null;
+            m_In = null;
+            m_Refresh = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/FieldGuide/UI_FieldGuideUI.cs

@@ -10,6 +10,7 @@ namespace UI.FieldGuide
         public GLoader m_loaBg;
         public GButton m_btnBack;
         public GList m_listGuide;
+        public Transition m_In;
         public const string URL = "ui://vqq9h9h4pjip1";
         public const string PACKAGE_NAME = "FieldGuide";
         public const string RES_NAME = "FieldGuideUI";
@@ -60,12 +61,14 @@ namespace UI.FieldGuide
             m_loaBg = (GLoader)comp.GetChild("loaBg");
             m_btnBack = (GButton)comp.GetChild("btnBack");
             m_listGuide = (GList)comp.GetChild("listGuide");
+            m_In = comp.GetTransition("In");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_loaBg = null;
             m_btnBack = null;
             m_listGuide = null;
+            m_In = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/FieldGuide/UI_ListTravelAreaItem.cs

@@ -8,6 +8,7 @@ namespace UI.FieldGuide
     {
         public GComponent target;
         public GLoader m_loaIcon;
+        public Transition m_In;
         public const string URL = "ui://vqq9h9h4wono2l";
         public const string PACKAGE_NAME = "FieldGuide";
         public const string RES_NAME = "ListTravelAreaItem";
@@ -56,10 +57,12 @@ namespace UI.FieldGuide
         private void Init(GComponent comp)
         {
             m_loaIcon = (GLoader)comp.GetChild("loaIcon");
+            m_In = comp.GetTransition("In");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_loaIcon = null;
+            m_In = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/FieldGuide/UI_ListTravelLocationItem.cs

@@ -11,6 +11,7 @@ namespace UI.FieldGuide
         public UI_ComTravel m_comLocation;
         public GTextField m_txtName;
         public GTextField m_txtCount;
+        public Transition m_In;
         public const string URL = "ui://vqq9h9h4wono2m";
         public const string PACKAGE_NAME = "FieldGuide";
         public const string RES_NAME = "ListTravelLocationItem";
@@ -62,6 +63,7 @@ namespace UI.FieldGuide
             m_comLocation = (UI_ComTravel)UI_ComTravel.Create(comp.GetChild("comLocation"));
             m_txtName = (GTextField)comp.GetChild("txtName");
             m_txtCount = (GTextField)comp.GetChild("txtCount");
+            m_In = comp.GetTransition("In");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -70,6 +72,7 @@ namespace UI.FieldGuide
             m_comLocation = null;
             m_txtName = null;
             m_txtCount = null;
+            m_In = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 6 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/FieldGuide/UI_SuitGuideDetailUI.cs

@@ -13,6 +13,8 @@ namespace UI.FieldGuide
         public GTextField m_title;
         public GButton m_btnSearch;
         public UI_ProgressBar4 m_progress;
+        public Transition m_In;
+        public Transition m_Refresh;
         public const string URL = "ui://vqq9h9h4e3ot6l";
         public const string PACKAGE_NAME = "FieldGuide";
         public const string RES_NAME = "SuitGuideDetailUI";
@@ -66,6 +68,8 @@ namespace UI.FieldGuide
             m_title = (GTextField)comp.GetChild("title");
             m_btnSearch = (GButton)comp.GetChild("btnSearch");
             m_progress = (UI_ProgressBar4)UI_ProgressBar4.Create(comp.GetChild("progress"));
+            m_In = comp.GetTransition("In");
+            m_Refresh = comp.GetTransition("Refresh");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -76,6 +80,8 @@ namespace UI.FieldGuide
             m_btnSearch = null;
             m_progress.Dispose();
             m_progress = null;
+            m_In = null;
+            m_Refresh = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/FieldGuide/UI_SuitGuideUI.cs

@@ -10,6 +10,7 @@ namespace UI.FieldGuide
         public Controller m_c1;
         public GLoader m_loaBg;
         public GButton m_btnBack;
+        public GLoader m_icon;
         public GList m_suitTypeList;
         public UI_SuitTypeItems m_suitTypeItems;
         public GList m_suitType2Items;
@@ -63,6 +64,7 @@ namespace UI.FieldGuide
             m_c1 = comp.GetController("c1");
             m_loaBg = (GLoader)comp.GetChild("loaBg");
             m_btnBack = (GButton)comp.GetChild("btnBack");
+            m_icon = (GLoader)comp.GetChild("icon");
             m_suitTypeList = (GList)comp.GetChild("suitTypeList");
             m_suitTypeItems = (UI_SuitTypeItems)UI_SuitTypeItems.Create(comp.GetChild("suitTypeItems"));
             m_suitType2Items = (GList)comp.GetChild("suitType2Items");
@@ -72,6 +74,7 @@ namespace UI.FieldGuide
             m_c1 = null;
             m_loaBg = null;
             m_btnBack = null;
+            m_icon = null;
             m_suitTypeList = null;
             m_suitTypeItems.Dispose();
             m_suitTypeItems = null;

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/FieldGuide/UI_SuitStoryItem.cs

@@ -10,6 +10,7 @@ namespace UI.FieldGuide
         public GImage m_icon;
         public GTextField m_title;
         public GTextField m_progressNum;
+        public Transition m_In;
         public const string URL = "ui://vqq9h9h4e3ot6k";
         public const string PACKAGE_NAME = "FieldGuide";
         public const string RES_NAME = "SuitStoryItem";
@@ -60,12 +61,14 @@ namespace UI.FieldGuide
             m_icon = (GImage)comp.GetChild("icon");
             m_title = (GTextField)comp.GetChild("title");
             m_progressNum = (GTextField)comp.GetChild("progressNum");
+            m_In = comp.GetTransition("In");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_icon = null;
             m_title = null;
             m_progressNum = null;
+            m_In = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 6 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/FieldGuide/UI_SuitTypeItem.cs

@@ -10,6 +10,8 @@ namespace UI.FieldGuide
         public GLoader m_icon;
         public GTextField m_title;
         public UI_ProgressBar3 m_progress;
+        public Transition m_In;
+        public Transition m_Init;
         public const string URL = "ui://vqq9h9h4e3ot6e";
         public const string PACKAGE_NAME = "FieldGuide";
         public const string RES_NAME = "SuitTypeItem";
@@ -60,6 +62,8 @@ namespace UI.FieldGuide
             m_icon = (GLoader)comp.GetChild("icon");
             m_title = (GTextField)comp.GetChild("title");
             m_progress = (UI_ProgressBar3)UI_ProgressBar3.Create(comp.GetChild("progress"));
+            m_In = comp.GetTransition("In");
+            m_Init = comp.GetTransition("Init");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -67,6 +71,8 @@ namespace UI.FieldGuide
             m_title = null;
             m_progress.Dispose();
             m_progress = null;
+            m_In = null;
+            m_Init = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/FieldGuide/UI_SuitTypeItems.cs

@@ -14,6 +14,7 @@ namespace UI.FieldGuide
         public UI_SuitTypeItem m_item5;
         public UI_SuitTypeItem m_item6;
         public UI_SuitTypeItem m_item7;
+        public Transition m_In;
         public const string URL = "ui://vqq9h9h4e3ot6f";
         public const string PACKAGE_NAME = "FieldGuide";
         public const string RES_NAME = "SuitTypeItems";
@@ -68,6 +69,7 @@ namespace UI.FieldGuide
             m_item5 = (UI_SuitTypeItem)UI_SuitTypeItem.Create(comp.GetChild("item5"));
             m_item6 = (UI_SuitTypeItem)UI_SuitTypeItem.Create(comp.GetChild("item6"));
             m_item7 = (UI_SuitTypeItem)UI_SuitTypeItem.Create(comp.GetChild("item7"));
+            m_In = comp.GetTransition("In");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -85,6 +87,7 @@ namespace UI.FieldGuide
             m_item6 = null;
             m_item7.Dispose();
             m_item7 = null;
+            m_In = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 6 - 3
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_LeagueAnswerUI.cs

@@ -15,7 +15,8 @@ namespace UI.League
         public GTextField m_txtRule;
         public GTextField m_txtTime;
         public GButton m_btnAnswer;
-        public GTextField m_txtRule_2;
+        public GTextField m_txtPlayRule;
+        public GButton m_btnTeaParty;
         public const string URL = "ui://tw70qm9dpvb452";
         public const string PACKAGE_NAME = "League";
         public const string RES_NAME = "LeagueAnswerUI";
@@ -71,7 +72,8 @@ namespace UI.League
             m_txtRule = (GTextField)comp.GetChild("txtRule");
             m_txtTime = (GTextField)comp.GetChild("txtTime");
             m_btnAnswer = (GButton)comp.GetChild("btnAnswer");
-            m_txtRule_2 = (GTextField)comp.GetChild("txtRule");
+            m_txtPlayRule = (GTextField)comp.GetChild("txtPlayRule");
+            m_btnTeaParty = (GButton)comp.GetChild("btnTeaParty");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -84,7 +86,8 @@ namespace UI.League
             m_txtRule = null;
             m_txtTime = null;
             m_btnAnswer = null;
-            m_txtRule_2 = null;
+            m_txtPlayRule = null;
+            m_btnTeaParty = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 0 - 9
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_LeagueTeaPartyOverUI.cs

@@ -15,9 +15,6 @@ namespace UI.League
         public UI_comTeaPartyOverItem m_TeaPartyOverItem4;
         public UI_comTeaPartyOverItem m_TeaPartyOverItem5;
         public UI_comTeaPartyOverItem m_TeaPartyOverItem6;
-        public GButton m_btnReward;
-        public GButton m_btnRule;
-        public GTextField m_txtTeaName;
         public const string URL = "ui://tw70qm9dic4otq4";
         public const string PACKAGE_NAME = "League";
         public const string RES_NAME = "LeagueTeaPartyOverUI";
@@ -73,9 +70,6 @@ namespace UI.League
             m_TeaPartyOverItem4 = (UI_comTeaPartyOverItem)UI_comTeaPartyOverItem.Create(comp.GetChild("TeaPartyOverItem4"));
             m_TeaPartyOverItem5 = (UI_comTeaPartyOverItem)UI_comTeaPartyOverItem.Create(comp.GetChild("TeaPartyOverItem5"));
             m_TeaPartyOverItem6 = (UI_comTeaPartyOverItem)UI_comTeaPartyOverItem.Create(comp.GetChild("TeaPartyOverItem6"));
-            m_btnReward = (GButton)comp.GetChild("btnReward");
-            m_btnRule = (GButton)comp.GetChild("btnRule");
-            m_txtTeaName = (GTextField)comp.GetChild("txtTeaName");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -93,9 +87,6 @@ namespace UI.League
             m_TeaPartyOverItem5 = null;
             m_TeaPartyOverItem6.Dispose();
             m_TeaPartyOverItem6 = null;
-            m_btnReward = null;
-            m_btnRule = null;
-            m_txtTeaName = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 12 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_LeagueTeaPartyRewardUI.cs

@@ -16,6 +16,10 @@ namespace UI.League
         public GLoader m_StartIndex;
         public GLoader m_EndLeagueIndex;
         public GLoader m_StartLeagueIndex;
+        public GTextField m_txtRoleScore;
+        public GTextField m_txtLevel;
+        public GTextField m_txtLeagueScore;
+        public GTextField m_txtLevel_2;
         public const string URL = "ui://tw70qm9dic4otpz";
         public const string PACKAGE_NAME = "League";
         public const string RES_NAME = "LeagueTeaPartyRewardUI";
@@ -72,6 +76,10 @@ namespace UI.League
             m_StartIndex = (GLoader)comp.GetChild("StartIndex");
             m_EndLeagueIndex = (GLoader)comp.GetChild("EndLeagueIndex");
             m_StartLeagueIndex = (GLoader)comp.GetChild("StartLeagueIndex");
+            m_txtRoleScore = (GTextField)comp.GetChild("txtRoleScore");
+            m_txtLevel = (GTextField)comp.GetChild("txtLevel");
+            m_txtLeagueScore = (GTextField)comp.GetChild("txtLeagueScore");
+            m_txtLevel_2 = (GTextField)comp.GetChild("txtLevel");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -84,6 +92,10 @@ namespace UI.League
             m_StartIndex = null;
             m_EndLeagueIndex = null;
             m_StartLeagueIndex = null;
+            m_txtRoleScore = null;
+            m_txtLevel = null;
+            m_txtLeagueScore = null;
+            m_txtLevel_2 = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 101 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_LeagueTeaPartyShowUI.cs

@@ -0,0 +1,101 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.League
+{
+    public partial class UI_LeagueTeaPartyShowUI
+    {
+        public GComponent target;
+        public GLoader m_loaBg;
+        public GButton m_btnBack;
+        public UI_comTeaPartyOverItem m_TeaPartyOverItem1;
+        public UI_comTeaPartyOverItem m_TeaPartyOverItem2;
+        public UI_comTeaPartyOverItem m_TeaPartyOverItem3;
+        public UI_comTeaPartyOverItem m_TeaPartyOverItem4;
+        public UI_comTeaPartyOverItem m_TeaPartyOverItem5;
+        public UI_comTeaPartyOverItem m_TeaPartyOverItem6;
+        public GTextField m_txtCountdown;
+        public const string URL = "ui://tw70qm9dn9lgtqq";
+        public const string PACKAGE_NAME = "League";
+        public const string RES_NAME = "LeagueTeaPartyShowUI";
+        private static UI_LeagueTeaPartyShowUI _proxy;
+
+        public static UI_LeagueTeaPartyShowUI Create(GObject gObject = null)
+        {
+            var ui = new UI_LeagueTeaPartyShowUI();
+            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_LeagueTeaPartyShowUI Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_LeagueTeaPartyShowUI();
+            }
+            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_loaBg = (GLoader)comp.GetChild("loaBg");
+            m_btnBack = (GButton)comp.GetChild("btnBack");
+            m_TeaPartyOverItem1 = (UI_comTeaPartyOverItem)UI_comTeaPartyOverItem.Create(comp.GetChild("TeaPartyOverItem1"));
+            m_TeaPartyOverItem2 = (UI_comTeaPartyOverItem)UI_comTeaPartyOverItem.Create(comp.GetChild("TeaPartyOverItem2"));
+            m_TeaPartyOverItem3 = (UI_comTeaPartyOverItem)UI_comTeaPartyOverItem.Create(comp.GetChild("TeaPartyOverItem3"));
+            m_TeaPartyOverItem4 = (UI_comTeaPartyOverItem)UI_comTeaPartyOverItem.Create(comp.GetChild("TeaPartyOverItem4"));
+            m_TeaPartyOverItem5 = (UI_comTeaPartyOverItem)UI_comTeaPartyOverItem.Create(comp.GetChild("TeaPartyOverItem5"));
+            m_TeaPartyOverItem6 = (UI_comTeaPartyOverItem)UI_comTeaPartyOverItem.Create(comp.GetChild("TeaPartyOverItem6"));
+            m_txtCountdown = (GTextField)comp.GetChild("txtCountdown");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_loaBg = null;
+            m_btnBack = null;
+            m_TeaPartyOverItem1.Dispose();
+            m_TeaPartyOverItem1 = null;
+            m_TeaPartyOverItem2.Dispose();
+            m_TeaPartyOverItem2 = null;
+            m_TeaPartyOverItem3.Dispose();
+            m_TeaPartyOverItem3 = null;
+            m_TeaPartyOverItem4.Dispose();
+            m_TeaPartyOverItem4 = null;
+            m_TeaPartyOverItem5.Dispose();
+            m_TeaPartyOverItem5 = null;
+            m_TeaPartyOverItem6.Dispose();
+            m_TeaPartyOverItem6 = null;
+            m_txtCountdown = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_LeagueTeaPartyShowUI.cs.meta

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

+ 6 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_TeaPartyItemTips.cs

@@ -8,6 +8,8 @@ namespace UI.League
     {
         public GComponent target;
         public GGraph m_touch;
+        public GTextField m_txtName;
+        public GTextField m_txtDesc;
         public GGroup m_window;
         public const string URL = "ui://tw70qm9dchwotpu";
         public const string PACKAGE_NAME = "League";
@@ -57,11 +59,15 @@ namespace UI.League
         private void Init(GComponent comp)
         {
             m_touch = (GGraph)comp.GetChild("touch");
+            m_txtName = (GTextField)comp.GetChild("txtName");
+            m_txtDesc = (GTextField)comp.GetChild("txtDesc");
             m_window = (GGroup)comp.GetChild("window");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_touch = null;
+            m_txtName = null;
+            m_txtDesc = null;
             m_window = null;
             if(disposeTarget && target != null)
             {

+ 11 - 2
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_CompDialogName.cs

@@ -7,10 +7,13 @@ namespace UI.Main
     public partial class UI_CompDialogName
     {
         public GComponent target;
-        public GImage m_bg;
+        public Controller m_bgType;
+        public Controller m_showArrow;
+        public GLoader m_bg;
         public GTextField m_txtContent;
         public UI_CompArrow m_iconNext;
         public GTextField m_txtName;
+        public Transition m_t0;
         public const string URL = "ui://mfvz4q8knmnb30";
         public const string PACKAGE_NAME = "Main";
         public const string RES_NAME = "CompDialogName";
@@ -58,18 +61,24 @@ namespace UI.Main
 
         private void Init(GComponent comp)
         {
-            m_bg = (GImage)comp.GetChild("bg");
+            m_bgType = comp.GetController("bgType");
+            m_showArrow = comp.GetController("showArrow");
+            m_bg = (GLoader)comp.GetChild("bg");
             m_txtContent = (GTextField)comp.GetChild("txtContent");
             m_iconNext = (UI_CompArrow)UI_CompArrow.Create(comp.GetChild("iconNext"));
             m_txtName = (GTextField)comp.GetChild("txtName");
+            m_t0 = comp.GetTransition("t0");
         }
         public void Dispose(bool disposeTarget = false)
         {
+            m_bgType = null;
+            m_showArrow = null;
             m_bg = null;
             m_txtContent = null;
             m_iconNext.Dispose();
             m_iconNext = null;
             m_txtName = null;
+            m_t0 = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

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

@@ -7,6 +7,7 @@ namespace UI.Main
     public partial class UI_CompDialogText
     {
         public GComponent target;
+        public Controller m_showArrow;
         public GTextField m_txtContent;
         public UI_CompArrow m_iconNext;
         public const string URL = "ui://mfvz4q8knmnb2z";
@@ -56,11 +57,13 @@ namespace UI.Main
 
         private void Init(GComponent comp)
         {
+            m_showArrow = comp.GetController("showArrow");
             m_txtContent = (GTextField)comp.GetChild("txtContent");
             m_iconNext = (UI_CompArrow)UI_CompArrow.Create(comp.GetChild("iconNext"));
         }
         public void Dispose(bool disposeTarget = false)
         {
+            m_showArrow = null;
             m_txtContent = null;
             m_iconNext.Dispose();
             m_iconNext = null;

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

@@ -8,7 +8,8 @@ namespace UI.Main
     {
         public GComponent target;
         public GComponent m_valueBar;
-        public GGroup m_grpLeagueAnswer;
+        public GTextField m_grpLeaguetext;
+        public GGroup m_grpLeagueTips;
         public UI_ButtonModle1 m_btnMain;
         public UI_ButtonModle1 m_btnHuanZhuang;
         public UI_ButtonModle1 m_btnXiuFang;
@@ -92,7 +93,8 @@ namespace UI.Main
         private void Init(GComponent comp)
         {
             m_valueBar = (GComponent)comp.GetChild("valueBar");
-            m_grpLeagueAnswer = (GGroup)comp.GetChild("grpLeagueAnswer");
+            m_grpLeaguetext = (GTextField)comp.GetChild("grpLeaguetext");
+            m_grpLeagueTips = (GGroup)comp.GetChild("grpLeagueTips");
             m_btnMain = (UI_ButtonModle1)UI_ButtonModle1.Create(comp.GetChild("btnMain"));
             m_btnHuanZhuang = (UI_ButtonModle1)UI_ButtonModle1.Create(comp.GetChild("btnHuanZhuang"));
             m_btnXiuFang = (UI_ButtonModle1)UI_ButtonModle1.Create(comp.GetChild("btnXiuFang"));
@@ -132,7 +134,8 @@ namespace UI.Main
         public void Dispose(bool disposeTarget = false)
         {
             m_valueBar = null;
-            m_grpLeagueAnswer = null;
+            m_grpLeaguetext = null;
+            m_grpLeagueTips = null;
             m_btnMain.Dispose();
             m_btnMain = null;
             m_btnHuanZhuang.Dispose();

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

@@ -19,8 +19,9 @@ namespace UI.Main
         public GButton m_btnAutoPlay;
         public GButton m_btnSpeedUp;
         public GButton m_btnSkip;
+        public GTextField m_txtPlayName;
+        public GGroup m_comPlayName;
         public Transition m_t0;
-        public Transition m_t1;
         public const string URL = "ui://mfvz4q8kxuzk2i";
         public const string PACKAGE_NAME = "Main";
         public const string RES_NAME = "StoryDialogUI";
@@ -80,8 +81,9 @@ namespace UI.Main
             m_btnAutoPlay = (GButton)comp.GetChild("btnAutoPlay");
             m_btnSpeedUp = (GButton)comp.GetChild("btnSpeedUp");
             m_btnSkip = (GButton)comp.GetChild("btnSkip");
+            m_txtPlayName = (GTextField)comp.GetChild("txtPlayName");
+            m_comPlayName = (GGroup)comp.GetChild("comPlayName");
             m_t0 = comp.GetTransition("t0");
-            m_t1 = comp.GetTransition("t1");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -100,8 +102,9 @@ namespace UI.Main
             m_btnAutoPlay = null;
             m_btnSpeedUp = null;
             m_btnSkip = null;
+            m_txtPlayName = null;
+            m_comPlayName = null;
             m_t0 = null;
-            m_t1 = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 6 - 12
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_ListVipItem.cs

@@ -14,12 +14,10 @@ namespace UI.Store
         public GTextField m_txtName2;
         public GTextField m_txtName3;
         public GTextField m_txtName4;
-        public GTextField m_txtGiftBag;
         public GList m_listGiftBag;
         public GButton m_btnGetGiftBag;
-        public GTextField m_txtWeekGiftBag;
-        public GList m_listWeekGiftBag;
-        public GButton m_btnGetWeekGiftBag;
+        public GTextField m_txtGiftBag;
+        public GButton m_btnWeek;
         public const string URL = "ui://p9mtgheoqik1tby";
         public const string PACKAGE_NAME = "Store";
         public const string RES_NAME = "ListVipItem";
@@ -74,12 +72,10 @@ namespace UI.Store
             m_txtName2 = (GTextField)comp.GetChild("txtName2");
             m_txtName3 = (GTextField)comp.GetChild("txtName3");
             m_txtName4 = (GTextField)comp.GetChild("txtName4");
-            m_txtGiftBag = (GTextField)comp.GetChild("txtGiftBag");
             m_listGiftBag = (GList)comp.GetChild("listGiftBag");
             m_btnGetGiftBag = (GButton)comp.GetChild("btnGetGiftBag");
-            m_txtWeekGiftBag = (GTextField)comp.GetChild("txtWeekGiftBag");
-            m_listWeekGiftBag = (GList)comp.GetChild("listWeekGiftBag");
-            m_btnGetWeekGiftBag = (GButton)comp.GetChild("btnGetWeekGiftBag");
+            m_txtGiftBag = (GTextField)comp.GetChild("txtGiftBag");
+            m_btnWeek = (GButton)comp.GetChild("btnWeek");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -90,12 +86,10 @@ namespace UI.Store
             m_txtName2 = null;
             m_txtName3 = null;
             m_txtName4 = null;
-            m_txtGiftBag = null;
             m_listGiftBag = null;
             m_btnGetGiftBag = null;
-            m_txtWeekGiftBag = null;
-            m_listWeekGiftBag = null;
-            m_btnGetWeekGiftBag = null;
+            m_txtGiftBag = null;
+            m_btnWeek = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 86 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_WeekGiftUI.cs

@@ -0,0 +1,86 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.Store
+{
+    public partial class UI_WeekGiftUI
+    {
+        public GComponent target;
+        public Controller m_c1;
+        public GComponent m_bg;
+        public GTextField m_txtLock;
+        public GTextField m_txtWeekGiftBag;
+        public GList m_listWeekGiftBag;
+        public GButton m_btnGetWeekGiftBag;
+        public const string URL = "ui://p9mtgheoe98ntdw";
+        public const string PACKAGE_NAME = "Store";
+        public const string RES_NAME = "WeekGiftUI";
+        private static UI_WeekGiftUI _proxy;
+
+        public static UI_WeekGiftUI Create(GObject gObject = null)
+        {
+            var ui = new UI_WeekGiftUI();
+            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_WeekGiftUI Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_WeekGiftUI();
+            }
+            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 = (GComponent)comp.GetChild("bg");
+            m_txtLock = (GTextField)comp.GetChild("txtLock");
+            m_txtWeekGiftBag = (GTextField)comp.GetChild("txtWeekGiftBag");
+            m_listWeekGiftBag = (GList)comp.GetChild("listWeekGiftBag");
+            m_btnGetWeekGiftBag = (GButton)comp.GetChild("btnGetWeekGiftBag");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_c1 = null;
+            m_bg = null;
+            m_txtLock = null;
+            m_txtWeekGiftBag = null;
+            m_listWeekGiftBag = null;
+            m_btnGetWeekGiftBag = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_WeekGiftUI.cs.meta

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

+ 73 - 4
GameClient/Assets/Game/HotUpdate/ServerProxy/LeagueSproxy.cs

@@ -11,6 +11,29 @@ namespace GFGGame
         {
             LeagueDataManager.Instance.TeaPartyId = message.TeapartyId;
             LeagueDataManager.Instance.TeaPartyStatus = message.Status;
+            EventAgent.DispatchEvent(ConstMessage.TEA_PARTY_STATU);
+            await ETTask.CompletedTask;
+        }
+    }
+
+    //通知茶会状态
+    public class RoleContainerInfos : AMHandler<S2C_RoleContainerInfos>
+    {
+        protected override async ETTask Run(Session session, S2C_RoleContainerInfos message)
+        {
+            LeagueDataManager.Instance.RoleContainerList = message.RoleContainerList;
+            EventAgent.DispatchEvent(ConstMessage.TEA_PARTY_ROLE_CONTAINER);
+            await ETTask.CompletedTask;
+        }
+    }
+
+    //通知茶会状态
+    public class LeagueScore : AMHandler<S2C_LeagueScore>
+    {
+        protected override async ETTask Run(Session session, S2C_LeagueScore message)
+        {
+            LeagueDataManager.Instance.RoleTeapartyInfo.LeagueScore = message.LeagueScore;
+            LeagueDataManager.Instance.RoleTeapartyInfo.LeagueAwardStatusVs = message.LeagueAwardStatusVs;
             await ETTask.CompletedTask;
         }
     }
@@ -304,7 +327,7 @@ namespace GFGGame
                 if (response.Error == ErrorCode.ERR_Success)
                 {
                     LeagueDataManager.Instance.Type = response.Type;
-
+                  
                     if (LeagueDataManager.Instance.Type == LeagueJoinType.Join)//1:已经加入军团
                     {
                         LeagueDataManager.Instance.LeagueData = GetLeagueData(response.LeagueDetailInfo);
@@ -314,6 +337,8 @@ namespace GFGGame
                             ReqGetApplyJoinLeagueList().Coroutine();
                             ReqLeagueJoinQuitLog().Coroutine();
                         }
+                        LeagueDataManager.Instance.TeaPartyId = response.LeagueDetailInfo.TeapartyId;
+                        LeagueDataManager.Instance.TeaPartyStatus = response.LeagueDetailInfo.Status;
                     }
                     else if (LeagueDataManager.Instance.Type == LeagueJoinType.UnJoin)//2:未加入军团
                     {
@@ -362,6 +387,8 @@ namespace GFGGame
                 {
                     LeagueDataManager.Instance.LeagueData = GetLeagueData(response.LeagueDetailInfo);
                     LeagueDataManager.Instance.Type = LeagueJoinType.Join;
+                    LeagueDataManager.Instance.TeaPartyId = response.LeagueDetailInfo.TeapartyId;
+                    LeagueDataManager.Instance.TeaPartyStatus = response.LeagueDetailInfo.Status;
                     return true;
                 }
             }
@@ -379,6 +406,8 @@ namespace GFGGame
                     if (response.Type == 2)//加入成功
                     {
                         LeagueDataManager.Instance.LeagueData = GetLeagueData(response.LeagueDetailInfo);
+                        LeagueDataManager.Instance.TeaPartyId = response.LeagueDetailInfo.TeapartyId;
+                        LeagueDataManager.Instance.TeaPartyStatus = response.LeagueDetailInfo.Status;
                     }
                     else if (response.Type == 1)//等待审核
                     {
@@ -827,6 +856,8 @@ namespace GFGGame
             return logData;
         }
 
+        /*****************************************************************************************************************************************/
+
         //茶话会获取本期信息
         public static async ETTask<bool> GetTeapartyInfos()
         {
@@ -853,7 +884,7 @@ namespace GFGGame
             {
                 if (response.Error == ErrorCode.ERR_Success)
                 {
-                    LeagueDataManager.Instance.RoleTeapartyInfoProto = response.RoleTeapartyInfo;
+                    LeagueDataManager.Instance.RoleTeapartyInfo = response.RoleTeapartyInfo;
                     return true;
                 }
             }
@@ -887,7 +918,7 @@ namespace GFGGame
             {
                 if (response.Error == ErrorCode.ERR_Success)
                 {
-                    //LeagueDataManager.Instance.TeapartyRoleId = response.TeapartyRoleId;
+                    LeagueDataManager.Instance.RoleTeapartyInfo.PerScore = response.PerScore;
                     return true;
                 }
             }
@@ -921,7 +952,9 @@ namespace GFGGame
             {
                 if (response.Error == ErrorCode.ERR_Success)
                 {
-                    //LeagueDataManager.Instance.RoleContainerList = response.PerScore;
+                    BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.BonusList));
+                    LeagueDataManager.Instance.RoleTeapartyInfo.PerAwardStatusVs = response.PerAwardStatusVs;
+                    EventAgent.DispatchEvent(ConstMessage.TEA_PARTY_REWARD);
                     return true;
                 }
             }
@@ -938,6 +971,42 @@ namespace GFGGame
             {
                 if (response.Error == ErrorCode.ERR_Success)
                 {
+                    BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.BonusList));
+                    LeagueDataManager.Instance.RoleTeapartyInfo.LeagueAwardStatusVs = response.LeagueAwardStatusVs;
+                    EventAgent.DispatchEvent(ConstMessage.TEA_PARTY_REWARD);
+                    return true;
+                }
+            }
+            return false;
+        }
+
+        //走完剧情流程上报节点
+        public static async ETTask<bool> ReportTeapartyComplete(long roleId)
+        {
+            S2C_ReportTeapartyComplete response = null;
+
+            response = (S2C_ReportTeapartyComplete)await MessageHelper.SendToServer(new C2S_ReportTeapartyComplete() { RoleId = roleId });
+            if (response != null)
+            {
+                if (response.Error == ErrorCode.ERR_Success)
+                {
+                    //LeagueDataManager.Instance.RoleContainerList = response.PerScore;
+                    return true;
+                }
+            }
+            return false;
+        }
+
+        //出茶会话,服务端就不会再推送S2C_RoleContainerInfos,以及S2C_LeagueScore
+        public static async ETTask<bool> QuitTeapparty(long roleId)
+        {
+            S2C_QuitTeapparty response = null;
+
+            response = (S2C_QuitTeapparty)await MessageHelper.SendToServer(new C2S_QuitTeapparty() { RoleId = roleId });
+            if (response != null)
+            {
+                if (response.Error == ErrorCode.ERR_Success)
+                {
                     //LeagueDataManager.Instance.RoleContainerList = response.PerScore;
                     return true;
                 }

+ 12 - 4
GameClient/Assets/Game/HotUpdate/Utils/SuitUtil.cs

@@ -266,12 +266,20 @@ namespace GFGGame
             }
             if (typeId == 0)
             {
-                SuitCfg[] dataArray = SuitCfgArray.Instance.dataArray;
-                foreach (SuitCfg suitCfg in dataArray)
+                SuitGuideMenuCfg[] dataArray = SuitGuideMenuCfgArray.Instance.dataArray;
+                foreach (SuitGuideMenuCfg suitCfg in dataArray)
                 {
-                    if(suitCfg.id != 210000)//特殊处理,隐藏
+                    if (suitCfg.suitIds.Length > 0)
                     {
-                        CheckToAdd(suitCfg.id);
+                        string[] values = suitCfg.suitIds.Split(';');
+                        foreach (string value in values)
+                        {
+                            if (value.Length > 0)
+                            {
+                                int suitId = int.Parse(value);
+                                CheckToAdd(suitId);
+                            }
+                        }
                     }
                 }
             }

+ 1 - 0
GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaDressInfoView.cs

@@ -172,6 +172,7 @@ namespace GFGGame
             wearCardIds.Clear();
 
             PromptController.Instance.ShowFloatTextPrompt("保存成功");
+
             UpdateView();
         }
 

+ 3 - 3
GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaView.cs

@@ -404,11 +404,11 @@ namespace GFGGame
             item.m_txtFightScore.text = string.Format("飞花令战力:{0}", fightScore);
             item.m_txtRank.text = string.Format("段位排名:{0}", targetData.RankInGrade);
             item.m_imgUpDan.visible = targetData.Grade > ArenaDataManager.Instance.Grade;
-            if (item.m_loaBg.data == null)
+            if (item.m_challengeBtn.data == null)
             {
-                item.m_loaBg.onClick.Add(OnSelectRoleClick);
+                item.m_challengeBtn.onClick.Add(OnSelectRoleClick);
             }
-            item.m_loaBg.data = index;
+            item.m_challengeBtn.data = index;
             if (item.m_btnLook.data == null)
             {
                 item.m_btnLook.onClick.Add(OnBtnLookClick);

+ 30 - 3
GameClient/Assets/Game/HotUpdate/Views/Card/CardDetailView.cs

@@ -11,6 +11,8 @@ namespace GFGGame
     {
         private UI_CardDetailUI _ui;
         private const int listRoleCount = 5;
+        private bool _startInAnim;
+
         public override void Dispose()
         {
             if (_ui != null)
@@ -44,11 +46,12 @@ namespace GFGGame
             // {
             //     UpdateCardList(_ui.m_listRole.selectedIndex);
             // });
+            _startInAnim = true;
         }
         protected override void AddEventListener()
         {
             base.AddEventListener();
-            EventAgent.AddEventListener(ConstMessage.CARD_FILTER, UpdateCardList);
+            EventAgent.AddEventListener(ConstMessage.CARD_FILTER, FilterItems);
             EventAgent.AddEventListener(ConstMessage.CARD_INFO, UpdateCardList);
             EventAgent.AddEventListener(ConstMessage.ITEM_CHANGED, UpdateCardList);
         }
@@ -64,6 +67,13 @@ namespace GFGGame
             this.UpdateCardList();
 
             Timers.inst.AddUpdate(CheckGuide);
+
+            if (_startInAnim)
+            {
+                _startInAnim = false;
+                _ui.m_listCard.scrollPane.ScrollTop();
+                _ui.m_In.Play();
+            }
         }
         protected override void OnHide()
         {
@@ -74,10 +84,18 @@ namespace GFGGame
         protected override void RemoveEventListener()
         {
             base.RemoveEventListener();
-            EventAgent.RemoveEventListener(ConstMessage.CARD_FILTER, UpdateCardList);
+            EventAgent.RemoveEventListener(ConstMessage.CARD_FILTER, FilterItems);
             EventAgent.RemoveEventListener(ConstMessage.CARD_INFO, UpdateCardList);
             EventAgent.RemoveEventListener(ConstMessage.ITEM_CHANGED, UpdateCardList);
         }
+
+        private void FilterItems()
+        {
+            _ui.m_Refresh.Play();
+            _ui.m_listCard.scrollPane.ScrollTop();
+            UpdateCardList();
+        }
+
         private void UpdateCardList()
         {
             List<CardData> cardList = CardDataManager.GetCardListByRoleType(_ui.m_listRole.selectedIndex);
@@ -133,10 +151,18 @@ namespace GFGGame
 
         private void OnClickListRoleItem(EventContext context)
         {
-            int index = (int)(context.data as GObject).data;
+            GObject gObject = context.data as GObject;
+            int index = (int)(gObject.data);
             _ui.m_listRole.selectedIndex = index;
 
             this.UpdateCardList();
+
+            _ui.m_listCard.scrollPane.ScrollTop();
+            _ui.m_Refresh.Play();
+
+            UI_Button21 button = UI_Button21.Proxy(gObject);
+            button.m_fadeIn.Play();
+            UI_Button21.ProxyEnd();
         }
 
         /*******************************************************监听函数**************************************************/
@@ -147,6 +173,7 @@ namespace GFGGame
         private void OnClickBtnBack()
         {
             ViewManager.GoBackFrom(ViewName.CARD_DETAIL_VIEW);
+            _startInAnim = true;
         }
 
         private void OnClickBtnHome()

+ 12 - 5
GameClient/Assets/Game/HotUpdate/Views/CommonGame/ApproachView.cs

@@ -1,6 +1,8 @@
 using System.Collections.Generic;
 using FairyGUI;
 using UI.CommonGame;
+using UnityEngine;
+
 namespace GFGGame
 {
     public class ApproachView
@@ -58,6 +60,7 @@ namespace GFGGame
             if (string.IsNullOrEmpty(itemCfg.approach)) return;
 
             string[] approachStrs = itemCfg.approach.Split(';');
+
             foreach (string approachStr in approachStrs)
             {
                 if (string.IsNullOrEmpty(approachStr)) continue;
@@ -128,7 +131,6 @@ namespace GFGGame
             {
                 int storeTabId = int.Parse(infos[1]);
                 int storeSubId = int.Parse(infos[2]);
-
                 listItem.m_txtSourceName.text = StoreTabCfgArray.Instance.GetCfg(storeTabId).subTabArr[storeSubId][0];
             }
             else
@@ -175,7 +177,12 @@ namespace GFGGame
 
                     int storeTabId = int.Parse(infos[1]);
                     int storeSubId = int.Parse(infos[2]);
-
+                    if (storeTabId == ConstStoreTabId.STORE_GIFT_BAG) { 
+                        List<ShopCfg> shopCfgs = ShopCfgArray.Instance.GetCfgsBymenu1Andmenu2(ConstStoreTabId.STORE_GIFT_BAG, ConstStoreSubId.STORE_GIFT_BAG_ACTIVITY);
+                        //活动商店关闭需要减1
+                        if (ShopDataManager.Instance.RemoveNotOpenCfg(shopCfgs).Count == 0) 
+                            storeSubId -= 1;
+                    }
                     isJump = ViewManager.Show<StoreView>(new object[] { storeTabId, storeSubId });
                     return;
                 // case ConstFunctionId.SHOP_GIFT_BAG:
@@ -281,7 +288,7 @@ namespace GFGGame
                         bool isPass = InstanceZonesDataManager.CheckLevelPass(suitCfg.syntheticStoryLevelId);
                         if (suitCfg.syntheticStoryLevelId > 0 && !isPass)
                         {
-                            isJump = ViewManager.Show<SuitSyntheticView>(suitId, _fromeViewDatas); 
+                            isJump = ViewManager.Show<SuitSyntheticView>(suitId, _fromeViewDatas);
                         }
                         else
                         {
@@ -299,7 +306,7 @@ namespace GFGGame
                     {
                         return;
                     }
-                    isJump = ViewManager.Show<SuitGuideView>(null, _fromeViewDatas); 
+                    isJump = ViewManager.Show<SuitGuideView>(null, _fromeViewDatas);
 
                     break;
                 case ConstFunctionId.TAO_ZHUANG_HE_CHENG:
@@ -312,7 +319,7 @@ namespace GFGGame
                     isJump = ViewManager.Show<TaskView>(null, _fromeViewDatas);
                     break;
                 case ConstFunctionId.WEEKLY_TASK:
-                    isJump = ViewManager.Show<TaskView>(new object[] { 1}, _fromeViewDatas);
+                    isJump = ViewManager.Show<TaskView>(new object[] { 1 }, _fromeViewDatas);
                     break;
                 case ConstFunctionId.LEAGUE_PRAY:
                     isJump = ViewManager.Show<LeaguePrayView>(null, _fromeViewDatas);

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

@@ -33,6 +33,7 @@ namespace GFGGame
             this.viewCom = _ui.target;
             this.viewCom.Center();
             this.modal = true;
+            viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;
 
             approachView = new ApproachView();
             approachView.OnInit(_ui.m_comTipsApproach.target);

+ 108 - 26
GameClient/Assets/Game/HotUpdate/Views/DressUp/DressUpFightView.cs

@@ -128,6 +128,7 @@ namespace GFGGame
             EventAgent.AddEventListener(ConstMessage.DRESS_SEARCH, UpdateSerch);
             EventAgent.AddEventListener(ConstMessage.DRESS_FILTER, UpdateSerch);
             EventAgent.AddEventListener(ConstMessage.DRESS_FILTER_RESET, DressResetSerch);
+            EventAgent.AddEventListener(ConstMessage.TEA_PARTY_STATU, TeaPartyStatuChange);
             // EventAgent.AddEventListener(ConstMessage.DRESS_UP_SCORE_CHANGED, UpdateScore);
         }
 
@@ -139,6 +140,7 @@ namespace GFGGame
             EventAgent.RemoveEventListener(ConstMessage.DRESS_SEARCH, UpdateSerch);
             EventAgent.RemoveEventListener(ConstMessage.DRESS_FILTER, UpdateSerch);
             EventAgent.RemoveEventListener(ConstMessage.DRESS_FILTER_RESET, DressResetSerch);
+            EventAgent.RemoveEventListener(ConstMessage.TEA_PARTY_STATU, TeaPartyStatuChange);
             // EventAgent.RemoveEventListener(ConstMessage.DRESS_UP_SCORE_CHANGED, UpdateScore);
         }
 
@@ -240,11 +242,12 @@ namespace GFGGame
                 SendLog();
             else
             {
-                var teapartyRoleCfg = TeapartyRoleCfgArray.Instance.GetCfgsByid(1); //LeagueDataManager.Instance.TeaPartyId
+                var teapartyRoleCfg = TeapartyRoleCfgArray.Instance.GetCfgsByid(LeagueDataManager.Instance.TeaPartyId);
                 _ui.m_txtTeaPartyName.text = teapartyRoleCfg[objData.teaPartID - 1].name;
             }
 
             Timers.inst.AddUpdate(CheckGuide);
+            TeaPartyStatuChange();
         }
 
         protected override void OnHide()
@@ -325,14 +328,26 @@ namespace GFGGame
 
         private void OnClickBtnBack()
         {
-            AlertUI.Show("是否确定退出?")
-            .SetLeftButton(true, "否").SetRightButton(true, "是", (object data) =>
-            {
-                backView();
-            });
+            if (!IsTeaPart) {
+                AlertUI.Show("是否确定退出?")
+                .SetLeftButton(true, "否").SetRightButton(true, "是", (object data) =>
+                {
+                    backView();
+                });
+            }
+            else {
+                AlertUI.Show("当期搭配未保存,是否放弃提交搭配?")
+                .SetLeftButton(true, "放弃搭配", (object data) =>
+                {
+                    backView();
+                }).SetRightButton(true, "提交搭配", (object data) =>
+                {
+                    ChangeTeapartyDressup();
+                });
+            }
 
-            //ViewManager.Show<StoryChapterView>(StoryDataManager.currentChapter);
-        }
+        //ViewManager.Show<StoryChapterView>(StoryDataManager.currentChapter);
+    }
 
         private void OnClickBtnHome()
         {
@@ -1026,16 +1041,21 @@ namespace GFGGame
 
         private void ListTagItem(int index, GObject item)
         {
-            ItemCfg itemCfg = (ItemCfg)item.parent.data;
+            Dictionary<int, Dictionary<string, int>> tagsArr = (Dictionary<int, Dictionary<string, int>>)item.parent.data;
             UI_ComTagItem listItem = UI_ComTagItem.Proxy(item);
-            string name = itemCfg.tagsArr[index][0].ToString();
+            string name = "";
+            string score = "";
+            foreach (var info in tagsArr[index].Keys) { 
+                name = info;
+                score = tagsArr[index][info].ToString();
+            }
             int tagType = TagCfgArray.Instance.GetCfg(name).type;
             UI.CommonGame.UI_ComTag itemTag = UI.CommonGame.UI_ComTag.Proxy(listItem.m_loaTag);
             itemTag.m_txtTag.text = name;
             itemTag.m_loaTag.url = ResPathUtil.GetCommonGameResPath("fzd_bqbq_" + tagType);
             itemTag.m_loaTag.scale = new Vector2(0.8f, 0.8f);
             UI.CommonGame.UI_ComTag.ProxyEnd();
-            listItem.m_txtScore.text = itemCfg.tagsArr[index][1];
+            listItem.m_txtScore.text = score;
             UI_ComTagItem.ProxyEnd();
         }
 
@@ -1052,7 +1072,22 @@ namespace GFGGame
                 iconRes = suitCfg.res;
                 partName = suitCfg.name;
                 listItem.m_iconSelected.visible = false;
-                listItem.m_txtScore.text = "" + SuitUtil.GetSuitScore(id);
+                if (!IsTeaPart)
+                {
+                    listItem.m_txtScore.text = "" + SuitUtil.GetSuitScore(id);
+                    listItem.m_itemType.selectedIndex = 0;
+                }
+                else
+                {
+                    if (listItem.m_ListTag.data == null)
+                        listItem.m_ListTag.itemRenderer = ListTagItem;
+
+                    var tagCfg = DressUpMenuSuitDataManager.GetSuitTagCfgArray(id);
+                    listItem.m_ListTag.data = tagCfg;
+                    listItem.m_ListTag.numItems = tagCfg.Count;
+                    listItem.m_itemType.selectedIndex = 1;
+                }
+
                 RarityIconController.UpdateRarityIcon(listItem.m_rarity, id, false, true);
                 listItem.m_loaBorder.url = "ui://DressUp/hz_kuangk_" + suitCfg.rarity;
                 listItem.m_imgNew.visible = false;
@@ -1063,15 +1098,18 @@ namespace GFGGame
                 iconRes = itemCfg.res;
                 partName = itemCfg.name;
                 listItem.m_iconSelected.visible = MyDressUpHelper.dressUpObj.CheckDressUpItemIsOn(id);
-                if (!IsTeaPart)
+                if (!IsTeaPart) {
                     listItem.m_txtScore.text = "" + ItemDataManager.GetItemAdditionScore(id, InstanceZonesDataManager.currentScoreType, _fightCfg.needTagsArr);
+                    listItem.m_itemType.selectedIndex = 0;
+                }
                 else {
                     if (listItem.m_ListTag.data == null)
-                    {
                         listItem.m_ListTag.itemRenderer = ListTagItem;
-                    }
-                    listItem.m_ListTag.data = itemCfg;
-                    listItem.m_ListTag.numItems = itemCfg.tagsArr.Length;
+
+                    var tagsArr = DressUpMenuItemDataManager.GetTidyTagCfgArray(itemCfg);
+                    listItem.m_ListTag.data = tagsArr;
+                    listItem.m_ListTag.numItems = tagsArr.Count;
+                    listItem.m_itemType.selectedIndex = 1;
                 }
 
                 listItem.m_loaBorder.url = "ui://DressUp/hz_kuangk_" + itemCfg.rarity;
@@ -1092,11 +1130,6 @@ namespace GFGGame
                 _listLongPress.Add(longPressGesture);
             }
 
-            if (!IsTeaPart)
-                listItem.m_itemType.selectedIndex = 0;
-            else
-                listItem.m_itemType.selectedIndex = 1;
-
             listItem.m_btnAni.visible = false;
             listItem.m_icon.url = ResPathUtil.GetIconPath(iconRes, ext);
             listItem.m_ScoreType.url = "ui://CommonGame/kp_sx_" + scoreType;
@@ -1125,6 +1158,22 @@ namespace GFGGame
             iconRes = itemCfg.res;
             partName = itemCfg.name;
             listItem.m_iconSelected.visible = MyDressUpHelper.dressUpObj.CheckDressUpItemIsOn(id);
+
+            if (!IsTeaPart) { 
+                listItem.m_txtScore.text = "" + ItemDataManager.GetItemAdditionScore(id, InstanceZonesDataManager.currentScoreType, _fightCfg.needTagsArr);
+                listItem.m_itemType.selectedIndex = 0;
+            }
+            else
+            {
+                if (listItem.m_ListTag.data == null)
+                    listItem.m_ListTag.itemRenderer = ListTagItem;
+
+                var tagsArr = DressUpMenuItemDataManager.GetTidyTagCfgArray(itemCfg);
+                listItem.m_ListTag.data = tagsArr;
+                listItem.m_ListTag.numItems = tagsArr.Count;
+                listItem.m_itemType.selectedIndex = 1;
+            }
+
             listItem.m_loaBorder.url = "ui://DressUp/hz_kuangk_" + itemCfg.rarity;
             RarityIconController.UpdateRarityIcon(listItem.m_rarity, id, false);
             ext = ItemUtil.GetItemResExt(itemCfg.itemType, itemCfg.subType, true);
@@ -1134,7 +1183,21 @@ namespace GFGGame
             // int mainValuel;
             // ItemDataManager.GetMainScore(id, out mainScore, out mainValuel);
             listItem.m_ScoreType.url = ResPathUtil.GetCommonGameResPath("kp_sx_" + scoreType);
-            listItem.m_txtScore.text = "" + ItemDataManager.GetItemAdditionScore(id, scoreType, _fightCfg.needTagsArr);
+            if (!IsTeaPart) {
+                listItem.m_txtScore.text = "" + ItemDataManager.GetItemAdditionScore(id, InstanceZonesDataManager.currentScoreType, _fightCfg.needTagsArr);
+                listItem.m_itemType.selectedIndex = 0;
+            }
+            else
+            {
+                if (listItem.m_ListTag.data == null)
+                {
+                    listItem.m_ListTag.itemRenderer = ListTagItem;
+                }
+                var tagsArr = DressUpMenuItemDataManager.GetTidyTagCfgArray(itemCfg);
+                listItem.m_ListTag.data = tagsArr;
+                listItem.m_ListTag.numItems = tagsArr.Count;
+                listItem.m_itemType.selectedIndex = 1;
+            }
 
             listItem.m_icon.url = ResPathUtil.GetIconPath(iconRes, ext);
             listItem.m_txtTitle.text = partName;
@@ -1236,7 +1299,15 @@ namespace GFGGame
         {
             _ui.m_btnClose.visible = true;
             _ui.m_grpTips.visible = true;
-            _ui.m_txtHint.text = _levelCfg.hint;
+            string str = "";
+            if (!IsTeaPart)
+                str = _levelCfg.hint;
+            else { 
+                var teapartyRoleCfg = TeapartyRoleCfgArray.Instance.GetCfgsByid(LeagueDataManager.Instance.TeaPartyId);
+                str = teapartyRoleCfg[_TeaPartyID - 1].hint;
+            }
+            _ui.m_txtHint.text = str;
+
             if (this._ui.m_txtHint.textHeight > this._ui.m_txtHint.textFormat.size * 2)
             {
                 this._ui.m_txtHint.align = AlignType.Left;
@@ -1349,8 +1420,7 @@ namespace GFGGame
         }
         protected override void UpdateToCheckGuide(object param)
         {
-
-            if (!ViewManager.CheckIsTopView(this.viewCom)) return;
+            if (!ViewManager.CheckIsTopView(this.viewCom) || IsTeaPart) return;
 
             int buyClothingIndex = 0;
             int buyClothingSubIndex = 0;
@@ -1404,5 +1474,17 @@ namespace GFGGame
             base.TryCompleteGuide();
             // GuideController.TryCompleteGuide(ConstGuideId.START_FIGHT, 5);
         }
+
+        private void TeaPartyStatuChange()
+        {
+            if (IsTeaPart && LeagueDataManager.Instance.TeaPartyStatus == LeagueTeaPartyStatus.YesGo)
+            {
+                AlertUI.Show("管理员已开启茶会,请前往挑战!")
+                .SetLeftButton(false).SetRightButton(true, "确定", (object data) =>
+                {
+                    ViewManager.Show<LeagueTeaPartyView>();
+                });
+            }
+        }
     }
 }

+ 28 - 2
GameClient/Assets/Game/HotUpdate/Views/FieldGuide/CardGuideView.cs

@@ -1,6 +1,7 @@
 using System.Collections;
 using System.Collections.Generic;
 using FairyGUI;
+using UI.CommonGame;
 using UI.FieldGuide;
 using UnityEngine;
 
@@ -13,6 +14,8 @@ namespace GFGGame
     {
         private UI_CardGuideUI _ui;
         private List<int> _cardList;
+        private bool _startInAnim;
+        private int _lastClickIndex;
 
         public override void Dispose()
         {
@@ -40,6 +43,7 @@ namespace GFGGame
             _ui.m_listRole.onClickItem.Add(OnClickRoleListItem);
             _ui.m_btnBack.onClick.Add(OnClickBtnBack);
             _ui.m_listRole.selectedIndex = 0;
+            _startInAnim = true;
         }
 
         protected override void AddEventListener()
@@ -62,13 +66,19 @@ namespace GFGGame
         {
             base.OnShown();
             UpdateCardList();
+            if (_startInAnim)
+            {
+                _startInAnim = false;
+                _ui.m_listRole.scrollPane.ScrollTop();
+                _ui.m_In.Play();
+            }
         }
 
         protected override void OnHide()
         {
             base.OnHide();
             _ui.m_listRole.selectedIndex = 0;
-            _ui.m_listRole.scrollPane.ScrollTop();
+            _lastClickIndex = 0;
         }
 
         private void RenderCardListItem(int index, GObject obj)
@@ -110,7 +120,8 @@ namespace GFGGame
         {
             object data = (context.data as GObject).data;
             int index = _ui.m_listCard.GetChildIndex(context.data as GObject);
-            if(data == null)
+
+            if (data == null)
             {
                 object[] goBackDatas = ViewManager.GetGoBackDatas(typeof(CardGuideView).Name);
                 object[] sourceDatas = new object[] { _cardList[index], goBackDatas, 1 };
@@ -125,8 +136,22 @@ namespace GFGGame
 
         private void OnClickRoleListItem(EventContext eventContext)
         {
+            if (_ui.m_listRole.selectedIndex == _lastClickIndex)
+            {
+                return;
+            }
+
+            _lastClickIndex = _ui.m_listRole.selectedIndex;
+
             UpdateCardList();
             _ui.m_listCard.scrollPane.ScrollTop();
+            _ui.m_Refresh.Play();
+
+            // 顶部选择菜单按钮的选中动画
+            GObject gObject = eventContext.data as GObject;
+            UI_Button21 button = UI_Button21.Proxy(gObject);
+            button.m_fadeIn.Play();
+            UI_Button21.ProxyEnd();
         }
 
         private void UpdateCardList()
@@ -147,6 +172,7 @@ namespace GFGGame
 
         private void OnClickBtnBack()
         {
+            _startInAnim = true;
             ViewManager.GoBackFrom(typeof(CardGuideView).FullName);
         }
     }

+ 1 - 0
GameClient/Assets/Game/HotUpdate/Views/FieldGuide/ChapterItemGuideView.cs

@@ -56,6 +56,7 @@ namespace GFGGame
         private void OnClickBtnBack()
         {
             ViewManager.GoBackFrom(typeof(ChapterItemGuideView).FullName);
+            _ui.m_list.scrollPane.ScrollTop();
         }
 
         private void RenderListItem(int index, GObject obj)

+ 1 - 0
GameClient/Assets/Game/HotUpdate/Views/FieldGuide/ChapterItemShowView.cs

@@ -38,6 +38,7 @@ namespace GFGGame
             _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("tjtj_bjbj");
             _cfg = this.viewData as CulturalRelicCfg;
             UpdateView();
+            _ui.m_Idle.Play(-1, 0, null);
         }
         protected override void AddEventListener()
         {

+ 58 - 23
GameClient/Assets/Game/HotUpdate/Views/FieldGuide/DressUpGuideView.cs

@@ -2,6 +2,7 @@
 using System;
 using System.Collections;
 using System.Collections.Generic;
+using UI.CommonGame;
 using UI.FieldGuide;
 using UnityEngine;
 
@@ -14,11 +15,13 @@ namespace GFGGame
     {
         private UI_DressUpGuideUI _ui;
         private List<int> _itemIdList;
+        private bool _startInAnim;
+        private bool first = true;
 
         // 上次点击单选按钮的index
         private struct LastClickIndex
         {
-            public int typeIndex;
+            public int typeIndex;   // 菜单类型:一级/二级
             public int index;
         }
 
@@ -44,6 +47,7 @@ namespace GFGGame
             _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("quanping_moren_bg");
 
             _itemIdList = new List<int>();
+            _startInAnim = true;
 
             _ui.m_btnSearch.onClick.Add(OnClickBtnSearch);
             _ui.m_btnBack.onClick.Add(OnClickBtnBack);
@@ -60,6 +64,7 @@ namespace GFGGame
             base.AddEventListener();
             EventAgent.AddEventListener(ConstMessage.DRESS_SEARCH, FilterItems);
             EventAgent.AddEventListener(ConstMessage.DRESS_FILTER, FilterItems);
+            EventAgent.AddEventListener(ConstMessage.DRESS_PART_LOAD_FINISHED, LoadFinished);
 
         }
 
@@ -68,6 +73,7 @@ namespace GFGGame
             base.RemoveEventListener();
             EventAgent.RemoveEventListener(ConstMessage.DRESS_SEARCH, FilterItems);
             EventAgent.RemoveEventListener(ConstMessage.DRESS_FILTER, FilterItems);
+            EventAgent.RemoveEventListener(ConstMessage.DRESS_PART_LOAD_FINISHED, LoadFinished);
         }
 
         protected override void OnShown()
@@ -75,10 +81,23 @@ namespace GFGGame
             base.OnShown();
             _ui.m_listType1.selectedIndex = 0;
             _ui.m_c1.selectedIndex = 0;
-            _ui.m_listType1.scrollPane.SetPercX(0,false);
+            _ui.m_listType1.scrollPane.SetPercX(0, false);
 
-            UpdateItemIdListByType1(0);
-            UpdateItemList();
+            if (DressUpMenuItemDataManager.isLoading)
+            {
+                ViewManager.Show<ModalStatusView>("加载中...");
+            }
+            else
+            {
+                UpdateItemIdListByType1(0);
+                UpdateItemListUI();
+            }
+
+            if (_startInAnim)
+            {
+                _startInAnim = false;
+                _ui.m_In.Play();
+            }
         }
 
         protected override void OnHide()
@@ -99,13 +118,18 @@ namespace GFGGame
             GObject gObject = context.data as GObject;
 
             int index = _ui.m_listType1.GetChildIndex(gObject);
-            if(_lastClickIndex.typeIndex == 1 && _lastClickIndex.index == index)
+            if (_lastClickIndex.typeIndex == 1 && _lastClickIndex.index == index)
             {
                 return;
             }
 
             UpdateItemIdListByType1(index);
-            UpdateItemList();
+
+            UpdateItemListUI();
+            _ui.m_Refresh.Play();
+            UI_Button21 button = UI_Button21.Proxy(gObject);
+            button.m_fadeIn.Play();
+            UI_Button21.ProxyEnd();
         }
 
         private void RenderListDressUpItem(int index, GObject item)
@@ -148,14 +172,15 @@ namespace GFGGame
             }
 
             UpdateItemIdListByType2(index);
-            UpdateItemList();
+            UpdateItemListUI();
+            _ui.m_Refresh.Play();
         }
 
         private void OnClickBtnAllAccessories()
         {
             // 点击饰品按钮回到一级菜单时,需要更新为 全部饰品 选项
             UpdateItemIdListByType2(0);
-            UpdateItemList();
+            UpdateItemListUI();
 
             ShowListType1();
         }
@@ -181,15 +206,15 @@ namespace GFGGame
                 // 存在二级菜单
                 if (item1.subMenusArr.Length > 0)
                 {
-                    _itemIdList.Clear();
-
                     _currentList2 = item1.subMenusArr.Clone() as int[];
-                    for (int i = 0; i < item1.subMenusArr.Length; i++)
+                    List<int> types = new List<int>();
+                    for (int i = 0; i < _currentList2.Length; i++)
                     {
                         DressUpMenuItemCfg2 item2 = DressUpMenuItemCfg2Array.Instance.dataArray[_currentList2[i] - 1];
-                        _itemIdList.AddRange(DressUpMenuItemDataManager.GetAllDressUpGuideIdListBySubType(item2.type, false));
+                        types.Add(item2.type);
                     }
-                    DressUpMenuItemDataManager.SortDressUpGuideIdList(_itemIdList);
+                    _itemIdList = DressUpMenuItemDataManager.GetAllDressUpGuideIdListBySubTypes(types);
+
                     ShowListType2();
                 }
                 else
@@ -210,13 +235,13 @@ namespace GFGGame
 
             if (index == 0)
             {
-                _itemIdList.Clear();
+                List<int> types = new List<int>();
                 for (int i = 0; i < _currentList2.Length; i++)
                 {
                     DressUpMenuItemCfg2 item2 = DressUpMenuItemCfg2Array.Instance.dataArray[_currentList2[i] - 1];
-                    _itemIdList.AddRange(DressUpMenuItemDataManager.GetAllDressUpGuideIdListBySubType(item2.type, false));
+                    types.Add(item2.type);
                 }
-                DressUpMenuItemDataManager.SortDressUpGuideIdList(_itemIdList);
+                _itemIdList = DressUpMenuItemDataManager.GetAllDressUpGuideIdListBySubTypes(types);
             }
             else
             {
@@ -228,7 +253,7 @@ namespace GFGGame
         /// <summary>
         /// 更新散件列表UI,及收集度
         /// </summary>
-        private void UpdateItemList(bool refreshProgress = true)
+        private void UpdateItemListUI(bool refreshProgress = true)
         {
             int haveCount = 0;
             int totalCount = 0;
@@ -240,8 +265,7 @@ namespace GFGGame
             {
                 for (int i = 0; i < _itemIdList.Count; i++)
                 {
-                    ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(_itemIdList[i]);
-                    if (DressUpMenuItemDataManager.CheckHasItem(itemCfg.id))
+                    if (DressUpMenuItemDataManager.CheckHasItem(_itemIdList[i]))
                     {
                         ++haveCount;
                     }
@@ -258,6 +282,8 @@ namespace GFGGame
             _ui.m_c1.selectedIndex = 1;
             _ui.m_listType2.selectedIndex = 0;
             _ui.m_listType2.scrollPane.SetPercX(0, false);
+            _lastClickIndex.typeIndex = 2;
+            _lastClickIndex.index = 0;
         }
 
         private void ShowListType1()
@@ -279,6 +305,7 @@ namespace GFGGame
 
         private void OnClickBtnBack()
         {
+            _startInAnim = true;
             ViewManager.GoBackFrom(typeof(DressUpGuideView).FullName);
         }
 
@@ -289,11 +316,12 @@ namespace GFGGame
 
         private void FilterItems(EventContext context)
         {
-            if(_lastClickIndex.typeIndex == 1)
+            // 过滤之前,需要更新_itemIdList为全部物品
+            if (_lastClickIndex.typeIndex == 1)
             {
                 UpdateItemIdListByType1(_lastClickIndex.index);
             }
-            else if(_lastClickIndex.typeIndex == 2)
+            else if (_lastClickIndex.typeIndex == 2)
             {
                 UpdateItemIdListByType2(_lastClickIndex.index);
             }
@@ -302,13 +330,20 @@ namespace GFGGame
             {
                 _itemIdList = DressUpMenuItemDataManager.DressSearch(_itemIdList);
             }
-            else if(context.data.ToString() == ConstMessage.DRESS_FILTER)
+            else if (context.data.ToString() == ConstMessage.DRESS_FILTER)
             {
                 _itemIdList = DressUpMenuItemDataManager.DressFilter(_itemIdList);
             }
             ViewManager.Hide<ModalStatusView>();
-            UpdateItemList(false);
+            UpdateItemListUI(false);
+            _ui.m_Refresh.Play();
         }
 
+        private void LoadFinished()
+        {
+            UpdateItemIdListByType1(0);
+            UpdateItemListUI();
+            ViewManager.Hide<ModalStatusView>();
+        }
     }
 }

+ 68 - 17
GameClient/Assets/Game/HotUpdate/Views/FieldGuide/FieldGuideView.cs

@@ -2,6 +2,8 @@ using FairyGUI;
 using UI.FieldGuide;
 using System.Collections.Generic;
 using System;
+using System.Collections;
+using UnityEngine;
 
 namespace GFGGame
 {
@@ -10,9 +12,9 @@ namespace GFGGame
         private delegate bool GetRedCall();
 
         private UI_FieldGuideUI _ui;
-        private int[] _listBannerDatas = new int[3] { ConstBannerId.ZHAI_XING, ConstBannerId.ZHAI_XING, ConstBannerId.ZHAI_XING };
         private int[] _listGuideDatas = new int[5] { ConstFieldGuideId.SUIT_GUIDE, ConstFieldGuideId.CHAPTER_ITEM, ConstFieldGuideId.DRESS_UP_GUIDE, ConstFieldGuideId.CARD_GUIDE, ConstFieldGuideId.TRAVEL_GUIDE };
         GetRedCall[] actions = new GetRedCall[] { RedDotDataManager.Instance.GetFieldGuideRed, null, null, null, RedDotDataManager.Instance.GetTravelGuideRed };
+        private bool _startInAnim;
 
         public override void Dispose()
         {
@@ -32,6 +34,7 @@ namespace GFGGame
             this.viewCom = _ui.target;
             isfullScreen = true;
 
+            _startInAnim = true;
             _ui.m_listGuide.itemRenderer = ListGuideItemRenderer;
 
             _ui.m_btnBack.onClick.Add(OnClickBtnBack);
@@ -50,7 +53,12 @@ namespace GFGGame
             base.OnShown();
             _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("tjbg");
             _ui.m_listGuide.numItems = _listGuideDatas.Length;
-            UpdatePrgress();
+            if (_startInAnim)
+            {
+                _ui.m_listGuide.scrollPane.ScrollTop();
+                _ui.m_In.Play();
+            }
+            Timers.inst.StartCoroutine(UpdatePrgress());
         }
 
         protected override void OnHide()
@@ -65,22 +73,39 @@ namespace GFGGame
         }
         private void OnClickBtnBack()
         {
-            // this.Hide();
-            _ui.m_listGuide.scrollPane.ScrollTop();
+            _startInAnim = true;
             ViewManager.GoBackFrom(ViewName.FIELD_GUIDE_VIEW);
+            HideAllRedDot();
         }
+
         private void UpdateList()
         {
             _ui.m_listGuide.numItems = _listGuideDatas.Length;
+            UpdateRedDot();
         }
-        private void ListBannerItemRenderer(int index, GObject item)
+
+        private void UpdateRedDot()
         {
-            UI_ButtonBannerPage listItem = UI_ButtonBannerPage.Proxy(item);
-            int id = _listBannerDatas[index];
-            listItem.target.data = id;
-            UI_ButtonBannerPage.ProxyEnd();
+            int num = _ui.m_listGuide.numChildren;
+            for (int i = 0; i < num; i++)
+            {
+                UI_CompGuideItem listItem = UI_CompGuideItem.Proxy(_ui.m_listGuide.GetChildAt(i));
+
+                bool red = actions[i] == null ? false : actions[i]();
+                RedDotController.Instance.SetComRedDot(listItem.target, red, "", -46, 51);
+
+                UI_CompGuideItem.ProxyEnd();
+            }
         }
 
+        private void HideAllRedDot()
+        {
+            int num = _ui.m_listGuide.numChildren;
+            for (int i = 0; i < num; i++)
+            {
+                RedDotController.Instance.SetComRedDot(_ui.m_listGuide.GetChildAt(i).asCom, false);
+            }
+        }
 
         private void ListGuideItemRenderer(int index, GObject item)
         {
@@ -88,8 +113,12 @@ namespace GFGGame
             int id = _listGuideDatas[index];
             listItem.m_loaderPic.url = "ui://FieldGuide/tujian_tup_" + id;
             listItem.target.data = id;
-            bool red = actions[index] == null ? false : actions[index]();
-            RedDotController.Instance.SetComRedDot(listItem.target, red, "", -46, 51);
+
+
+            if (_startInAnim)
+            {
+                listItem.m_Init.Play();
+            }
             UI_CompGuideItem.ProxyEnd();
         }
 
@@ -144,20 +173,41 @@ namespace GFGGame
             if (totalCount == 0) totalCount = 1;
         }
 
-        private void UpdatePrgress()
+        private IEnumerator UpdatePrgress()
         {
             int num = _ui.m_listGuide.numChildren;
+            bool playAnim = _startInAnim;
+            _startInAnim = false;
             for (int i = 0; i < num; i++)
             {
                 UI_CompGuideItem listItem = UI_CompGuideItem.Proxy(_ui.m_listGuide.GetChildAt(i));
                 int id = (int)listItem.target.data;
-                int haveCount = 0;
-                int totalCount = 1;
-                GetGuideProgress(id, out haveCount, out totalCount);
+                GetGuideProgress(id, out int haveCount, out int totalCount);
                 decimal value = ProgressCalculate(haveCount, totalCount);
                 listItem.m_txtProgress.text = value.ToString();
+                if (playAnim)
+                {
+                    Action complete = null;
+                    // µ¹ÊýµÚ¶þ¸ö
+                    if (i == num - 1)
+                    {
+                        yield return new WaitForSeconds(0.03f);
+                        complete = UpdateRedDot;
+                    }
+                    else if(i > 0)
+                    {
+                        yield return new WaitForSeconds(0.06f);
+                    }
+
+                    listItem.m_In.Play(() =>
+                    {
+                        complete?.Invoke();
+                    });
+
+                }
                 UI_CompGuideItem.ProxyEnd();
             }
+
         }
 
         public static int ProgressCalculate(int haveCount, int totalCount)
@@ -165,11 +215,11 @@ namespace GFGGame
             float rate = haveCount * 100.0f / totalCount;
             int result = 0;
 
-            if(rate > 0 && rate <= 1)
+            if (rate > 0 && rate <= 1)
             {
                 result = 1;
             }
-            else if(rate >= 99 && rate < 100)
+            else if (rate >= 99 && rate < 100)
             {
                 result = 99;
             }
@@ -180,5 +230,6 @@ namespace GFGGame
             return result;
         }
 
+
     }
 }

+ 9 - 0
GameClient/Assets/Game/HotUpdate/Views/FieldGuide/SuitGuideDetailView.cs

@@ -13,6 +13,7 @@ namespace GFGGame
         private UI_SuitGuideDetailUI _ui;
         private List<int> _suitIds;
         private int _suitTypeId;
+        private bool _startInAnim;
 
         public override void Dispose()
         {
@@ -36,6 +37,7 @@ namespace GFGGame
             _ui.m_listSuit.itemRenderer = RenderListSuitItem;
             _ui.m_btnBack.onClick.Add(OnClickBtnBack);
             _ui.m_btnSearch.onClick.Add(OnClickBtnSearch);
+            _startInAnim = true;
         }
         protected override void AddEventListener()
         {
@@ -52,6 +54,11 @@ namespace GFGGame
             base.OnShown();
             _suitTypeId = (int)viewData;
             UpdateListSuit();
+            if (_startInAnim)
+            {
+                _startInAnim = false;
+                _ui.m_In.Play();
+            }
         }
 
         protected override void OnHide()
@@ -85,11 +92,13 @@ namespace GFGGame
 
             ViewManager.Hide<ModalStatusView>();
             _ui.m_listSuit.numItems = _suitIds.Count;
+            _ui.m_Refresh.Play();
 
         }
 
         private void OnClickBtnBack()
         {
+            _startInAnim = true;
             ViewManager.GoBackFrom(typeof(SuitGuideDetailView).FullName);
         }
 

+ 138 - 35
GameClient/Assets/Game/HotUpdate/Views/FieldGuide/SuitGuideView.cs

@@ -4,14 +4,14 @@ using UI.CommonGame;
 using System.Collections.Generic;
 using UI.ClothingSynthetic;
 using UnityEngine;
+using System.Collections;
 
 namespace GFGGame
 {
     public class SuitGuideView : BaseWindow
     {
         private UI_SuitGuideUI _ui;
-        private Dictionary<int,List<int>> _menuTypeAllDataDic;
-        private string[] _suitTypeList = { "套装", "故事" };
+        private Dictionary<int, List<int>> _menuTypeAllDataDic;
         private List<UI_SuitTypeItem> _suitTypeItems;
 
         public override void Dispose()
@@ -34,13 +34,13 @@ namespace GFGGame
             _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("tjbg");
 
             _ui.m_suitTypeList.itemRenderer = RenderListSuitType;
-            _ui.m_suitTypeList.numItems = _suitTypeList.Length;
+            _ui.m_suitTypeList.numItems = _ui.m_suitTypeList.numItems;
             _ui.m_btnBack.onClick.Add(OnClickBtnBack);
             _ui.m_suitType2Items.itemRenderer = RenderListSuitType2Item;
             _ui.m_suitType2Items.onClickItem.Add(OnClickListSuitType2Item);
             _ui.m_suitTypeList.onClick.Add(OnClickListSuitType);
             InitSuitGuideType();
-            SetType(1);
+            UpdateItemsByType(1);
 
         }
         protected override void AddEventListener()
@@ -51,6 +51,8 @@ namespace GFGGame
         protected override void OnShown()
         {
             base.OnShown();
+            UpdateListSuitTypeRedDots();
+            Timers.inst.StartCoroutine(UpdateRedDot());
         }
 
         protected override void OnHide()
@@ -63,7 +65,45 @@ namespace GFGGame
             EventAgent.RemoveEventListener(ConstMessage.JUMP_TO_SOURCE, this.Hide);
         }
 
-        private void SetType(int type)
+        /// <summary>
+        /// 初始化上方选择菜单,同步按钮按下和普通状态的文本
+        /// </summary>
+        /// <param name="index"></param>
+        /// <param name="item"></param>
+        private void RenderListSuitType(int index, GObject item)
+        {
+            UI_Button6 button6 = UI_Button6.Proxy(item);
+            button6.m_title1.text = button6.target.title;
+            UI_Button6.ProxyEnd();
+        }
+
+        private void OnClickListSuitType(EventContext eventContext)
+        {
+            UpdateItemsByType(_ui.m_c1.selectedIndex + 1);
+            Timers.inst.StartCoroutine(UpdateRedDot());
+        }
+
+        /// <summary>
+        /// 更新选择菜单的红点
+        /// </summary>
+        private void UpdateListSuitTypeRedDots()
+        {
+            for (int j = 0; j < _ui.m_suitTypeList.numItems; j++)
+            {
+                RedDotController.Instance.SetComRedDot(_ui.m_suitTypeList.GetChildAt(j).asCom, false);
+                for (int i = 0; i < _menuTypeAllDataDic[j + 1].Count; i++)
+                {
+                    bool red = RedDotDataManager.Instance.GetSuitGuideRed(_menuTypeAllDataDic[j + 1][i]);
+                    if (red)
+                    {
+                        RedDotController.Instance.SetComRedDot(_ui.m_suitTypeList.GetChildAt(j).asCom, red, "", -65, 16);
+                        break;
+                    }
+                }
+            }
+        }
+
+        private void UpdateItemsByType(int type)
         {
             _ui.m_c1.SetSelectedIndex(type - 1);
 
@@ -84,7 +124,7 @@ namespace GFGGame
 
             _menuTypeAllDataDic = new Dictionary<int, List<int>>();
             SuitGuideMenuCfg[] menuCfgs = SuitGuideMenuCfgArray.Instance.dataArray;
-            foreach(SuitGuideMenuCfg s in menuCfgs)
+            foreach (SuitGuideMenuCfg s in menuCfgs)
             {
                 if (!_menuTypeAllDataDic.ContainsKey(s.SuitGuideMenuType))
                 {
@@ -122,6 +162,23 @@ namespace GFGGame
         }
 
         /// <summary>
+        /// 由于type1页面未使用列表,所以需要循环更新进度
+        /// </summary>
+        private void UpdateType1Progress()
+        {
+            for (int i = 0; i < _suitTypeItems.Count; i++)
+            {
+                int _suitTypeId = (int)_suitTypeItems[i].target.data;
+                int haveCount = SuitUtil.GetSuitIdList(false, true, _suitTypeId, 0).Count;
+                int totalCount = SuitUtil.GetSuitIdList(true, true, _suitTypeId, 0).Count;
+                _suitTypeItems[i].m_progress.target.value = haveCount;
+                _suitTypeItems[i].m_progress.target.max = totalCount;
+                _suitTypeItems[i].m_progress.m_num.SetVar("value", haveCount.ToString()).SetVar("max", totalCount.ToString()).FlushVars();
+                _suitTypeItems[i].m_progress.m_rate.SetVar("rate", FieldGuideView.ProgressCalculate(haveCount, totalCount).ToString()).FlushVars();
+            }
+        }
+
+        /// <summary>
         /// 初始化种类2
         /// </summary>
         /// <param name="index"></param>
@@ -144,43 +201,89 @@ namespace GFGGame
             ViewManager.Show<SuitGuideDetailView>(_menuTypeAllDataDic[_ui.m_c1.selectedIndex + 1][index], new object[] { ViewName.SUIT_GUIDE_VIEW, this.viewData });
         }
 
-        private void UpdateType1Progress()
+        private void OnClickBtnBack()
         {
-            for (int i = 0; i < _suitTypeItems.Count; i++)
-            {
-                int _suitTypeId = (int)_suitTypeItems[i].target.data;
-                int haveCount = SuitUtil.GetSuitIdList(false, true, _suitTypeId, 0).Count;
-                int totalCount = SuitUtil.GetSuitIdList(true, true, _suitTypeId, 0).Count;
-                _suitTypeItems[i].m_progress.target.value = haveCount;
-                _suitTypeItems[i].m_progress.target.max = totalCount;
-                _suitTypeItems[i].m_progress.m_num.SetVar("value", haveCount.ToString()).SetVar("max", totalCount.ToString()).FlushVars();
-                _suitTypeItems[i].m_progress.m_rate.SetVar("rate", FieldGuideView.ProgressCalculate(haveCount, totalCount).ToString()).FlushVars();
-            }
+            UpdateItemsByType(1);
+            _ui.m_suitTypeItems.target.scrollPane.ScrollTop();
+            ViewManager.GoBackFrom(ViewName.SUIT_GUIDE_VIEW);
         }
 
-        /// <summary>
-        /// 初始化上方选择菜单
-        /// </summary>
-        /// <param name="index"></param>
-        /// <param name="item"></param>
-        private void RenderListSuitType(int index, GObject item)
+        private IEnumerator UpdateRedDot()
         {
-            UI_Button6 button6 = UI_Button6.Proxy(item);
-            button6.m_title1.text = _suitTypeList[index];
-            button6.target.title = _suitTypeList[index];
-            UI_Button6.ProxyEnd();
-        }
+            int selectedIndex = _ui.m_c1.selectedIndex + 1;
+
+            // Hide all existed red dots
+            HideSelectedPageRedDot();
+
+            Transition t = null;
+            switch (selectedIndex)
+            {
+                case 1:
+                    t = _ui.m_suitTypeItems.m_In;
+                    break;
+                case 2:
+                    UI_SuitStoryItem listItem = UI_SuitStoryItem.Proxy(_ui.m_suitType2Items.GetChildAt(_ui.m_suitType2Items.numItems - 1));
+                    t = listItem.m_In;
+                    UI_SuitStoryItem.ProxyEnd();
+                    break;
+            }
+
+            // Wait anim auto play
+            yield return null;
+
+            // Wait anim finished
+            while (t.playing)
+            {
+                yield return null;
+            }
+
+            // Show red dots
+            int num;
+
+            switch (selectedIndex)
+            {
+                case 1:
+                    num = _suitTypeItems.Count;
+                    for (int i = 0; i < num; i++)
+                    {
+                        bool red = RedDotDataManager.Instance.GetSuitGuideRed(_menuTypeAllDataDic[selectedIndex][i]);
+                        RedDotController.Instance.SetComRedDot(_suitTypeItems[i].target, red, "", -254, 130);
+                    }
+                    break;
+                case 2:
+                    num = _ui.m_suitType2Items.numItems;
+                    for (int i = 0; i < num; i++)
+                    {
+                        bool red = RedDotDataManager.Instance.GetSuitGuideRed(_menuTypeAllDataDic[selectedIndex][i]);
+                        RedDotController.Instance.SetComRedDot(_ui.m_suitType2Items.GetChildAt(i).asCom, red, "", -852, 45);
+                    }
+                    break;
+            }
 
-        private void OnClickListSuitType(EventContext eventContext)
-        {
-            SetType(_ui.m_c1.selectedIndex + 1);
         }
 
-        private void OnClickBtnBack()
+        private void HideSelectedPageRedDot()
         {
-            SetType(1);
-            _ui.m_suitTypeItems.target.scrollPane.ScrollTop();
-            ViewManager.GoBackFrom(ViewName.SUIT_GUIDE_VIEW);
+            int num;
+            int selectedIndex = _ui.m_c1.selectedIndex + 1;
+
+            switch (selectedIndex)
+            {
+                case 1:
+                    num = _suitTypeItems.Count;
+                    for (int i = 0; i < num; i++)
+                    {
+                        RedDotController.Instance.SetComRedDot(_suitTypeItems[i].target.asCom, false);
+                    }
+                    break;
+                case 2:
+                    num = _ui.m_suitType2Items.numItems;
+                    for (int i = 0; i < num; i++)
+                    {
+                        RedDotController.Instance.SetComRedDot(_ui.m_suitType2Items.GetChildAt(i).asCom, false);
+                    }
+                    break;
+            }
         }
     }
 }

+ 18 - 4
GameClient/Assets/Game/HotUpdate/Views/League/LeagueAnswerView.cs

@@ -37,6 +37,7 @@ namespace GFGGame
             _ui.m_btnClose.onClick.Add(Hide);
             _ui.m_btnRank.onClick.Add(OnBtnRankClick);
             _ui.m_btnAnswer.onClick.Add(OnBtnAnswerClick);
+            _ui.m_btnTeaParty.onClick.Add(OnBtnTeaPartyClick);
         }
 
         protected override void AddEventListener()
@@ -47,14 +48,18 @@ namespace GFGGame
         protected override void OnShown()
         {
             base.OnShown();
-            if (this.viewData != null) {
+            if (this.viewData != null)
+            {
                 var index = (int)this.viewData;
                 _ui.m_c1.selectedIndex = index;
+                var openCfg = TeapartyOpenCfgArray.Instance.GetCfg(LeagueDataManager.Instance.TeaPartyId);
+                _ui.m_txtPlayRule.text =  TextDescCfgArray.Instance.GetCfg(300023).text + openCfg.preview;
+                _ui.m_btnTeaParty.visible = LeagueDataManager.Instance.TeaPartyStatus != 0;
             }
-            else
+            else {
                 _ui.m_c1.selectedIndex = 0;
-
-            UpdateView();
+                UpdateView();
+            }
         }
 
         protected override void OnHide()
@@ -79,6 +84,15 @@ namespace GFGGame
             ViewManager.Show<LeagueAnsweringView>(null, new object[] { });
         }
 
+        private void OnBtnTeaPartyClick()
+        {
+            Hide();
+            if (LeagueDataManager.Instance.TeaPartyStatus == LeagueTeaPartyStatus.YesGo && !LeagueDataManager.Instance.RoleTeapartyInfo.IsComplete && LeagueDataManager.Instance.RoleTeapartyInfo.Status)
+                ViewManager.Show<LeagueTeaPartyShowView>();
+            else
+                ViewManager.Show<LeagueTeaPartyView>();
+        }
+        
         private void UpdateView()
         {
             OtherRoleInfoData lastNO1 =

+ 12 - 4
GameClient/Assets/Game/HotUpdate/Views/League/LeagueTeaPartyOverView.cs

@@ -33,9 +33,6 @@ namespace GFGGame
 
             _ui.m_loaBg.url = ResPathUtil.GetDressUpPath("chahuibg");
             _ui.m_btnBack.onClick.Add(OnBtnBackClick);
-            _ui.m_btnReward.onClick.Add(OnBtnRewardClick);
-            _ui.m_btnRule.onClick.Add(RuleController.ShowRuleView);
-            _ui.m_btnRule.data = 300022;
 
             teaPartyOverItemList.Add(_ui.m_TeaPartyOverItem1);
             teaPartyOverItemList.Add(_ui.m_TeaPartyOverItem2);
@@ -58,12 +55,22 @@ namespace GFGGame
 
             GetRoleContainerInfos();
             Timers.inst.Add(2, 1, UpdateTime);
+            GetLeagueRatingAward();
+        }
+
+        private async void GetLeagueRatingAward()
+        {
+            bool result = await LeagueSproxy.ReportTeapartyComplete(RoleDataManager.roleId);
+            if (result)
+            {
+            }
         }
 
         protected override void OnHide()
         {
             base.OnHide();
             Timers.inst.Remove(UpdateTime);
+            ViewManager.Show<LeagueTeaPartyView>();
         }
 
         protected override void RemoveEventListener()
@@ -76,10 +83,11 @@ namespace GFGGame
             bool result = await LeagueSproxy.GetRoleContainerInfos(RoleDataManager.roleId);
             if (result)
             {
+                var roleContainerList = LeagueDataManager.Instance.RoleContainerList;
                 for (int index = 0; index < teaPartyOverItemList.Count; index++)
                 {
                     teaPartyOverItemList[index].m_txtRoleName.text = teapartyRoleCfg[index].name;
-                    teaPartyOverItemList[index].m_txtGuildName.text = teapartyRoleCfg[index].name;
+                    teaPartyOverItemList[index].m_txtGuildName.text = roleContainerList[index].MaxScoreRoleName;
                 }
             }
         }

+ 34 - 30
GameClient/Assets/Game/HotUpdate/Views/League/LeagueTeaPartyRewardView.cs

@@ -38,13 +38,20 @@ namespace GFGGame
         protected override void AddEventListener()
         {
             base.AddEventListener();
+            EventAgent.AddEventListener(ConstMessage.TEA_PARTY_REWARD,UpTeaPartyRewardData);
         }
 
         protected override void OnShown()
         {
             base.OnShown();
+            UpTeaPartyRewardData();
+        }
+
+        void UpTeaPartyRewardData() { 
             SetPersonScoreList();
             SetLeagueScoreList();
+            _ui.m_txtRoleScore.text = LeagueDataManager.Instance.RoleTeapartyInfo.PerScore.ToString();
+            _ui.m_txtLeagueScore.text = LeagueDataManager.Instance.RoleTeapartyInfo.LeagueScore.ToString();
         }
         protected override void OnHide()
         {
@@ -54,8 +61,9 @@ namespace GFGGame
         protected override void RemoveEventListener()
         {
             base.RemoveEventListener();
+            EventAgent.RemoveEventListener(ConstMessage.TEA_PARTY_REWARD, UpTeaPartyRewardData);
         }
-       
+
         private void OnBtnBackClick()
         {
             ViewManager.GoBackFrom(typeof(LeagueView).FullName);
@@ -71,7 +79,7 @@ namespace GFGGame
             var pos = _ui.m_StartIndex.position;
             var endX = _ui.m_EndIndex.position.x;
             _ui.m_barPerson.max = maxScore;
-            _ui.m_barPerson.value = LeagueDataManager.Instance.RoleTeapartyInfoProto.PerScore;
+            _ui.m_barPerson.value = LeagueDataManager.Instance.RoleTeapartyInfo.PerScore;
             //Ñ­»·ÉèÖÃUI
             foreach (var cfg in teapartyRewardRoleCfg)
             {
@@ -89,7 +97,7 @@ namespace GFGGame
                 item.m_loaIcon.url = string.IsNullOrEmpty(itemCfg.res) ? "" : ResPathUtil.GetIconPath(itemCfg);
                 item.m_Num.text = cfgBonusArr[0][1].ToString();
                 item.m_c1.selectedIndex = cfg.id < maxCfgID ? 1 : 0;
-                item.target.data = cfgBonusArr;
+                item.target.data = cfg;
                 item.target.onClick.Add(OnClickReward);
             }
             FreshGetStatus();
@@ -100,13 +108,11 @@ namespace GFGGame
             componentsPerson.ForEach(com =>
             {
                 var item = UI_LinessRewardProcessItemBt.Proxy(com);
-                var cfg = (int[][])item.target.data;
-                var cfgID = cfg[0][0];
-                var itemCfg = ItemCfgArray.Instance.GetCfg(cfgID);
-                //var state = ActivityDay7DataManager.Instance.GetActivityDay7RewardState(cfgID);
-                //item.m_c1.selectedIndex = state ? 1 : 0;
-                //RedDotController.Instance.SetComRedDot(item.target,
-                //    ActivityDay7DataManager.Instance.CheckActivityDay7RewardCanGet(cfgID), "", -90);
+                TeapartyRewardRoleCfg cfg = (TeapartyRewardRoleCfg)item.target.data;
+                var state = LeagueDataManager.Instance.CheckTeaPartyPersonRewardStatu(cfg.targetScore);
+                item.m_c1.selectedIndex = state;
+                RedDotController.Instance.SetComRedDot(item.target,
+                    LeagueDataManager.Instance.CheckTeaPartyPersonRewardCanGet(cfg.targetScore), "", -90);
                 UI_LinessRewardProcessItemBt.ProxyEnd();
             });
         }
@@ -114,14 +120,14 @@ namespace GFGGame
         private async void OnClickReward(EventContext context)
         {
             if (!(context.sender is GObject btnGet)) return;
-            int[][] stageReward = (int[][])btnGet.data;
-            int id = stageReward[0][0];
-            if (!LeagueDataManager.Instance.CheckTeaPartyPersonRewardCanGet(id))
+            TeapartyRewardRoleCfg cfg = (TeapartyRewardRoleCfg)btnGet.data;
+            int id = cfg.stageRewardArr[0][0];
+            if (!LeagueDataManager.Instance.CheckTeaPartyPersonRewardCanGet(cfg.targetScore))
             {
                 GoodsItemTipsController.ShowItemTips(id);
                 return;
             }
-            var result = await LeagueSproxy.GetPerRatingAward(id);
+            var result = await LeagueSproxy.GetPerRatingAward(cfg.targetScore);
             if (!result) return;
             FreshGetStatus();
         }
@@ -129,14 +135,14 @@ namespace GFGGame
         //Ñż¯ÆÀÑ¡½±Àø
         private void SetLeagueScoreList()
         {
-            var teapartyRewardLeagueCfgs = TeapartyRewardLeagueCfgArray.Instance.GetCfgsByid(1);  //LeagueDataManager.Instance.TeaPartyId
+            var teapartyRewardLeagueCfgs = TeapartyRewardLeagueCfgArray.Instance.GetCfgsByid(LeagueDataManager.Instance.TeaPartyId); 
             var maxCfg = teapartyRewardLeagueCfgs[teapartyRewardLeagueCfgs.Count - 1];
             var maxCfgID = maxCfg.id;
             var maxScore = maxCfg.targetScore;
             var pos = _ui.m_StartLeagueIndex.position;
             var endX = _ui.m_EndLeagueIndex.position.x;
             _ui.m_barGroups.max = maxScore;
-            _ui.m_barGroups.value = LeagueDataManager.Instance.RoleTeapartyInfoProto.LeagueScore;
+            _ui.m_barGroups.value = LeagueDataManager.Instance.RoleTeapartyInfo.LeagueScore;
             //Ñ­»·ÉèÖÃUI
             foreach (var cfg in teapartyRewardLeagueCfgs)
             {
@@ -154,7 +160,7 @@ namespace GFGGame
                 item.m_loaIcon.url = string.IsNullOrEmpty(itemCfg.res) ? "" : ResPathUtil.GetIconPath(itemCfg);
                 item.m_Num.text = cfgBonusArr[0][1].ToString();
                 item.m_c1.selectedIndex = cfg.id == maxCfgID ? 1 : 0;
-                item.target.data = cfgBonusArr;
+                item.target.data = cfg;
                 item.target.onClick.Add(OnClickLeagueReward);
             }
             FreshGetLeagueStatus();
@@ -162,16 +168,14 @@ namespace GFGGame
 
         private void FreshGetLeagueStatus()
         {
-            componentsPerson.ForEach(com =>
+            componentsLeague.ForEach(com =>
             {
                 var item = UI_LinessRewardProcessItemBt.Proxy(com);
-                var cfg = (int[][])item.target.data;
-                var cfgID = cfg[0][0];
-                var itemCfg = ItemCfgArray.Instance.GetCfg(cfgID);
-                //var state = ActivityDay7DataManager.Instance.GetActivityDay7RewardState(cfgID);
-                //item.m_c1.selectedIndex = state ? 1 : 0;
-                //RedDotController.Instance.SetComRedDot(item.target,
-                //    ActivityDay7DataManager.Instance.CheckActivityDay7RewardCanGet(cfgID), "", -90);
+                TeapartyRewardLeagueCfg cfg = (TeapartyRewardLeagueCfg)item.target.data;
+                var state = LeagueDataManager.Instance.CheckTeaPartyLeagueRewardStatu(cfg.targetScore);
+                item.m_c1.selectedIndex = state;
+                RedDotController.Instance.SetComRedDot(item.target,
+                    LeagueDataManager.Instance.CheckTeaPartyLeagueRewardCanGet(cfg.targetScore), "", -90);
                 UI_LinessRewardProcessItemBt.ProxyEnd();
             });
         }
@@ -179,16 +183,16 @@ namespace GFGGame
         private async void OnClickLeagueReward(EventContext context)
         {
             if (!(context.sender is GObject btnGet)) return;
-            int[][] stageReward = (int[][])btnGet.data;
-            int id = stageReward[0][0];
-            if (!LeagueDataManager.Instance.CheckTeaPartyPersonRewardCanGet(id))
+            TeapartyRewardLeagueCfg cfg = (TeapartyRewardLeagueCfg)btnGet.data;
+            int id = cfg.stageRewardArr[0][0];
+            if (!LeagueDataManager.Instance.CheckTeaPartyLeagueRewardCanGet(cfg.targetScore))
             {
                 GoodsItemTipsController.ShowItemTips(id);
                 return;
             }
-            var result = await LeagueSproxy.GetPerRatingAward(id);
+            var result = await LeagueSproxy.GetLeagueRatingAward(cfg.targetScore);
             if (!result) return;
-            FreshGetStatus();
+            FreshGetLeagueStatus();
         }
     }
 }

+ 119 - 0
GameClient/Assets/Game/HotUpdate/Views/League/LeagueTeaPartyShowView.cs

@@ -0,0 +1,119 @@
+using ET;
+using FairyGUI;
+using Hutool;
+using System.Collections.Generic;
+using UI.League;
+using UnityEngine;
+
+namespace GFGGame
+{
+    public class LeagueTeaPartyShowView : BaseWindow
+    {
+        private UI_LeagueTeaPartyShowUI _ui;
+        private List<UI_comTeaPartyOverItem> teaPartyOverItemList = new List<UI_comTeaPartyOverItem>();
+        private List<TeapartyRoleCfg> teapartyRoleCfg;
+        private int timeIndex = 3;  //定时器时间计算
+
+        public override void Dispose()
+        {
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_LeagueTeaPartyShowUI.PACKAGE_NAME;
+            _ui = UI_LeagueTeaPartyShowUI.Create();
+            this.viewCom = _ui.target;
+            isfullScreen = true;
+
+            _ui.m_loaBg.url = ResPathUtil.GetDressUpPath("chahuibg");
+            _ui.m_btnBack.onClick.Add(OnBtnBackClick);
+
+            teaPartyOverItemList.Add(_ui.m_TeaPartyOverItem1);
+            teaPartyOverItemList.Add(_ui.m_TeaPartyOverItem2);
+            teaPartyOverItemList.Add(_ui.m_TeaPartyOverItem3);
+            teaPartyOverItemList.Add(_ui.m_TeaPartyOverItem4);
+            teaPartyOverItemList.Add(_ui.m_TeaPartyOverItem5);
+            teaPartyOverItemList.Add(_ui.m_TeaPartyOverItem6);
+
+            teapartyRoleCfg = TeapartyRoleCfgArray.Instance.GetCfgsByid(1); //LeagueDataManager.Instance.TeaPartyId
+        }
+
+        protected override void AddEventListener()
+        {
+            base.AddEventListener();
+        }
+
+        protected override void OnShown()
+        {
+            base.OnShown();
+
+            timeIndex = 3;
+            _ui.m_txtCountdown.text = string.Format("将在[color=#FF6600]{0}s[/color]后进入下一阶段", timeIndex);
+            GetRoleContainerInfos();
+            Timers.inst.Add(1, 3, UpdateTime);
+        }
+
+        protected override void OnHide()
+        {
+            base.OnHide();
+            Timers.inst.Remove(UpdateTime);
+        }
+
+        protected override void RemoveEventListener()
+        {
+            base.RemoveEventListener();
+        }
+
+        private async void GetRoleContainerInfos()
+        {
+            bool result = await LeagueSproxy.GetRoleContainerInfos(RoleDataManager.roleId);
+            if (result)
+            {
+                var roleContainerList = LeagueDataManager.Instance.RoleContainerList;
+                for (int index = 0; index < teaPartyOverItemList.Count; index++)
+                {
+                    teaPartyOverItemList[index].m_txtRoleName.text = teapartyRoleCfg[index].name;
+                    teaPartyOverItemList[index].m_txtGuildName.text = roleContainerList[index].MaxScoreRoleName;
+                }
+            }
+        }
+
+        private void OnBtnBackClick()
+        {
+            ViewManager.GoBackFrom(typeof(LeagueView).FullName);
+        }
+
+        private void openNextView()
+        {
+            if (LeagueDataManager.Instance.RoleContainerList.Count > 0)
+            {
+                string stroyStartID = "50001";
+                ViewManager.Show<StoryDialogView>(new object[] { stroyStartID, false, new OnCompleteStoryDialogCall(OnCompletePriorStoryDialog), null, true }, null, true);
+            }
+            else
+                ViewManager.Show<LeagueTeaPartyOverView>();
+        }
+
+        private static void OnCompletePriorStoryDialog(bool isSkip, object param)
+        {
+            ViewManager.Show<LeagueTeaPartyOverView>();
+        }
+
+        private void UpdateTime(object param)
+        {
+            timeIndex -= 1;
+            _ui.m_txtCountdown.text = string.Format("将在[color=#FF6600]{0}s[/color]后进入下一阶段", timeIndex);
+            if (timeIndex <= 0) {
+                openNextView();
+                Timers.inst.Remove(UpdateTime);
+            }
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/League/LeagueTeaPartyShowView.cs.meta

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

+ 112 - 41
GameClient/Assets/Game/HotUpdate/Views/League/LeagueTeaPartyView.cs

@@ -11,7 +11,8 @@ namespace GFGGame
     {
         private UI_LeagueTeaPartyUI _ui;
         private List<TeapartyRoleCfg> teapartyRoleCfg;
-         
+        private List<GObject> TeaPartyItemObj = new List<GObject>();
+
         public override void Dispose()
         {
             if (_ui != null)
@@ -46,9 +47,9 @@ namespace GFGGame
 
         private void ListTeaPartyItemRender(int index, GObject obj)
         {
+            TeaPartyItemObj.Add(obj);
             UI_comTeaPartyItem itemObj = UI_comTeaPartyItem.Proxy(obj);
-            Vector2 localpos = obj.position;//.LocalToGlobal();
-            itemObj.m_btnDetail.data = localpos;
+            itemObj.m_btnDetail.data = index;
             itemObj.m_btnDetail.onClick.Add(OnBtnDetailClick);
             itemObj.m_iconRole.data = index;
             itemObj.m_iconRole.onClick.Add(OnBtnIconRoleClick);
@@ -60,15 +61,17 @@ namespace GFGGame
                 itemObj.m_txtNumber.text = roleContainerList[index].PerNum.ToString();
                 itemObj.m_txtMaxName.text = roleContainerList[index].MaxScoreRoleName;
             }
-            var roleTeapartyInfoProto = LeagueDataManager.Instance.RoleTeapartyInfoProto;
-            if (roleTeapartyInfoProto != null)
-                itemObj.m_imgChoose.visible = index == (roleTeapartyInfoProto.TeapartyRoleId - 1);
+            var roleTeapartyInfo = LeagueDataManager.Instance.RoleTeapartyInfo;
+            if (roleTeapartyInfo != null)
+                itemObj.m_imgChoose.visible = index == (roleTeapartyInfo.TeapartyRoleId - 1);
             UI_comTeaPartyItem.ProxyEnd();
         }
 
         protected override void AddEventListener()
         {
             base.AddEventListener();
+            EventAgent.AddEventListener(ConstMessage.TEA_PARTY_ROLE_CONTAINER, RefreshListTeaParty);
+            EventAgent.AddEventListener(ConstMessage.TEA_PARTY_STATU, TeaPartyStatuChange);
         }
 
         protected override void OnShown()
@@ -80,44 +83,33 @@ namespace GFGGame
             int myPos = LeagueDataManager.Instance.GetMyPos();
             bool isLeader = myPos == LeaguePos.Owner || myPos == LeaguePos.SubOwner;
             _ui.m_btnChallenge.visible = isLeader;
+            _ui.m_btnChallenge.grayed = LeagueDataManager.Instance.TeaPartyStatus != LeagueTeaPartyStatus.YesOpen;
 
-            GetRoleContainerInfos();
             GetTeapartyMatchingInfos();
+            GetRoleContainerInfos();
         }
 
-        private void UpDataOverTime()
+        protected override void OnHide()
         {
-            _ui.m_txtOverTime.text = "挑战剩余时间:" + TimeUtil.GetTimeLeft(TimeInfo.Instance.ServerNow(), LeagueDataManager.Instance.TeaPartyCloseTime);
+            base.OnHide();
+            Timers.inst.Remove(UpDataTime);
+            QuitTeapparty();
         }
 
-        private async void GetRoleContainerInfos()
+        protected override void RemoveEventListener()
         {
-            bool result = await LeagueSproxy.GetRoleContainerInfos(RoleDataManager.roleId);
-            if (result)
-            {
-                UpDataOverTime();
-                _ui.m_ListTeaParty.numItems = 6;
-            }
+            base.RemoveEventListener();
+            EventAgent.RemoveEventListener(ConstMessage.TEA_PARTY_ROLE_CONTAINER, RefreshListTeaParty);
+            EventAgent.RemoveEventListener(ConstMessage.TEA_PARTY_STATU, TeaPartyStatuChange);
         }
 
-        private async void GetTeapartyMatchingInfos()
+        private async void QuitTeapparty()
         {
-            bool result = await LeagueSproxy.GetTeapartyMatchingInfos(RoleDataManager.roleId);
+            bool result = await LeagueSproxy.QuitTeapparty(RoleDataManager.roleId);
             if (result)
             {
-                _ui.m_ListTeaParty.numItems = 6;
             }
         }
-        
-        protected override void OnHide()
-        {
-            base.OnHide();
-        }
-
-        protected override void RemoveEventListener()
-        {
-            base.RemoveEventListener();
-        }
 
         private void OnBtnChatClick()
         {
@@ -126,10 +118,33 @@ namespace GFGGame
 
         private void OnBtnChallengeClick()
         {
-            if (LeagueDataManager.Instance.TeaPartyStatus != 1)
+            if (LeagueDataManager.Instance.TeaPartyStatus != LeagueTeaPartyStatus.YesOpen)
                 return;
 
-            TeapartyStartChallenge();
+            string strAlertText = "";
+            var roleContainerList = LeagueDataManager.Instance.RoleContainerList;
+            List<int> TeapartyRoleIdList = new List<int>();
+            foreach (var info in roleContainerList) {
+                if (info.PerNum <= 0)
+                    TeapartyRoleIdList.Add(info.TeapartyRoleId);
+            }
+            if (TeapartyRoleIdList.Count > 0) {
+                string strRoleName = "";
+                for (int index = 1; index < TeapartyRoleIdList.Count; index++) {
+                    strRoleName = strRoleName + teapartyRoleCfg[index].name;
+                    if (index < TeapartyRoleIdList.Count - 1)
+                        strRoleName = strRoleName + "、";
+                }
+                strAlertText = string.Format("茶话会角色:{0}参与人数不足,确认是否开启!" ,strRoleName);
+            }
+            else
+                strAlertText = "是否开启茶话会?";
+
+            AlertUI.Show(strAlertText)
+            .SetLeftButton(true, "否").SetRightButton(true, "是", (object data) =>
+            {
+                TeapartyStartChallenge();
+            });
         }
 
         private async void TeapartyStartChallenge()
@@ -137,16 +152,10 @@ namespace GFGGame
             bool result = await LeagueSproxy.TeapartyStartChallenge(RoleDataManager.roleId);
             if (result)
             {
-                string stroyStartID = "50001";
-                ViewManager.Show<StoryDialogView>(new object[] { stroyStartID, false, new OnCompleteStoryDialogCall(OnCompletePriorStoryDialog), null, true }, null, true);
+                TeaPartyStatuChange();
             }
         }
 
-        private static void OnCompletePriorStoryDialog(bool isSkip, object param)
-        {
-            ViewManager.Show<LeagueTeaPartyOverView>();
-        }
-
         private void OnBtnRewardClick()
         {
             ViewManager.Show<LeagueTeaPartyRewardView>();
@@ -157,15 +166,28 @@ namespace GFGGame
             ViewManager.GoBackFrom(typeof(LeagueView).FullName);
         }
 
-
         private void OnBtnDetailClick(EventContext context)
         {
             GObject obj = context.sender as GObject;
-            var pos = (Vector2)obj.data;
+            int index = (int)obj.data;
 
-            //_ui.m_teaPartyItemTips.m_window.position = pos;
+            Vector2 pos = new Vector2();
+            if (index % 2 == 0) {
+                pos = _ui.m_ListTeaParty.LocalToGlobal(TeaPartyItemObj[index].position);
+                pos.x = pos.x + TeaPartyItemObj[index].width;
+                pos.y = pos.y + TeaPartyItemObj[index].height / 2;
+            }
+            else { 
+                pos = _ui.m_ListTeaParty.LocalToGlobal(TeaPartyItemObj[index].position);
+                pos.x = pos.x - TeaPartyItemObj[index].width;
+                pos.y = pos.y + TeaPartyItemObj[index].height / 2;
+            }
+            
+            _ui.m_teaPartyItemTips.m_window.position = pos;
 
             _ui.m_teaPartyItemTips.target.visible = true;
+            _ui.m_teaPartyItemTips.m_txtName.text = teapartyRoleCfg[index].name;
+            _ui.m_teaPartyItemTips.m_txtDesc.text = teapartyRoleCfg[index].desc;
         }
 
         private void OnTeaPartyItemTipsClick()
@@ -185,5 +207,54 @@ namespace GFGGame
             dressUpFightType.teaPartID = LeagueDataManager.Instance.ChooseTeaPartId;
             ViewManager.Show<DressUpFightView>(dressUpFightType, new object[] { typeof(LeagueTeaPartyView).FullName, null }, true);
         }
+
+        private void UpDataTime(object param = null)
+        {
+            UpDataOverTime();
+            if (TimeInfo.Instance.ServerNow() >= LeagueDataManager.Instance.TeaPartyCloseTime)
+                Timers.inst.Remove(UpDataTime);
+        }
+        private void UpDataOverTime()
+        {
+            string strTimeText = "挑战剩余时间:";
+            if(LeagueDataManager.Instance.TeaPartyStatus == LeagueTeaPartyStatus.YesGo)
+                strTimeText = "公开剩余时间:";
+            _ui.m_txtOverTime.text = strTimeText + TimeUtil.GetTimeLeft(TimeInfo.Instance.ServerNow(), LeagueDataManager.Instance.TeaPartyCloseTime);
+        }
+
+        private async void GetTeapartyMatchingInfos()
+        {
+            bool result = await LeagueSproxy.GetTeapartyMatchingInfos(RoleDataManager.roleId);
+            if (result)
+            {
+                RefreshListTeaParty();
+            }
+        }
+
+        private async void GetRoleContainerInfos()
+        {
+            bool result = await LeagueSproxy.GetRoleContainerInfos(RoleDataManager.roleId);
+            if (result)
+            {
+                UpDataOverTime();
+                Timers.inst.Add(1f, 0, UpDataTime);
+                RefreshListTeaParty();
+            }
+        }
+
+        private void RefreshListTeaParty()
+        {
+            _ui.m_ListTeaParty.numItems = teapartyRoleCfg.Count;
+        }
+
+        private void TeaPartyStatuChange()
+        {
+            if (LeagueDataManager.Instance.TeaPartyStatus == LeagueTeaPartyStatus.YesGo) {
+                if (LeagueDataManager.Instance.RoleTeapartyInfo.Status)
+                    ViewManager.Show<LeagueTeaPartyShowView>();
+                else
+                    OnBtnRewardClick();
+            }
+        }
     }
 }

+ 13 - 7
GameClient/Assets/Game/HotUpdate/Views/League/LeagueView.cs

@@ -63,6 +63,7 @@ namespace GFGGame
             UpdateTeaPartyShowText();
             ChatSProxy.ReqQueryChatMsg(ChatType.League).Coroutine();
             ChatSProxy.ReqQueryChatMsg(ChatType.LeagueQuestion).Coroutine();
+            GetTeapartyMatchingInfos();
         }
 
         protected override void OnHide()
@@ -116,11 +117,7 @@ namespace GFGGame
         }
         private void OnBtnPartyClick()
         {
-            if (LeagueDataManager.Instance.TeaPartyStatus == 0) {
-                ViewManager.Show<LeagueAnswerView>(1);
-                return;
-            }
-            ViewManager.Show<LeagueTeaPartyView>();
+            ViewManager.Show<LeagueAnswerView>(1);
         }
         private void OnBtnShopClick()
         {
@@ -200,12 +197,12 @@ namespace GFGGame
             // 0未开启 1集结中 2已集结
             _ui.m_btnParty.m_showText.selectedIndex = 0;
             string text = "";
-            if (LeagueDataManager.Instance.TeaPartyStatus == 0)
+            if (LeagueDataManager.Instance.TeaPartyStatus == LeagueTeaPartyStatus.NotOpen)
             {
                 text = "未开启";
                 _ui.m_btnParty.m_showText.selectedIndex = 1;
             }
-            else if (LeagueDataManager.Instance.TeaPartyStatus == 1)
+            else if (LeagueDataManager.Instance.TeaPartyStatus == LeagueTeaPartyStatus.YesOpen)
             {
                 text = "集结中";
                 _ui.m_btnParty.m_showText.selectedIndex = 1;
@@ -220,5 +217,14 @@ namespace GFGGame
             RedDotController.Instance.SetComRedDot(_ui.m_btnGift.target, RedDotDataManager.Instance.GetLeagueGiftBoxRed(), "", -120, 100);
             RedDotController.Instance.SetComRedDot(_ui.m_btnPray.target, RedDotDataManager.Instance.GetLeaguePrayRed(), "", -70, 60);
         }
+
+        private async void GetTeapartyMatchingInfos()
+        {
+            bool result = await LeagueSproxy.GetTeapartyMatchingInfos(RoleDataManager.roleId);
+            if (result)
+            {
+
+            }
+        }
     }
 }

+ 3 - 0
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryChapterView.cs

@@ -142,6 +142,8 @@ namespace GFGGame
             _compChapter = _ui.m_chapter.m_compChapterScroll.target;
             float starPosY = _ui.m_chapter.m_compChapterScroll.m_imgBegin.y;
             int lineGap = 4500 / list.Count;
+
+            _comEff.visible = false;
             for (int i = 0; i < 20; i++)
             {
                 GObject obj = _ui.m_chapter.m_compChapterScroll.target.GetChild("g" + (i + 1));
@@ -190,6 +192,7 @@ namespace GFGGame
                         MainStoryDataManager.currentLevelCfgId = levelCfg.id;
                         _unPasslevelItem = levelItem.target;
                         levelItem.target.AddChild(_comEff);
+                        _comEff.visible = true;
                     }
                     if (levelCfg.order > endLevel)
                     {

+ 61 - 23
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryDialogView.cs

@@ -111,7 +111,6 @@ namespace GFGGame
                 _dressUpObjUI = new DressUpObjUI();
             }
             _speedAutoPlay = FightDataManager.Instance.dialogSpeed;
-            _autoPlay = false;
             lastTextFieldType = "";
             UpdateSpeedUpBtn();
             _dialogListLookBack = new List<string>();
@@ -123,8 +122,9 @@ namespace GFGGame
             {
                 _onCompleteStoryDialogCallParam = datas[3];
             }
-            if ((bool)datas[4]) 
-                IsTeaParty = true;
+
+            IsTeaParty = (bool)datas[4];
+            _autoPlay = IsTeaParty;
 
             if (LauncherConfig.netType == LauncherConfig.EnumNetType.TEMP && !InstanceZonesDataManager.CheckLevelPass(MainStoryDataManager.currentLevelCfgId))
             {
@@ -142,6 +142,7 @@ namespace GFGGame
 
             _ui.m_c1.selectedIndex = 0;
             _ui.m_btnAutoPlay.selected = false;
+
             if (_storyStartID == MainStoryDataManager.priorId)
             {
                 _ui.m_c1.selectedIndex = 1;
@@ -151,8 +152,9 @@ namespace GFGGame
                 FightDataManager.Instance.dialogSpeed = _speedAutoPlay;
             }
 
-            if(IsTeaParty)
+            if (IsTeaParty) {
                 _ui.m_c1.selectedIndex = 2;
+            }
 
             _ui.m_btnBack.visible = InstanceZonesDataManager.CheckLevelPass(100001001);
             
@@ -186,7 +188,7 @@ namespace GFGGame
 
         private void OnClickBtnNext()
         {
-            if (!_canClickBtnNext)
+            if (!_canClickBtnNext || IsTeaParty)
             {
                 return;
             }
@@ -342,6 +344,7 @@ namespace GFGGame
             UpdateMusic(storyDialogCfg.musicRes);
             UpdateBg(storyDialogCfg.bgRes);
             UpdatePic(storyDialogCfg.picRes);
+            UpdateRoleObj(storyDialogCfg.name);
             PlayEffect(storyDialogCfg.effectInfoArr);
             PlayShake(storyDialogCfg.shakeInfoArr);
             string content = storyDialogCfg.content;
@@ -421,10 +424,6 @@ namespace GFGGame
             {
                 roleName = RoleDataManager.roleName;
             }
-            if (roleName == "")
-            {
-                roleName = RoleDataManager.roleName;
-            }
             //回顾
             if (roleName != null)
             {
@@ -491,25 +490,57 @@ namespace GFGGame
             else if (!string.IsNullOrEmpty(roleName))
             {
                 _ui.m_dialogName.target.visible = true;
-                _ui.m_dialogName.m_txtName.text = roleName;
+                if (IsTeaParty)
+                {
+                    var roleContainerList = LeagueDataManager.Instance.RoleContainerList;
+                    var teapartyRoleCfg = TeapartyRoleCfgArray.Instance.GetCfgsByid(LeagueDataManager.Instance.TeaPartyId);
+                    int roleIndex = Convert.ToInt32(roleName);
+                    _ui.m_dialogName.m_txtName.text = teapartyRoleCfg[roleIndex - 1].name;
+                    _ui.m_dialogName.m_bgType.selectedIndex = 1;
+                    _ui.m_dialogName.m_showArrow.selectedIndex = 1;
+                    
+                    if (roleIndex <= roleContainerList.Count && roleContainerList[roleIndex - 1].MaxScoreRoleName != null && roleContainerList[roleIndex - 1].MaxScoreRoleName != "" && _ui.m_dialogName.m_txtName.text != "")
+                    {
+                        _ui.m_comPlayName.visible = true;
+                        _ui.m_txtPlayName.text = roleContainerList[roleIndex - 1].MaxScoreRoleName;
+
+                        if (_ui.m_txtPlayName.text == RoleDataManager.roleName)
+                            _ui.m_dialogName.m_bgType.selectedIndex = 0;
+                    }
+                    else 
+                        _ui.m_comPlayName.visible = false;
+                }
+                else { 
+                    _ui.m_dialogName.m_bgType.selectedIndex = 0;
+                    _ui.m_dialogName.m_showArrow.selectedIndex = 0;
+                    _ui.m_dialogName.m_txtName.text = roleName;
+                }
+
                 _wordTextField = _ui.m_dialogName.m_txtContent;
                 _arrow = _ui.m_dialogName.m_iconNext;
 
                 if (!lastTextFieldType.Equals("name"))
                 {
                     lastTextFieldType = "name";
-                    if(IsTeaParty)
-                        _ui.m_t1.Play();
-                    else
-                        _ui.m_t0.Play();
+                    //if(IsTeaParty)
+                    //    _ui.m_t1.Play();
+                    //else
+                    //    _ui.m_t0.Play();
+                    _ui.m_t0.Play();
                 }
             }
             else
             {
+                if (IsTeaParty)
+                    _ui.m_dialogText.m_showArrow.selectedIndex = 1;
+                else
+                    _ui.m_dialogText.m_showArrow.selectedIndex = 0;
+
                 _ui.m_dialogText.target.visible = true;
                 _wordTextField = _ui.m_dialogText.m_txtContent;
                 _arrow = _ui.m_dialogText.m_iconNext;
                 lastTextFieldType = "text";
+                _ui.m_comPlayName.visible = false;
             }
             _wordList = Regex.Split(words, "&&");
             _wordIndex = 0;
@@ -622,21 +653,28 @@ namespace GFGGame
 
         private void UpdatePic(string value)
         {
-            if (value.Length > 0)
+            if(value.Length > 0 && !IsTeaParty)
             {
                 SceneController.UpdateDialogPic(value, _sceneObject);
             }
-            else if (IsTeaParty)
-            {
-                UpdateRoleObj();
-            }
         }
 
-        private void UpdateRoleObj()
+        private void UpdateRoleObj(string value)
         {
-            ET.Log.Debug("打印测试-------asdfsdfsdaf----------");
-            MyDressUpHelper.dressUpObj.setSceneObj(_sceneObject, false, false);
-            //MyDressUpHelper.dressUpObj.PutOnDefaultDressUpData(IsTeaParty);
+            if (IsTeaParty)
+            {
+                var roleContainerList = LeagueDataManager.Instance.RoleContainerList;
+                MyDressUpHelper.dressUpObj.setSceneObj(_sceneObject, false, false);
+                for (int i = 0; i < roleContainerList.Count; i++)
+                {
+                    if (value == (i + 1).ToString() && roleContainerList[i].EquipIds.Count > 0)
+                    {
+                        MyDressUpHelper.dressUpObj.PutOnItemList(roleContainerList[i].EquipIds);
+                        return;
+                    }
+                }
+                MyDressUpHelper.dressUpObj.PutOnDefaultDressUpData(IsTeaParty);
+            }
         }
 
         private void UpdateMusic(string value)

+ 7 - 1
GameClient/Assets/Game/HotUpdate/Views/MainStory/StroyFightResultView.cs

@@ -182,7 +182,13 @@ namespace GFGGame
                     if (_dataManager.fieldInfos.bonusWeekly >= _dataManager.fieldInfos.bonusMaxLimit)
                     {
                         AlertUI.Show("本周可获得奖励已达上限,是否继续挑战?")
-                        .SetLeftButton(true)
+                        .SetLeftButton(true, "取消",async (object data) =>
+                        {
+                            if (result)
+                            {
+                                ViewManager.Show<FieldFightEndView>();
+                            }
+                        })
                         .SetRightButton(true, "确认",(object data) =>
                         {
                             if (result)

+ 14 - 7
GameClient/Assets/Game/HotUpdate/Views/MainUI/MainUIView.cs

@@ -239,7 +239,7 @@ namespace GFGGame
             Timers.inst.AddUpdate(CheckGuide);
             Timers.inst.AddUpdate(Update);
 
-            _ui.m_openViewAction.Play();
+            _ui.m_openViewAction.Play(MainUIAnimFinished);
         }
 
         protected override void OnHide()
@@ -968,12 +968,6 @@ namespace GFGGame
             _btnHaoYou.visible = FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(FriendView).Name, false);
             _btnYouJian.visible = FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(MailView).Name, false);
             _btnLeague.visible = FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(LeagueView).Name, false);
-            _ui.m_grpLeagueAnswer.visible = _btnLeague.visible && (LeagueDataManager.Instance.GetNumeriValue(LeagueNumericType.LeagueQuestionStatus) == LeagueQuestionStatus.Open || LeagueDataManager.Instance.GetNumeriValue(LeagueNumericType.LeagueQuestionStatus) == LeagueQuestionStatus.WaitNext);
-            if (_ui.m_grpLeagueAnswer.visible)
-            {
-                Vector2 pos = _ui.m_list.TransformPoint(_btnLeague.position, _ui.target);
-                _ui.m_grpLeagueAnswer.SetPosition(pos.x - _ui.m_grpLeagueAnswer.width + 20, pos.y + 20, 0);
-            }
             _btnStore.visible = FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(StoreView).Name, false);
             _btnTuJian.visible =
                 FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(FieldGuideView).Name, false);
@@ -1099,5 +1093,18 @@ namespace GFGGame
                 GuideController.TryGuide(_ui.m_loaLeft, ConstGuideId.ENTER_CHAPTER_5, 1, "", -1, false);
             }
         }
+
+        private void MainUIAnimFinished()
+        {
+            _ui.m_grpLeagueTips.visible = _btnLeague.visible && LeagueDataManager.Instance.CheckLeagueMainTips() != "";
+
+            if (_ui.m_grpLeagueTips.visible)
+            {
+                _ui.m_grpLeaguetext.text = LeagueDataManager.Instance.CheckLeagueMainTips();
+
+                Vector2 pos = _ui.m_list.TransformPoint(_btnLeague.position, _ui.target);
+                _ui.m_grpLeagueTips.SetPosition(pos.x - _ui.m_grpLeagueTips.width + 20, pos.y + 20, 0);
+            }
+        }
     }
 }

+ 2 - 0
GameClient/Assets/Game/HotUpdate/Views/Store/StoreBrocadeWeavView.cs

@@ -79,6 +79,7 @@ namespace GFGGame
             EventAgent.AddEventListener(ConstMessage.NOTICE_PASSPORT_OPEN, OnBattlePassOpen);
             EventAgent.AddEventListener(ConstMessage.ITEM_CHANGED, OnItemChange);
             EventAgent.AddEventListener(ConstMessage.NOTICE_BATCH_TASK_STATE_CHANGE, UpdateBtnBrocadeWeavTaskRed);
+            EventAgent.AddEventListener(ConstMessage.NOTICE_PASSPORT_OPEN, UpdateBtnBrocadeWeavTaskRed);
         }
 
         protected override void RemoveEventListener()
@@ -88,6 +89,7 @@ namespace GFGGame
             EventAgent.RemoveEventListener(ConstMessage.NOTICE_PASSPORT_OPEN, OnBattlePassOpen);
             EventAgent.RemoveEventListener(ConstMessage.ITEM_CHANGED, OnItemChange);
             EventAgent.RemoveEventListener(ConstMessage.NOTICE_BATCH_TASK_STATE_CHANGE, UpdateBtnBrocadeWeavTaskRed);
+            EventAgent.RemoveEventListener(ConstMessage.NOTICE_PASSPORT_OPEN, UpdateBtnBrocadeWeavTaskRed);
         }
 
         private void OnBattlePassOpen()

+ 29 - 40
GameClient/Assets/Game/HotUpdate/Views/Store/StoreChargeAddUpView.cs

@@ -120,18 +120,11 @@ namespace GFGGame
             if (item.m_listGiftBag.data == null)
             {
                 item.m_listGiftBag.itemRenderer = ListRewardItemRender;
+                item.m_listGiftBag.onClickItem.Add(OnListItemClick);
             }
             item.m_listGiftBag.data = lastVipCfg.bonusOnceArr;
             item.m_listGiftBag.numItems = lastVipCfg.bonusOnceArr.Length;
 
-            item.m_txtWeekGiftBag.SetVar("value", vipCfg.id.ToString()).FlushVars();
-            if (item.m_listWeekGiftBag.data == null)
-            {
-                item.m_listWeekGiftBag.itemRenderer = ListRewardItemRender;
-            }
-            item.m_listWeekGiftBag.data = vipCfg.bonusWeekArr;
-            item.m_listWeekGiftBag.numItems = vipCfg.bonusWeekArr.Length;
-
             if (item.m_holder.data == null)
             {
                 DressUpObjUI dressUpObjUI = new DressUpObjUI("SceneSuitFoster");
@@ -156,28 +149,28 @@ namespace GFGGame
             bool isGet = MathUtil.isBitSet(GameGlobal.myNumericComponent.GetAsInt(NumericType.VipGetStatus), vipCfg.id);
             item.m_btnGetGiftBag.grayed = isGet || vipCfg.id > RoleDataManager.vipLv;
             RedDotController.Instance.SetComRedDot(item.m_btnGetGiftBag, !isGet && RoleDataManager.vipLv >= vipCfg.id);
-            if (item.m_btnGetWeekGiftBag.data == null)
+            if (item.m_btnWeek.data == null)
             {
-                item.m_btnGetWeekGiftBag.onClick.Add(OnBtnGetWeekGiftBagClick);
+                item.m_btnWeek.onClick.Add(OnBtnWeekClick);
             }
-            item.m_btnGetWeekGiftBag.data = vipCfg.id;
+            item.m_btnWeek.data = vipCfg.id;
             bool canGet = GameGlobal.myNumericComponent.GetAsInt(NumericType.VipWeekGetStatus) == 0 && RoleDataManager.vipLv == vipCfg.id;
-            item.m_btnGetWeekGiftBag.grayed = !canGet;
-            RedDotController.Instance.SetComRedDot(item.m_btnGetWeekGiftBag, canGet);
+            item.m_btnWeek.grayed = !canGet;
+            RedDotController.Instance.SetComRedDot(item.m_btnWeek, canGet);
             UI_ListVipItem.ProxyEnd();
         }
 
         private void ListRewardItemRender(int index, GObject obj)
         {
             int[][] rewards = (int[][])obj.parent.data;
-
-            if (obj.data == null)
-            {
-                obj.data = new ItemView(obj as GComponent);
-            }
+            UI_ComItem item = UI_ComItem.Proxy(obj);
             ItemData itemData = ItemUtil.createItemData(rewards[index]);
-            (obj.data as ItemView).SetData(itemData);
-            (obj.data as ItemView).ChangeTxtCountStyle();
+            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemData.id);
+            item.m_txtCount.text = itemData.num.ToString();
+            item.target.data = itemCfg;
+            item.m_QualityType.selectedIndex = itemData.rarity - 1;
+            item.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfg);
+            UI_ComItem.ProxyEnd();
         }
 
         private void OnBtnShowClick(EventContext context)
@@ -196,6 +189,14 @@ namespace GFGGame
             }
             ViewManager.Show<SuitShowView>(new object[] { _suitTypeId, suitId, new List<int>() { suitId }, false });
         }
+
+        private void OnBtnWeekClick(EventContext context)
+        {
+            GObject obj = context.sender as GObject;
+            int vipLv = (int)obj.data;
+            ViewManager.Show<WeekGiftView>(vipLv);
+        }
+            
         private void OnBtnGetGiftBagClick(EventContext context)
         {
             GObject obj = context.sender as GObject;
@@ -213,26 +214,7 @@ namespace GFGGame
             }
             ShopSProxy.ReqGetVipGiftBag(vipLv).Coroutine();
         }
-        private void OnBtnGetWeekGiftBagClick(EventContext context)
-        {
-            GObject obj = context.sender as GObject;
-            int vipLv = (int)obj.data;
-            if (GameGlobal.myNumericComponent.GetAsInt(NumericType.VipWeekGetStatus) == 1)
-            {
-                PromptController.Instance.ShowFloatTextPrompt("会员每周礼包已领取");
-                return;
-            }
-            if (RoleDataManager.vipLv < vipLv)
-            {
-                PromptController.Instance.ShowFloatTextPrompt("会员等级不足");
-                return;
-            }
-            AlertUI.Show("提升VIP等级能领取更高级的礼包,是否继续领取当前等级的VIP礼包?", "(该礼包每周只能领取1次)")
-             .SetLeftButton(true, "否").SetRightButton(true, "是", async (object data) =>
-             {
-                 ShopSProxy.ReqGetVipWeekGiftBag(vipLv).Coroutine();
-             });
-        }
+
         private void OnBtnLeftClick()
         {
 
@@ -286,5 +268,12 @@ namespace GFGGame
             RedDotController.Instance.SetComRedDot(_ui.m_btnRight, rightRed);
 
         }
+
+        private void OnListItemClick(EventContext context)
+        {
+            GComponent comItem = (context.data as GComponent);
+            ItemCfg itemCfg = comItem.data as ItemCfg;
+            GoodsItemTipsController.ShowItemTips(itemCfg.id);
+        }
     }
 }

+ 83 - 0
GameClient/Assets/Game/HotUpdate/Views/Store/WeekGiftView.cs

@@ -0,0 +1,83 @@
+using System.Threading.Tasks;
+using ET;
+using FairyGUI;
+using UI.Store;
+
+namespace GFGGame
+{
+    public class WeekGiftView : BaseWindow
+    {
+        private UI_WeekGiftUI _ui;
+        private int _vipLv;
+
+        public override void Dispose()
+        {
+            if (_ui != null)
+            {
+                _ui.Dispose();
+            }
+            _ui = null;
+            base.Dispose();
+        }
+        protected override void OnHide()
+        {
+            base.OnHide();
+
+        }
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_WeekGiftUI.PACKAGE_NAME;
+            _ui = UI_WeekGiftUI.Create();
+            this.viewCom = _ui.target;
+            this.viewCom.Center();
+            this.modal = true;
+            _ui.m_listWeekGiftBag.itemRenderer = ListRewardItemRender;
+            _ui.m_btnGetWeekGiftBag.onClick.Add(OnBtnGetWeekGiftBagClick);
+        }
+
+        protected override void OnShown()
+        {
+            base.OnShown();
+            _vipLv = (int)this.viewData;
+            VipCfg vipCfg = VipCfgArray.Instance.dataArray[_vipLv];
+            _ui.m_txtWeekGiftBag.SetVar("value", vipCfg.id.ToString()).FlushVars();
+            _ui.m_listWeekGiftBag.data = vipCfg.bonusWeekArr;
+            _ui.m_listWeekGiftBag.numItems = vipCfg.bonusWeekArr.Length;
+        }
+
+        private void ListRewardItemRender(int index, GObject obj)
+        {
+            int[][] rewards = (int[][])obj.parent.data;
+
+            if (obj.data == null)
+            {
+                obj.data = new ItemView(obj as GComponent);
+            }
+            ItemData itemData = ItemUtil.createItemData(rewards[index]);
+            (obj.data as ItemView).SetData(itemData);
+            (obj.data as ItemView).ChangeTxtCountStyle();
+        }
+
+        private void OnBtnGetWeekGiftBagClick(EventContext context)
+        {
+            if (GameGlobal.myNumericComponent.GetAsInt(NumericType.VipWeekGetStatus) == 1)
+            {
+                PromptController.Instance.ShowFloatTextPrompt("会员每周礼包已领取");
+                return;
+            }
+            if (RoleDataManager.vipLv < _vipLv)
+            {
+                PromptController.Instance.ShowFloatTextPrompt("会员等级不足");
+                return;
+            }
+            AlertUI.Show("提升VIP等级能领取更高级的礼包,是否继续领取当前等级的VIP礼包?", "(该礼包每周只能领取1次)")
+             .SetLeftButton(true, "否").SetRightButton(true, "是", async (object data) =>
+             {
+                 ViewManager.Hide<WeekGiftView>();
+                 bool result = await ShopSProxy.ReqGetVipWeekGiftBag(_vipLv);
+                 if (result){ }
+             });
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/Store/WeekGiftView.cs.meta

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

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/Task/TaskView.cs

@@ -71,7 +71,7 @@ namespace GFGGame
             int selectedIndex = 0;
             if (viewData != null)
             {
-                var t = viewData as int[];
+                var t = viewData as object[];
                 if(t != null && t.Length > 0)
                 {
                     selectedIndex = (int)t[0];

+ 4 - 3
GameClient/Assets/Game/HotUpdate/Views/ViewAnimationFactory.cs

@@ -21,12 +21,13 @@ namespace GFGGame
             else
             {
                 gComponent.visible = false;
-                gComponent.SetScale(0.4f, 0.4f);
+                gComponent.SetScale(0.7f, 0.7f);
                 gComponent.SetPivot(0.5f, 0.5f);
-                gComponent.TweenFade(0, 0).OnComplete(() =>
+                gComponent.TweenFade(0f, 0).OnComplete(() =>
                 {
                     gComponent.visible = true;
-                    gComponent.TweenFade(1, 0.3f);
+                    
+                    gComponent.TweenFade(1, 0.3f).SetEase(EaseType.QuadOut);
                     gComponent.TweenScale(new Vector2(1, 1), 0.3f).SetEase(EaseType.BackOut).OnComplete(callback);
                 });
             }

BIN
GameClient/Assets/ResIn/UI/Arena/Arena_atlas0!a.png


BIN
GameClient/Assets/ResIn/UI/Arena/Arena_atlas0.png


BIN
GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_1!a.png


BIN
GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_1.png


BIN
GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_2!a.png


BIN
GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_2.png


BIN
GameClient/Assets/ResIn/UI/Arena/Arena_fui.bytes


BIN
GameClient/Assets/ResIn/UI/Card/Card_fui.bytes


BIN
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_fui.bytes


BIN
GameClient/Assets/ResIn/UI/DressUp/DressUp_fui.bytes


BIN
GameClient/Assets/ResIn/UI/FieldGuide/FieldGuide_atlas0!a.png


BIN
GameClient/Assets/ResIn/UI/FieldGuide/FieldGuide_atlas0.png


BIN
GameClient/Assets/ResIn/UI/FieldGuide/FieldGuide_fui.bytes


BIN
GameClient/Assets/ResIn/UI/League/League_atlas0!a.png


BIN
GameClient/Assets/ResIn/UI/League/League_atlas0.png


BIN
GameClient/Assets/ResIn/UI/League/League_atlas0_1!a.png


BIN
GameClient/Assets/ResIn/UI/League/League_atlas0_1.png


BIN
GameClient/Assets/ResIn/UI/League/League_atlas0_2!a.png


BIN
GameClient/Assets/ResIn/UI/League/League_atlas0_2.png


BIN
GameClient/Assets/ResIn/UI/League/League_atlas0_3!a.png


BIN
GameClient/Assets/ResIn/UI/League/League_atlas0_3.png


BIN
GameClient/Assets/ResIn/UI/League/League_atlas0_4!a.png


BIN
GameClient/Assets/ResIn/UI/League/League_atlas0_4.png


BIN
GameClient/Assets/ResIn/UI/League/League_atlas0_5!a.png


BIN
GameClient/Assets/ResIn/UI/League/League_atlas0_5.png


BIN
GameClient/Assets/ResIn/UI/League/League_atlas0_6!a.png


BIN
GameClient/Assets/ResIn/UI/League/League_atlas0_6.png


Некоторые файлы не были показаны из-за большого количества измененных файлов