Browse Source

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

# Conflicts:
#	GameClient/Assets/Game/HotUpdate/DressUp/DressUpObj.cs
#	GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryChapterView.cs
guodong 1 năm trước cách đây
mục cha
commit
601d7aa3f4
100 tập tin đã thay đổi với 973 bổ sung300 xóa
  1. 1 1
      GameClient/Assets/Editor/Excel/ExcelScanner.cs
  2. 46 2
      GameClient/Assets/Editor/Excel/Scanner/ItemApproachScanner.cs
  3. 7 8
      GameClient/Assets/Editor/Excel/Scanner/SuitGuideScanner.cs
  4. 2 0
      GameClient/Assets/Editor/Excel/Template/Config.txt
  5. 1 0
      GameClient/Assets/Game/HotUpdate/Controller/GameController.cs
  6. 34 18
      GameClient/Assets/Game/HotUpdate/Data/DressUpMenuItemDataManager.cs
  7. 0 27
      GameClient/Assets/Game/HotUpdate/Data/DressUpMenuSuitDataManager.cs
  8. 25 0
      GameClient/Assets/Game/HotUpdate/Data/ItemDataManager.cs
  9. 28 4
      GameClient/Assets/Game/HotUpdate/Data/LeagueDataManager.cs
  10. 2 0
      GameClient/Assets/Game/HotUpdate/Data/LuckyBoxDataManager.cs
  11. 10 1
      GameClient/Assets/Game/HotUpdate/Data/RedDotDataManager.cs
  12. 4 0
      GameClient/Assets/Game/HotUpdate/DressUp/DressUpObj.cs
  13. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Bag/UI_BagUI.cs
  14. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/DailyWelfare/UI_DailyWelfareUI.cs
  15. 13 16
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/DressUp/UI_Button4.cs
  16. 1 1
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/DressUp/UI_Button4.cs.meta
  17. 19 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_ComBox1.cs
  18. 3 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_ComCard.cs
  19. 74 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_LuckyBoxWishUI.cs
  20. 1 1
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_LuckyBoxWishUI.cs.meta
  21. 0 74
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_ButtonStoryType1.cs
  22. 2 2
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_CompChapterScroll.cs
  23. 9 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_CompStoryLevelItem.cs
  24. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_ComponentChapterPic.cs
  25. 6 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_ComponentListChapterItem.cs
  26. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_StoryChapterUI.cs
  27. 2 2
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Studio/UI_StudioFilingRewardUI.cs
  28. 46 0
      GameClient/Assets/Game/HotUpdate/ServerProxy/LuckyBoxSProxy.cs
  29. 51 0
      GameClient/Assets/Game/HotUpdate/Utils/SuitUtil.cs
  30. 8 1
      GameClient/Assets/Game/HotUpdate/Views/Card/CardFosterView.cs
  31. 8 6
      GameClient/Assets/Game/HotUpdate/Views/ClothingShop/ClothingShopView.cs
  32. 9 1
      GameClient/Assets/Game/HotUpdate/Views/ClothingSynthetic/ClothingSyntheticView.cs
  33. 1 1
      GameClient/Assets/Game/HotUpdate/Views/DailyWelfare/LimitChargeView.cs
  34. 47 15
      GameClient/Assets/Game/HotUpdate/Views/DressUp/DressFilterView.cs
  35. 61 49
      GameClient/Assets/Game/HotUpdate/Views/DressUp/DressUpFightView.cs
  36. 1 0
      GameClient/Assets/Game/HotUpdate/Views/DressUp/DressUpView.cs
  37. 3 4
      GameClient/Assets/Game/HotUpdate/Views/FieldGuide/FieldGuideView.cs
  38. 1 1
      GameClient/Assets/Game/HotUpdate/Views/FieldGuide/SuitGuideDetailView.cs
  39. 25 18
      GameClient/Assets/Game/HotUpdate/Views/League/LeagueMemberView.cs
  40. 1 2
      GameClient/Assets/Game/HotUpdate/Views/League/LeagueTeaPartyRewardView.cs
  41. 10 0
      GameClient/Assets/Game/HotUpdate/Views/League/LeagueTeaPartyView.cs
  42. 1 0
      GameClient/Assets/Game/HotUpdate/Views/League/LeagueView.cs
  43. 1 1
      GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxNewDressView.cs
  44. 143 25
      GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxView.cs
  45. 78 0
      GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxWishView.cs
  46. 11 0
      GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxWishView.cs.meta
  47. 65 1
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryChapterListView.cs
  48. 45 1
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryChapterView.cs
  49. 17 0
      GameClient/Assets/Game/HotUpdate/Views/RoleInfo/ChangeHeadView.cs
  50. 31 10
      GameClient/Assets/Game/HotUpdate/Views/RoleInfo/ChangeNameView.cs
  51. 5 2
      GameClient/Assets/Game/HotUpdate/Views/RoleInfo/RoleInfoView.cs
  52. BIN
      GameClient/Assets/ResIn/UI/Arena/Arena_fui.bytes
  53. BIN
      GameClient/Assets/ResIn/UI/Bag/Bag_fui.bytes
  54. BIN
      GameClient/Assets/ResIn/UI/ClothingDecompose/ClothingDecompose_fui.bytes
  55. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0!a.png
  56. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0.png
  57. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_1!a.png
  58. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_1.png
  59. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_2!a.png
  60. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_2.png
  61. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_6!a.png
  62. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_6.png
  63. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_fui.bytes
  64. BIN
      GameClient/Assets/ResIn/UI/DailyWelfare/DailyWelfare_atlas0!a.png
  65. BIN
      GameClient/Assets/ResIn/UI/DailyWelfare/DailyWelfare_atlas0.png
  66. BIN
      GameClient/Assets/ResIn/UI/DailyWelfare/DailyWelfare_atlas0_1.png
  67. BIN
      GameClient/Assets/ResIn/UI/DailyWelfare/DailyWelfare_fui.bytes
  68. BIN
      GameClient/Assets/ResIn/UI/DressUp/DressUp_fui.bytes
  69. BIN
      GameClient/Assets/ResIn/UI/FieldGuide/FieldGuide_fui.bytes
  70. BIN
      GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0!a.png
  71. BIN
      GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0.png
  72. BIN
      GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_1!a.png
  73. BIN
      GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_1.png
  74. BIN
      GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_6!a.png
  75. 1 1
      GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_6!a.png.meta
  76. BIN
      GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_6.png
  77. 1 1
      GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_6.png.meta
  78. BIN
      GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_fui.bytes
  79. BIN
      GameClient/Assets/ResIn/UI/Mail/Mail_fui.bytes
  80. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0!a.png
  81. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0.png
  82. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_1!a.png
  83. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_1.png
  84. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_2!a.png
  85. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_2.png
  86. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_3!a.png
  87. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_3.png
  88. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_4!a.png
  89. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_4.png
  90. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_5!a.png
  91. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_5.png
  92. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_6!a.png
  93. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_6.png
  94. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_7!a.png
  95. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_7.png
  96. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_8!a.png
  97. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_8.png
  98. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_9!a.png
  99. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_9.png
  100. BIN
      GameClient/Assets/ResIn/UI/Main/Main_fui.bytes

+ 1 - 1
GameClient/Assets/Editor/Excel/ExcelScanner.cs

@@ -16,7 +16,7 @@
             GiftBagScanner.StartScan();
             FieldScanner.StartScan();
             LeagueScanner.StartScan();
-            // SuitGuideScanner.StartScan();
+            //SuitGuideScanner.StartScan();
         }
     }
 }

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

@@ -13,16 +13,16 @@ namespace GFGEditor
     /// </summary>
     public class ItemApproachScanner
     {
-
         private delegate string GetApproachCall(int itemId);
 
-
         public static void startScan()
         {
             ItemCfg[] dataArray = ItemCfgArray.Instance.dataArray;
             GetApproachCall[] actions = new GetApproachCall[] { GetClothingShopApproach, GetLeaguePrayApproach, GetLeagueAnswerApproach, CheckStoreApproach, GetClothingSyntheticApproach, GetSuitGuideApproach, GetSuitSyntheticApproach, GetClothingDecomposeApproach, CheckClothingFosterApproach, CheckDailyTaskApproach, CheckWeeklyTaskApproach, GetZhaiXingApproach, GetStoryLevelApproach };
             Dictionary<SuitCfg, List<int>> suitDic = new Dictionary<SuitCfg, List<int>>();
             Dictionary<ItemCfg, List<int>> syntheticSuitDic = new Dictionary<ItemCfg, List<int>>();
+            Dictionary<SuitCfg, Dictionary<string, string>> suitTagsDic = new Dictionary<SuitCfg, Dictionary<string, string>>();
+
             int suitPartTotalCount = 0;
             int clothingPartsCount = 0;
             int cardCount = 0;
@@ -33,6 +33,7 @@ namespace GFGEditor
                 HandleItemSyntheticSuit(cfg, syntheticSuitDic);
                 HandleItemAndDressUpTable(cfg, ref clothingPartsCount);
                 HandleItemAndCardTable(cfg, ref cardCount);
+                HandleItemAndSuitTags(cfg, suitTagsDic);
             }
             var globalCfg = GlobalCfgArray.globalCfg;
             SQLiteHelper.Instance.OpenConnection();
@@ -68,6 +69,19 @@ namespace GFGEditor
                     var values = new string[] { string.Join(";", a.Value) };
                     SQLiteHelper.Instance.UpdateValues(nameof(ItemCfgArray), names, values, nameof(a.Key.id), a.Key.id.ToString());
                 }
+
+                //套装属性累加
+                foreach (var a in suitTagsDic)
+                {
+                    var names = new string[] { nameof(a.Key.tagsArr).Replace("Arr", "") };
+                    var value = "";
+                    foreach (var e in a.Value)
+                    {
+                         value = value + e.Key + "*" + e.Value+ ";";
+                    }
+                    var values = new string[] { string.Join(";", value) };
+                    SQLiteHelper.Instance.UpdateValues(nameof(SuitCfgArray), names, values, nameof(a.Key.id), a.Key.id.ToString());
+                }
             }
             catch (Exception e)
             {
@@ -183,6 +197,36 @@ namespace GFGEditor
             }
         }
 
+        private static void HandleItemAndSuitTags(ItemCfg itemCfg, Dictionary<SuitCfg, Dictionary<string,string>> suitTagsDic)
+        {
+            if (itemCfg.suitId <= 0)
+            {
+                return;
+            }
+            var suitCfg = SuitCfgArray.Instance.GetCfg(itemCfg.suitId);
+            if (suitCfg == null)
+            {
+                return;
+            }
+            if (itemCfg.itemType == ConstItemType.DRESS_UP)
+            {
+                for (int i = 0; i < itemCfg.tagsArr.Length; i++)
+                {
+                    suitTagsDic.TryGetValue(suitCfg, out var tags);
+                    if (tags == null)
+                    {
+                        tags = new Dictionary<string, string>();
+                        suitTagsDic[suitCfg] = tags;
+                    }
+                
+                    if (!tags.ContainsKey(itemCfg.tagsArr[i][0]))
+                        tags[itemCfg.tagsArr[i][0]] = itemCfg.tagsArr[i][1];
+                    else
+                        tags[itemCfg.tagsArr[i][0]] = (Convert.ToInt32(tags[itemCfg.tagsArr[i][0]]) + Convert.ToInt32(itemCfg.tagsArr[i][1])).ToString();
+                }
+            }
+        }
+
         private static void HandleItemApproch(ItemCfg cfg, GetApproachCall[] actions)
         {
             if (cfg.id == 3000001 || cfg.id == 3000002 || cfg.id == 3000003)

+ 7 - 8
GameClient/Assets/Editor/Excel/Scanner/SuitGuideScanner.cs

@@ -24,14 +24,13 @@ namespace GFGEditor
             SQLiteHelper.Instance.OpenConnection();
             try
             {
-                // foreach (var cfg in dataArray)
-                // {
-
-                SuitGuideMenuCfg cfg = dataArray[0];
-                var names = new string[] { nameof(cfg.suitIds) };
-                var values = new string[] { strs };
-                SQLiteHelper.Instance.UpdateValues(nameof(SuitGuideMenuCfgArray), names, values, nameof(cfg.id), cfg.id.ToString());
-                // }
+                foreach (var cfg in dataArray)
+                {
+                    //SuitGuideMenuCfg cfg = dataArray[0];
+                    var names = new string[] { nameof(cfg.suitIds) };
+                    var values = new string[] { strs };
+                    SQLiteHelper.Instance.UpdateValues(nameof(SuitGuideMenuCfgArray), names, values, nameof(cfg.id), cfg.id.ToString());
+                }
             }
             catch (Exception e)
             {

+ 2 - 0
GameClient/Assets/Editor/Excel/Template/Config.txt

@@ -13,6 +13,8 @@ namespace GFGGame
 		public void setData(SqliteDataReader reader)
 		{
 {variable assignment}
+            
+
 		}
 		
 	}

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

@@ -125,6 +125,7 @@ namespace GFGGame
             await ActivityGlobalSProxy.GetActivityInfo();
             await LuckyBoxSProxy.ReqGetLuckyBoxRotatingInfo();
             await LeagueSproxy.GetTeapartyInfos();
+            await LeagueSproxy.GetTeapartyMatchingInfos(RoleDataManager.roleId);
 
             GameGlobal.lastLoginTime = StorageDataManager.Instance.GetStorageValue(ConstStorageId.LAST_LOGIN_TIME);
             long lastTime = GameGlobal.myNumericComponent.GetAsInt(NumericType.OnlineTimeSecs);

+ 34 - 18
GameClient/Assets/Game/HotUpdate/Data/DressUpMenuItemDataManager.cs

@@ -148,8 +148,8 @@ namespace GFGGame
                         if (isNewB) return 1;
                     }
                 }
-                int scoreA = ItemDataManager.GetItemAdditionScore(a, InstanceZonesDataManager.currentScoreType, InstanceZonesDataManager.currentFightTags); ;
-                int scoreB = ItemDataManager.GetItemAdditionScore(b, InstanceZonesDataManager.currentScoreType, InstanceZonesDataManager.currentFightTags); ;
+                int scoreA = ItemDataManager.GetItemAdditionScore(a, InstanceZonesDataManager.currentScoreType, InstanceZonesDataManager.currentFightTags); 
+                int scoreB = ItemDataManager.GetItemAdditionScore(b, InstanceZonesDataManager.currentScoreType, InstanceZonesDataManager.currentFightTags); 
                 if (scoreB > scoreA) return 1;
                 if (scoreB < scoreA) return -1;
 
@@ -157,6 +157,21 @@ namespace GFGGame
             });
             return arrayList;
         }
+
+        public static List<int> SortItemTeaPartyByHighScore(List<int> arrayList)
+        {
+            arrayList.Sort((int a, int b) =>
+            {
+                int scoreA = ItemDataManager.GetItemAddTeaPartyTagsScore(a);
+                int scoreB = ItemDataManager.GetItemAddTeaPartyTagsScore(b);
+                if (scoreB > scoreA) return 1;
+                if (scoreB < scoreA) return -1;
+
+                return a - b;
+            });
+            return arrayList;
+        }
+
         public static List<int> SortItemListByLowScore(List<int> arrayList, bool checkNew = false)
         {
             arrayList.Sort((int a, int b) =>
@@ -186,6 +201,20 @@ namespace GFGGame
             return arrayList;
         }
 
+        public static List<int> SortItemTeaPartyByLowsore(List<int> arrayList)
+        {
+            arrayList.Sort((int a, int b) =>
+            {
+                int scoreA = ItemDataManager.GetItemAddTeaPartyTagsScore(a);
+                int scoreB = ItemDataManager.GetItemAddTeaPartyTagsScore(b);
+                if (scoreB < scoreA) return 1;
+                if (scoreB > scoreA) return -1;
+
+                return a - b;
+            });
+            return arrayList;
+        }
+
         private static List<int> SortItemListByScoreByType(List<int> arrayList)
         {
             arrayList.Sort((int a, int b) =>
@@ -729,10 +758,10 @@ namespace GFGGame
             return result;
         }
 
+        // 默认的不显示
+        private static List<int> defaultID = new List<int> { 10000, 20000, 30000, 50000, 60000 };
         private static bool CanShow(ItemCfg item)
         {
-            // 默认的不显示
-            List<int> defaultID = new List<int>{ 10000, 20000, 30000, 50000, 60000 };
             if (defaultID.Contains(item.id))
             {
                 return false;
@@ -858,7 +887,6 @@ namespace GFGGame
             });
         }
 
-
         public static void GetTotalProgress(out int haveCount, out int totalCount)
         {
             totalCount = GlobalCfgArray.globalCfg.ClothingPartsCount;
@@ -887,19 +915,7 @@ namespace GFGGame
             {
                 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++)
-            {
-                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;
+            haveCount -= defaultID.Count;
         }
     }
 }

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

@@ -183,7 +183,6 @@ namespace GFGGame
             return _actionIDList;
         }
 
-
         public static int GetSuitGuideBonusStatus(int suitId)
         {
             int status = ConstBonusStatus.CAN_NOT_GET;
@@ -235,31 +234,5 @@ namespace GFGGame
             var suitCfg = SuitCfgArray.Instance.GetCfg(suitId);
             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;
-        }
     }
 }

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

@@ -1,3 +1,4 @@
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using ET;
@@ -304,6 +305,30 @@ namespace GFGGame
         }
 
         /// <summary>
+        /// 获取茶话会item物品的属性
+        /// </summary>
+        /// <param name="itemId"></param>
+        /// <param name="scoreType"></param>
+        /// <returns></returns>
+        public static int GetItemAddTeaPartyTagsScore(int itemId)//, int scoreType, string[] tags = null)
+        {
+            if (_dataDic.TryGetValue(itemId, out var itemData))
+            {
+                int scroe = 0;
+                ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
+                if (itemCfg.tagsArr != null)
+                {
+                    foreach (var info in itemCfg.tagsArr)
+                    {
+                        scroe += Convert.ToInt32(info[1]);
+                    }
+                }
+                return scroe;
+            }
+            return 0;
+        }
+
+        /// <summary>
         /// 获取一个换装部件对应的标签分数
         /// </summary>
         /// <param name="itemId"></param>

+ 28 - 4
GameClient/Assets/Game/HotUpdate/Data/LeagueDataManager.cs

@@ -303,8 +303,12 @@ namespace GFGGame
         //茶话会个人奖励当前状态
         public int CheckTeaPartyPersonRewardStatu(int targetScore)
         {
-            var roleTeapartyInfo = LeagueDataManager.Instance.RoleTeapartyInfo;
             var teapartyRewardRoleCfg = TeapartyRewardRoleCfgArray.Instance.dataArray;
+            if (teapartyRewardRoleCfg == null)
+                return 0;
+            var roleTeapartyInfo = LeagueDataManager.Instance.RoleTeapartyInfo;
+            if (roleTeapartyInfo == null || roleTeapartyInfo.PerAwardStatusVs == null)
+                return 0;
             for (int i = 0; i < teapartyRewardRoleCfg.Length; i++)
             {
                 if (teapartyRewardRoleCfg[i].targetScore == targetScore)
@@ -338,15 +342,35 @@ namespace GFGGame
             return 0;
         }
 
+        //茶话会奖励是否可以领取
+        public bool CheckTeaPartyRewardCanGet()
+        {
+            var teapartyRewardRoleCfg = TeapartyRewardRoleCfgArray.Instance.dataArray;
+            var teapartyRewardLeagueCfgs = TeapartyRewardLeagueCfgArray.Instance.GetCfgsByid(LeagueDataManager.Instance.TeaPartyId);
+
+            foreach (var cfg in teapartyRewardRoleCfg)
+            {
+                if (CheckTeaPartyPersonRewardCanGet(cfg.targetScore))
+                    return true;
+            }
+            foreach (var cfg in teapartyRewardLeagueCfgs)
+            {
+                if (CheckTeaPartyLeagueRewardCanGet(cfg.targetScore))
+                return true;
+            }
+
+            return false;
+        }
+
         //主界面雅集提示语判断
         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 "雅集夜宴进行中...";
 
+            if (LeagueDataManager.Instance.Type == LeagueJoinType.Join && LeagueDataManager.Instance.TeaPartyStatus == LeagueTeaPartyStatus.YesOpen && !LeagueDataManager.Instance.RoleTeapartyInfo.Status)
+                return "茶话会挑战中...";
+
             return "";
         }
     }

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

@@ -22,6 +22,8 @@ namespace GFGGame
         public int RotatingId = 0;//轮换活动id。0为未开启
         public long startTime = 1668873600000;
         public long endTime = 1672156799000;
+        public List<int> KsActivityId = new List<int>(); //活动ids--只存放开启中的许愿池活动id 
+        public List<bool> VsStatus = new List<bool>(); //true已进行许愿 false未进行许愿
 
         //存储奖池免费时间,大于存储时间免费
         public Dictionary<int, long> luckyBoxFreeTimeMillDic = new Dictionary<int, long>();

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

@@ -635,7 +635,7 @@ namespace GFGGame
         /// <returns></returns>
         public bool GetLeagueRed()
         {
-            return GetLeagueMemberJoinRed() || LeagueDataManager.Instance.Type == LeagueJoinType.UnJoin || GetLeagueGiftBoxRed() || GetLeaguePrayRed();
+            return GetLeagueMemberJoinRed() || LeagueDataManager.Instance.Type == LeagueJoinType.UnJoin || GetLeagueGiftBoxRed() || GetLeaguePrayRed() || GetLeagueTeaPartyRed();
         }
         /// <summary>
         /// 联盟-成员申请
@@ -669,6 +669,15 @@ namespace GFGGame
         {
             return LeagueDataManager.Instance.GetPrayTimesByType(LeaguePrayType.First) == 0;
         }
+
+        /// <summary>
+        /// 联盟-茶话会
+        /// </summary>
+        /// <returns></returns>
+        public bool GetLeagueTeaPartyRed()
+        {
+            return LeagueDataManager.Instance.CheckTeaPartyRewardCanGet();
+        }
         /// <summary>
         /// 限时抽奖活动奖励
         /// </summary>

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

@@ -703,5 +703,9 @@ namespace GFGGame
 
         #endregion
 
+        public void ClearDressUpList()
+        {
+            _dressUpData.itemList.Clear();
+        }
     }
 }

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Bag/UI_BagUI.cs

@@ -11,6 +11,7 @@ namespace UI.Bag
         public GComponent m_comValueBar;
         public GList m_list;
         public GButton m_btnBack;
+        public Transition m_t0;
         public const string URL = "ui://2bsz6nelohbxn";
         public const string PACKAGE_NAME = "Bag";
         public const string RES_NAME = "BagUI";
@@ -62,6 +63,7 @@ namespace UI.Bag
             m_comValueBar = (GComponent)comp.GetChild("comValueBar");
             m_list = (GList)comp.GetChild("list");
             m_btnBack = (GButton)comp.GetChild("btnBack");
+            m_t0 = comp.GetTransition("t0");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -69,6 +71,7 @@ namespace UI.Bag
             m_comValueBar = null;
             m_list = null;
             m_btnBack = null;
+            m_t0 = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/DailyWelfare/UI_DailyWelfareUI.cs

@@ -11,6 +11,7 @@ namespace UI.DailyWelfare
         public GComponent m_comValueBar;
         public GButton m_btnback;
         public UI_ComList m_comList;
+        public Transition m_t0;
         public const string URL = "ui://t8nwuj7ifqor0";
         public const string PACKAGE_NAME = "DailyWelfare";
         public const string RES_NAME = "DailyWelfareUI";
@@ -62,6 +63,7 @@ namespace UI.DailyWelfare
             m_comValueBar = (GComponent)comp.GetChild("comValueBar");
             m_btnback = (GButton)comp.GetChild("btnback");
             m_comList = (UI_ComList)UI_ComList.Create(comp.GetChild("comList"));
+            m_t0 = comp.GetTransition("t0");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -70,6 +72,7 @@ namespace UI.DailyWelfare
             m_btnback = null;
             m_comList.Dispose();
             m_comList = null;
+            m_t0 = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 13 - 16
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_ButtonStoryType.cs → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/DressUp/UI_Button4.cs

@@ -2,21 +2,20 @@
 
 using FairyGUI;
 
-namespace UI.Main
+namespace UI.DressUp
 {
-    public partial class UI_ButtonStoryType
+    public partial class UI_Button4
     {
         public GButton target;
-        public GLoader m_up;
-        public GLoader m_down;
-        public const string URL = "ui://mfvz4q8kzjj37x";
-        public const string PACKAGE_NAME = "Main";
-        public const string RES_NAME = "ButtonStoryType";
-        private static UI_ButtonStoryType _proxy;
+        public Controller m_buttonType;
+        public const string URL = "ui://mbo439wbih753k";
+        public const string PACKAGE_NAME = "DressUp";
+        public const string RES_NAME = "Button4";
+        private static UI_Button4 _proxy;
 
-        public static UI_ButtonStoryType Create(GObject gObject = null)
+        public static UI_Button4 Create(GObject gObject = null)
         {
-            var ui = new UI_ButtonStoryType();
+            var ui = new UI_Button4();
             if(gObject == null)
             	ui.target =  (GButton)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
             else
@@ -25,11 +24,11 @@ namespace UI.Main
             return ui;
         }
 
-        public static UI_ButtonStoryType Proxy(GObject gObject = null)
+        public static UI_Button4 Proxy(GObject gObject = null)
         {
             if(_proxy == null)
             {
-                _proxy = new UI_ButtonStoryType();
+                _proxy = new UI_Button4();
             }
             var ui = _proxy;
             if(gObject == null)
@@ -56,13 +55,11 @@ namespace UI.Main
 
         private void Init(GComponent comp)
         {
-            m_up = (GLoader)comp.GetChild("up");
-            m_down = (GLoader)comp.GetChild("down");
+            m_buttonType = comp.GetController("buttonType");
         }
         public void Dispose(bool disposeTarget = false)
         {
-            m_up = null;
-            m_down = null;
+            m_buttonType = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 1 - 1
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_ButtonStoryType.cs.meta → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/DressUp/UI_Button4.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 9fd0be9ba1f45b549972a1137e2ae289
+guid: 28540bbf65c09e943ba260d6e5ccdd90
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 19 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_ComBox1.cs

@@ -7,14 +7,20 @@ namespace UI.LuckyBox
     public partial class UI_ComBox1
     {
         public GComponent target;
+        public Controller m_showActivityType;
         public UI_ComModel m_comModel;
         public GLoader m_loaTitle;
         public GTextField m_txtTime;
         public GGroup m_grpTime;
         public GGroup m_grpTitle;
+        public GButton m_btnGiftBag;
+        public UI_ComBagTime m_comBagTime;
+        public GButton m_btnShop;
+        public GButton m_btnReward;
         public GButton m_btnPreview;
         public GTextField m_txtOwned;
         public UI_comLuckBoxBtn m_comLuckBoxBtn;
+        public GTextField m_txtCount;
         public const string URL = "ui://drx9d1usduuftcr";
         public const string PACKAGE_NAME = "LuckyBox";
         public const string RES_NAME = "ComBox1";
@@ -62,27 +68,40 @@ namespace UI.LuckyBox
 
         private void Init(GComponent comp)
         {
+            m_showActivityType = comp.GetController("showActivityType");
             m_comModel = (UI_ComModel)UI_ComModel.Create(comp.GetChild("comModel"));
             m_loaTitle = (GLoader)comp.GetChild("loaTitle");
             m_txtTime = (GTextField)comp.GetChild("txtTime");
             m_grpTime = (GGroup)comp.GetChild("grpTime");
             m_grpTitle = (GGroup)comp.GetChild("grpTitle");
+            m_btnGiftBag = (GButton)comp.GetChild("btnGiftBag");
+            m_comBagTime = (UI_ComBagTime)UI_ComBagTime.Create(comp.GetChild("comBagTime"));
+            m_btnShop = (GButton)comp.GetChild("btnShop");
+            m_btnReward = (GButton)comp.GetChild("btnReward");
             m_btnPreview = (GButton)comp.GetChild("btnPreview");
             m_txtOwned = (GTextField)comp.GetChild("txtOwned");
             m_comLuckBoxBtn = (UI_comLuckBoxBtn)UI_comLuckBoxBtn.Create(comp.GetChild("comLuckBoxBtn"));
+            m_txtCount = (GTextField)comp.GetChild("txtCount");
         }
         public void Dispose(bool disposeTarget = false)
         {
+            m_showActivityType = null;
             m_comModel.Dispose();
             m_comModel = null;
             m_loaTitle = null;
             m_txtTime = null;
             m_grpTime = null;
             m_grpTitle = null;
+            m_btnGiftBag = null;
+            m_comBagTime.Dispose();
+            m_comBagTime = null;
+            m_btnShop = null;
+            m_btnReward = null;
             m_btnPreview = null;
             m_txtOwned = null;
             m_comLuckBoxBtn.Dispose();
             m_comLuckBoxBtn = null;
+            m_txtCount = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 3 - 3
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_ComCard.cs

@@ -8,12 +8,12 @@ namespace UI.LuckyBox
     {
         public GComponent target;
         public GGraph m_holder;
+        public GGraph m_holder1;
         public GLoader m_loaIcon;
         public GTextField m_txtDiscribe;
         public GLoader m_loaType;
         public GLoader m_loaProperty;
         public GTextField m_txtName;
-        public GGraph m_holder1;
         public const string URL = "ui://drx9d1usqdrt1a";
         public const string PACKAGE_NAME = "LuckyBox";
         public const string RES_NAME = "ComCard";
@@ -62,22 +62,22 @@ namespace UI.LuckyBox
         private void Init(GComponent comp)
         {
             m_holder = (GGraph)comp.GetChild("holder");
+            m_holder1 = (GGraph)comp.GetChild("holder1");
             m_loaIcon = (GLoader)comp.GetChild("loaIcon");
             m_txtDiscribe = (GTextField)comp.GetChild("txtDiscribe");
             m_loaType = (GLoader)comp.GetChild("loaType");
             m_loaProperty = (GLoader)comp.GetChild("loaProperty");
             m_txtName = (GTextField)comp.GetChild("txtName");
-            m_holder1 = (GGraph)comp.GetChild("holder1");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_holder = null;
+            m_holder1 = null;
             m_loaIcon = null;
             m_txtDiscribe = null;
             m_loaType = null;
             m_loaProperty = null;
             m_txtName = null;
-            m_holder1 = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 74 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_LuckyBoxWishUI.cs

@@ -0,0 +1,74 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.LuckyBox
+{
+    public partial class UI_LuckyBoxWishUI
+    {
+        public GComponent target;
+        public GButton m_btnWish1;
+        public GButton m_btnWish2;
+        public const string URL = "ui://drx9d1usnlyjtqb";
+        public const string PACKAGE_NAME = "LuckyBox";
+        public const string RES_NAME = "LuckyBoxWishUI";
+        private static UI_LuckyBoxWishUI _proxy;
+
+        public static UI_LuckyBoxWishUI Create(GObject gObject = null)
+        {
+            var ui = new UI_LuckyBoxWishUI();
+            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_LuckyBoxWishUI Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_LuckyBoxWishUI();
+            }
+            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_btnWish1 = (GButton)comp.GetChild("btnWish1");
+            m_btnWish2 = (GButton)comp.GetChild("btnWish2");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_btnWish1 = null;
+            m_btnWish2 = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 1 - 1
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_ButtonStoryType1.cs.meta → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_LuckyBoxWishUI.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 3c66629928c242244989023d3bcf7f47
+guid: 5709357795592264ab9daee6db95776b
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 0 - 74
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_ButtonStoryType1.cs

@@ -1,74 +0,0 @@
-/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
-
-using FairyGUI;
-
-namespace UI.Main
-{
-    public partial class UI_ButtonStoryType1
-    {
-        public GButton target;
-        public GLoader m_up;
-        public GLoader m_down;
-        public const string URL = "ui://mfvz4q8ko4m7fsf";
-        public const string PACKAGE_NAME = "Main";
-        public const string RES_NAME = "ButtonStoryType1";
-        private static UI_ButtonStoryType1 _proxy;
-
-        public static UI_ButtonStoryType1 Create(GObject gObject = null)
-        {
-            var ui = new UI_ButtonStoryType1();
-            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_ButtonStoryType1 Proxy(GObject gObject = null)
-        {
-            if(_proxy == null)
-            {
-                _proxy = new UI_ButtonStoryType1();
-            }
-            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_up = (GLoader)comp.GetChild("up");
-            m_down = (GLoader)comp.GetChild("down");
-        }
-        public void Dispose(bool disposeTarget = false)
-        {
-            m_up = null;
-            m_down = null;
-            if(disposeTarget && target != null)
-            {
-                target.RemoveFromParent();
-                target.Dispose();
-            }
-            target = null;
-        }
-    }
-}

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

@@ -7,7 +7,7 @@ namespace UI.Main
     public partial class UI_CompChapterScroll
     {
         public GComponent target;
-        public GImage m_imgBegin;
+        public GLoader m_imgBegin;
         public UI_CompStoryLevelItem m_g20;
         public UI_CompStoryLevelItem m_g19;
         public UI_CompStoryLevelItem m_g18;
@@ -75,7 +75,7 @@ namespace UI.Main
 
         private void Init(GComponent comp)
         {
-            m_imgBegin = (GImage)comp.GetChild("imgBegin");
+            m_imgBegin = (GLoader)comp.GetChild("imgBegin");
             m_g20 = (UI_CompStoryLevelItem)UI_CompStoryLevelItem.Create(comp.GetChild("g20"));
             m_g19 = (UI_CompStoryLevelItem)UI_CompStoryLevelItem.Create(comp.GetChild("g19"));
             m_g18 = (UI_CompStoryLevelItem)UI_CompStoryLevelItem.Create(comp.GetChild("g18"));

+ 9 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_CompStoryLevelItem.cs

@@ -13,7 +13,10 @@ namespace UI.Main
         public GLoader m_loaDialogBg;
         public GTextField m_txtDialogOrder;
         public GTextField m_txtName;
+        public GLoader m_fightBg;
+        public GLoader m_fightIconA;
         public GTextField m_txtFightOrder;
+        public GLoader m_fightIconB;
         public UI_CompFlower2 m_flower;
         public GGraph m_holder;
         public const string URL = "ui://mfvz4q8ko4m7fqd";
@@ -69,7 +72,10 @@ namespace UI.Main
             m_loaDialogBg = (GLoader)comp.GetChild("loaDialogBg");
             m_txtDialogOrder = (GTextField)comp.GetChild("txtDialogOrder");
             m_txtName = (GTextField)comp.GetChild("txtName");
+            m_fightBg = (GLoader)comp.GetChild("fightBg");
+            m_fightIconA = (GLoader)comp.GetChild("fightIconA");
             m_txtFightOrder = (GTextField)comp.GetChild("txtFightOrder");
+            m_fightIconB = (GLoader)comp.GetChild("fightIconB");
             m_flower = (UI_CompFlower2)UI_CompFlower2.Create(comp.GetChild("flower"));
             m_holder = (GGraph)comp.GetChild("holder");
         }
@@ -82,7 +88,10 @@ namespace UI.Main
             m_loaDialogBg = null;
             m_txtDialogOrder = null;
             m_txtName = null;
+            m_fightBg = null;
+            m_fightIconA = null;
             m_txtFightOrder = null;
+            m_fightIconB = null;
             m_flower.Dispose();
             m_flower = null;
             m_holder = null;

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

@@ -8,6 +8,7 @@ namespace UI.Main
     {
         public GComponent target;
         public GLoader m_pic;
+        public GLoader m_bg;
         public const string URL = "ui://mfvz4q8ktu966u";
         public const string PACKAGE_NAME = "Main";
         public const string RES_NAME = "ComponentChapterPic";
@@ -56,10 +57,12 @@ namespace UI.Main
         private void Init(GComponent comp)
         {
             m_pic = (GLoader)comp.GetChild("pic");
+            m_bg = (GLoader)comp.GetChild("bg");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_pic = null;
+            m_bg = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 6 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_ComponentListChapterItem.cs

@@ -9,11 +9,13 @@ namespace UI.Main
         public GComponent target;
         public UI_ComponentChapterPic m_compPic;
         public GTextField m_txtChapter;
+        public GLoader m_txtBG;
         public GTextField m_txtChapterName0;
         public GTextField m_txtChapterName1;
         public GTextField m_txtChapterName2;
         public GTextField m_txtChapterName3;
         public GTextField m_txtChapterName4;
+        public GLoader m_numBg;
         public GTextField m_txtCurProgress;
         public GTextField m_txtMaxProgress;
         public GImage m_imgLockBg;
@@ -67,11 +69,13 @@ namespace UI.Main
         {
             m_compPic = (UI_ComponentChapterPic)UI_ComponentChapterPic.Create(comp.GetChild("compPic"));
             m_txtChapter = (GTextField)comp.GetChild("txtChapter");
+            m_txtBG = (GLoader)comp.GetChild("txtBG");
             m_txtChapterName0 = (GTextField)comp.GetChild("txtChapterName0");
             m_txtChapterName1 = (GTextField)comp.GetChild("txtChapterName1");
             m_txtChapterName2 = (GTextField)comp.GetChild("txtChapterName2");
             m_txtChapterName3 = (GTextField)comp.GetChild("txtChapterName3");
             m_txtChapterName4 = (GTextField)comp.GetChild("txtChapterName4");
+            m_numBg = (GLoader)comp.GetChild("numBg");
             m_txtCurProgress = (GTextField)comp.GetChild("txtCurProgress");
             m_txtMaxProgress = (GTextField)comp.GetChild("txtMaxProgress");
             m_imgLockBg = (GImage)comp.GetChild("imgLockBg");
@@ -82,11 +86,13 @@ namespace UI.Main
             m_compPic.Dispose();
             m_compPic = null;
             m_txtChapter = null;
+            m_txtBG = null;
             m_txtChapterName0 = null;
             m_txtChapterName1 = null;
             m_txtChapterName2 = null;
             m_txtChapterName3 = null;
             m_txtChapterName4 = null;
+            m_numBg = null;
             m_txtCurProgress = null;
             m_txtMaxProgress = null;
             m_imgLockBg = null;

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

@@ -13,6 +13,7 @@ namespace UI.Main
         public GButton m_btnBack;
         public GButton m_btnHome;
         public GTextField m_txtChapter;
+        public GLoader m_txtBg;
         public GTextField m_txtChapterName0;
         public GTextField m_txtChapterName1;
         public GTextField m_txtChapterName2;
@@ -75,6 +76,7 @@ namespace UI.Main
             m_btnBack = (GButton)comp.GetChild("btnBack");
             m_btnHome = (GButton)comp.GetChild("btnHome");
             m_txtChapter = (GTextField)comp.GetChild("txtChapter");
+            m_txtBg = (GLoader)comp.GetChild("txtBg");
             m_txtChapterName0 = (GTextField)comp.GetChild("txtChapterName0");
             m_txtChapterName1 = (GTextField)comp.GetChild("txtChapterName1");
             m_txtChapterName2 = (GTextField)comp.GetChild("txtChapterName2");
@@ -94,6 +96,7 @@ namespace UI.Main
             m_btnBack = null;
             m_btnHome = null;
             m_txtChapter = null;
+            m_txtBg = null;
             m_txtChapterName0 = null;
             m_txtChapterName1 = null;
             m_txtChapterName2 = null;

+ 2 - 2
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Studio/UI_StudioFilingRewardUI.cs

@@ -10,7 +10,7 @@ namespace UI.Studio
         public GLoader m_bg;
         public GTextField m_txtScore;
         public GList m_list;
-        public GButton m_btnGet;
+        public GComponent m_btnGet;
         public GButton m_btnBack;
         public GGraph m_LeftTopEffect;
         public GGraph m_RightDownEffect;
@@ -64,7 +64,7 @@ namespace UI.Studio
             m_bg = (GLoader)comp.GetChild("bg");
             m_txtScore = (GTextField)comp.GetChild("txtScore");
             m_list = (GList)comp.GetChild("list");
-            m_btnGet = (GButton)comp.GetChild("btnGet");
+            m_btnGet = (GComponent)comp.GetChild("btnGet");
             m_btnBack = (GButton)comp.GetChild("btnBack");
             m_LeftTopEffect = (GGraph)comp.GetChild("LeftTopEffect");
             m_RightDownEffect = (GGraph)comp.GetChild("RightDownEffect");

+ 46 - 0
GameClient/Assets/Game/HotUpdate/ServerProxy/LuckyBoxSProxy.cs

@@ -11,6 +11,17 @@ namespace ET
             await ETTask.CompletedTask;
         }
     }
+
+    //活动开启服务端推送最新许愿记录
+    public class S2C_PushWishingPoolInfoHandler : AMHandler<S2C_PushWishingPoolInfo>
+    {
+        protected override async ETTask Run(Session session, S2C_PushWishingPoolInfo message)
+        {
+            LuckyBoxDataManager.Instance.KsActivityId = message.KsActivityId;
+            LuckyBoxDataManager.Instance.VsStatus = message.VsStatus;
+            await ETTask.CompletedTask;
+        }
+    }
 }
 
 namespace GFGGame
@@ -69,5 +80,40 @@ namespace GFGGame
                 }
             }
         }
+
+        //许愿池许愿记录
+        public static async ETTask<bool> ReqAddWishingPoolInfo(int suitId,int activityId)
+        {
+            S2C_AddWishingPoolInfo response = null;
+
+            response = (S2C_AddWishingPoolInfo)await MessageHelper.SendToServer(new C2S_AddWishingPoolInfo() { SuitId = suitId , ActivityId  = activityId });
+            if (response != null)
+            {
+                if (response.Error == ErrorCode.ERR_Success)
+                {
+                    int index = LuckyBoxDataManager.Instance.KsActivityId.IndexOf(response.ActivityId);
+                    LuckyBoxDataManager.Instance.VsStatus[index] = response.Status;
+                    return true;
+                }
+            }
+            return false;
+        }
+        
+        ////获取许愿池许愿记录
+        public static async ETTask<bool> ReqGetWishingPoolInfo()
+        {
+            S2C_GetWishingPoolInfo response = null;
+            response = (S2C_GetWishingPoolInfo)await MessageHelper.SendToServer(new C2S_GetWishingPoolInfo() { });
+            if (response != null)
+            {
+                if (response.Error == ErrorCode.ERR_Success)
+                {
+                    LuckyBoxDataManager.Instance.KsActivityId = response.KsActivityId;
+                    LuckyBoxDataManager.Instance.VsStatus = response.VsStatus;
+                    return true;
+                }
+            }
+            return false;
+        }
     }
 }

+ 51 - 0
GameClient/Assets/Game/HotUpdate/Utils/SuitUtil.cs

@@ -23,6 +23,18 @@ namespace GFGGame
             return score;
         }
 
+        public static int GetTeaPartySuitScore(int suitID)
+        {
+            int score = 0;
+            SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(suitID);
+            var items = suitCfg.tagsArr;
+            foreach (var info in items)
+            {
+                score += Convert.ToInt32(info[1]);
+            }
+            return score;
+        }
+
         public static List<int> SortSuitListByHighScore(List<int> arrayList)
         {
             arrayList.Sort((int a, int b) =>
@@ -41,6 +53,26 @@ namespace GFGGame
             });
             return arrayList;
         }
+
+        public static List<int> SortTeaPartySuitByHighScore(List<int> arrayList)
+        {
+            arrayList.Sort((int a, int b) =>
+            {
+                int scoreA = GetTeaPartySuitScore(a);
+                int scoreB = GetTeaPartySuitScore(b);
+                if (scoreB > scoreA)
+                {
+                    return 1;
+                }
+                else if (scoreB < scoreA)
+                {
+                    return -1;
+                }
+                return 0;
+            });
+            return arrayList;
+        }
+
         public static List<int> SortSuitListByLowScore(List<int> arrayList)
         {
             arrayList.Sort((int a, int b) =>
@@ -60,6 +92,25 @@ namespace GFGGame
             return arrayList;
         }
 
+        public static List<int> SortTeaPartySuitByLowScore(List<int> arrayList)
+        {
+            arrayList.Sort((int a, int b) =>
+            {
+                int scoreA = GetTeaPartySuitScore(a);
+                int scoreB = GetTeaPartySuitScore(b);
+                if (scoreB < scoreA)
+                {
+                    return 1;
+                }
+                else if (scoreB > scoreA)
+                {
+                    return -1;
+                }
+                return 0;
+            });
+            return arrayList;
+        }
+
         public static List<int> SortSuitListByDefaultPriority(List<int> arrayList)
         {
             arrayList.Sort((int a, int b) =>

+ 8 - 1
GameClient/Assets/Game/HotUpdate/Views/Card/CardFosterView.cs

@@ -1034,7 +1034,14 @@ namespace GFGGame
             PassivitySkillLvlCfg skillLvlCfg = PassivitySkillLvlCfgArray.Instance.GetCfgByskilllvlAndskillId(skillLv, skillCfg.skillId);
             // item.m_txtDesc.text = skillLvlCfg.describe;
             // item.m_btnUp.visible = PassivitySkillLvlCfgArray.Instance.GetCfgByskilllvlAndskillId(skillLv + 1, skillCfg.skillId) != null;
-            RedDotController.Instance.SetComRedDot(item.target, RedDotDataManager.Instance.GetCardSkillRed(skillCfg.skillId), "", -10, 10);
+            if (_ui.m_ComFosterBottom.m_c_from.selectedIndex == (int)Source.DISPLAY)
+            {
+                RedDotController.Instance.SetComRedDot(item.target, false);
+            }
+            else
+            {
+                RedDotController.Instance.SetComRedDot(item.target, RedDotDataManager.Instance.GetCardSkillRed(skillCfg.skillId), "", -10, 10);
+            }
         }
 
         private void OnBtnUpSkill()

+ 8 - 6
GameClient/Assets/Game/HotUpdate/Views/ClothingShop/ClothingShopView.cs

@@ -228,6 +228,8 @@ namespace GFGGame
             // _ui.m_txtCount1.text = "" + ItemDataManager.GetItemNum(luckyBoxCfg2.bonusArr[0][0]);
             // _ui.m_loaIcon1.icon = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(luckyBoxCfg2.bonusArr[0][0]).res);
         }
+
+        private EaseType ease = EaseType.CubicOut;
         private void UpdateRole(bool tween)
         {
             _dressUpObjUI.ResetSceneObj(70, false, true, null, false);
@@ -241,18 +243,18 @@ namespace GFGGame
             }
             if (Array.IndexOf(HEAD_Y_ARR, type) >= 0)
             {
-                _ui.m_compHolder.m_compMover.target.TweenMoveY(HEAD_Y, duration);
-                _ui.m_compHolder.m_compMover.target.TweenScale(new Vector2(SCALE_MAX, SCALE_MAX), duration);
+                _ui.m_compHolder.m_compMover.target.TweenMoveY(HEAD_Y, duration).SetEase(ease); ;
+                _ui.m_compHolder.m_compMover.target.TweenScale(new Vector2(SCALE_MAX, SCALE_MAX), duration).SetEase(ease); ;
             }
             else if (Array.IndexOf(SHOES_Y_ARR, type) >= 0)
             {
-                _ui.m_compHolder.m_compMover.target.TweenMoveY(SHOES_Y, duration);
-                _ui.m_compHolder.m_compMover.target.TweenScale(new Vector2(SCALE_MAX, SCALE_MAX), duration);
+                _ui.m_compHolder.m_compMover.target.TweenMoveY(SHOES_Y, duration).SetEase(ease); ;
+                _ui.m_compHolder.m_compMover.target.TweenScale(new Vector2(SCALE_MAX, SCALE_MAX), duration).SetEase(ease); ;
             }
             else
             {
-                _ui.m_compHolder.m_compMover.target.TweenMoveY(BODY_Y, duration);
-                _ui.m_compHolder.m_compMover.target.TweenScale(new Vector2(1, 1), duration);
+                _ui.m_compHolder.m_compMover.target.TweenMoveY(BODY_Y, duration).SetEase(ease); ;
+                _ui.m_compHolder.m_compMover.target.TweenScale(new Vector2(1, 1), duration).SetEase(ease); ;
             }
         }
 

+ 9 - 1
GameClient/Assets/Game/HotUpdate/Views/ClothingSynthetic/ClothingSyntheticView.cs

@@ -45,6 +45,7 @@ namespace GFGGame
         private List<ItemData> _materiarsOfSelectedItem;
 
         private UI_MateriasListItem listTypeItem_CloSynthetic;
+        private bool _clearDressUpList;
 
 
         public override void Dispose()
@@ -115,6 +116,7 @@ namespace GFGGame
             _selectedItemId = (this.viewData as object[]).Length > 1 ? (int)(this.viewData as object[])[1] : 0;
             _valueBarController.OnShown();
             _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("hc_bj_1");
+            _clearDressUpList = true;
 
             UpdateClothingList(false);
 
@@ -191,11 +193,17 @@ namespace GFGGame
             UI_ClothingListItem.ProxyEnd();
         }
 
-        private EaseType ease = EaseType.ExpoOut;
+        private EaseType ease = EaseType.CubicOut;
         private void UpdateRole(bool tween)
         {
+            if (_clearDressUpList)
+            {
+                _dressUpObjUI.dressUpObj.ClearDressUpList();
+                _clearDressUpList = false;
+            }
             _dressUpObjUI.ResetSceneObj(45, true, true, null, false);
             _dressUpObjUI.dressUpObj.AddOrRemove(_selectedItemId, true);
+            _imgSelected.visible = _dressUpObjUI.dressUpObj.CheckDressUpItemIsOn(_selectedItemId);
             _dressUpObjUI.UpdateWrapper(_ui.m_compHolder.m_compMover.m_holder);
             int type = ItemUtilCS.GetItemSubType(_selectedItemId);
             float duration = DURATION;

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/DailyWelfare/LimitChargeView.cs

@@ -119,7 +119,7 @@ namespace GFGGame
             }
             item.m_listRewards.data = _rechargeCfgs[index].bonusArr;
             item.m_listRewards.numItems = _rechargeCfgs[index].bonusArr.Length;
-
+            item.m_listRewards.scrollPane.posX = 0;
             UI_ListChargeItem.ProxyEnd();
         }
         private void RenderListRewardItem(int index, GObject obj)

+ 47 - 15
GameClient/Assets/Game/HotUpdate/Views/DressUp/DressFilterView.cs

@@ -18,7 +18,8 @@ namespace GFGGame
         private UI_DressFilterUI _ui;
         private List<int> _selectRarityList;
         private List<int> _selectScoreList;
-        private List<string> _selectTagList;
+        private List<string> _selectTagList = new List<string>();
+        private bool _IsTeaPart = false;
 
         public override void Dispose()
         {
@@ -52,7 +53,7 @@ namespace GFGGame
 
             _ui.m_comSearch.m_listRarity.onClickItem.Add(OnClickListRarityItem);
             _ui.m_comSearch.m_listScore.onClickItem.Add(OnClickListScoreItem);
-            _ui.m_comSearch.m_listTag.onClickItem.Add(OnClickListTagItem);
+            //_ui.m_comSearch.m_listTag.onClickItem.Add(OnClickListTagItem);
         }
 
         protected override void OnShown()
@@ -63,6 +64,7 @@ namespace GFGGame
             if ((this.viewData as object[]) == null)
             {
                 _ui.m_c1.selectedIndex = (bool)(this.viewData as object) == true ? 0 : 1;
+                _IsTeaPart = false;
             }
             // New
             else
@@ -70,6 +72,7 @@ namespace GFGGame
                 _ui.m_c1.selectedIndex = (int)(this.viewData as object[])[0];
                 // For change m_comSearch.m_c1
                 _ui.m_comSearch.m_c1.selectedIndex = (int)(this.viewData as object[])[1];
+                _IsTeaPart = (int)(this.viewData as object[])[2] == 1;
             }
 
             _selectRarityList = DressUpMenuItemDataManager.selectRarityList;// new List<int>();
@@ -101,19 +104,31 @@ namespace GFGGame
             int data = index + 1;
             item.data = data;
             item.selected = _selectScoreList.IndexOf(data) >= 0;
-
         }
+
+        private List<GButton> _TagItemObj = new List<GButton>();
         private void RenderListTagItem(int index, GObject obj)
         {
             GButton item = obj.asButton;
             TagCfg tagCfg = TagCfgArray.Instance.dataArray[index];
             item.text = tagCfg.name;
             item.icon = "ui://DressUp/sxsx_fgdi_" + tagCfg.type;
-            // item.data = 
             string data = tagCfg.name;// string.Format("{0}_{1}", tagCfg.type, tagCfg.name);
-            item.data = data;
+            if (item.data == null)
+                item.onClick.Add(onClickTageButton);
+
+            UI_Button4 itemObj = UI_Button4.Proxy(item);
+                int listIndex = _selectTagList.IndexOf(tagCfg.name);
+                if (listIndex < 0)
+                    itemObj.m_buttonType.selectedIndex = 0;
+                else
+                    itemObj.m_buttonType.selectedIndex = 1;
+            UI_Button4.ProxyEnd();
+            item.data = index;
             item.selected = _selectTagList.IndexOf(data) >= 0;
+            _TagItemObj.Add(item);
         }
+
         private void OnClickListRarityItem(EventContext context)
         {
             int data = (int)(context.data as GButton).data;
@@ -141,19 +156,35 @@ namespace GFGGame
                 _selectScoreList.RemoveAt(index);
             }
         }
-        private void OnClickListTagItem(EventContext context)
+
+        private void onClickTageButton(EventContext context)
         {
-            string data = (context.data as GButton).data.ToString();
-            int index = _selectTagList.IndexOf(data);
-            if (index < 0)
-            {
-                _selectTagList.Add(data);
-            }
-            else
-            {
-                _selectTagList.RemoveAt(index);
+            int index = (int)(context.sender as GButton).data;
+            TagCfg tagCfg = TagCfgArray.Instance.dataArray[index];
+            int listIndex = _selectTagList.IndexOf(tagCfg.name);
+
+            if (_IsTeaPart) {
+                if (_selectTagList.Count >= 2 && listIndex < 0)
+                {
+                    PromptController.Instance.ShowFloatTextPrompt("最多只可以选2个标签哦~");
+                    return;
+                }
             }
+
+            UI_Button4 itemObj = UI_Button4.Proxy(_TagItemObj[index]);
+                if (listIndex < 0)
+                {
+                    _selectTagList.Add(tagCfg.name);
+                    itemObj.m_buttonType.selectedIndex = 1;
+                }
+                else
+                {
+                    _selectTagList.RemoveAt(listIndex);
+                    itemObj.m_buttonType.selectedIndex = 0;
+                }
+            UI_Button4.ProxyEnd();
         }
+
         private bool CheckIllegalCharacter(string str)
         {
             if (System.Text.Encoding.Default.GetByteCount(str) < 2)
@@ -211,6 +242,7 @@ namespace GFGGame
             ResetFilter();
             ResetSearch();
             DressUpMenuItemDataManager.dressFilterType = DressFilterType.None;
+            UpdateView();
             EventAgent.DispatchEvent(ConstMessage.DRESS_FILTER_RESET);
         }
         private void ResetFilter()

+ 61 - 49
GameClient/Assets/Game/HotUpdate/Views/DressUp/DressUpFightView.cs

@@ -33,7 +33,7 @@ namespace GFGGame
         private StoryLevelCfg _levelCfg;
         private StoryFightCfg _fightCfg;
         private int scoreType = 0;  //目标分数类型保存
-        private bool IsTeaPart = false;
+        private bool _IsTeaPart = false;
 
         private const int SORT_BY_HIGH_SCORE = 0;
         private const int SORT_BY_LOW_SCORE = 1;
@@ -150,13 +150,15 @@ namespace GFGGame
 
             var objData = (DressUpFightType)this.viewData;
 
-            if (objData.teaPartID > 0) { 
-                IsTeaPart = true;
+            if (objData.teaPartID > 0) {
+                _IsTeaPart = true;
                 _TeaPartyID = objData.teaPartID;
             }
+            else
+                _IsTeaPart = false;
 
             _levelID = objData.levelID;
-            if (!IsTeaPart)
+            if (!_IsTeaPart)
                 _ui.m_c1.selectedIndex = 0;
             else
                 _ui.m_c1.selectedIndex = 2;
@@ -172,7 +174,7 @@ namespace GFGGame
             _ui.m_btnAutoPlay.visible = FunctionOpenDataManager.Instance.CheckIsFunOpenById(ConstFunctionId.FUNCTION_AUTOPLAY_FIGHT, false);
             _ui.m_btnRecommend.visible = FunctionOpenDataManager.Instance.CheckIsFunOpenById(ConstFunctionId.FUNCTION_AUTOPLAY_FIGHT, false);
 
-            if (!IsTeaPart) { 
+            if (!_IsTeaPart) { 
                 InstanceZonesDataManager.currentLevelCfgId = _levelID;
                 _levelCfg = StoryLevelCfgArray.Instance.GetCfg(_levelID);
                 _fightCfg = StoryFightCfgArray.Instance.GetCfg(_levelCfg.fightID);
@@ -231,14 +233,14 @@ namespace GFGGame
             {
                 _sceneObject = PrefabManager.Instance.InstantiateSync(ResPathUtil.GetPrefabPath("SceneDressUpFight"));
                 MyDressUpHelper.dressUpObj.setSceneObj(_sceneObject, false, false);
-                MyDressUpHelper.dressUpObj.PutOnDefaultDressUpData(IsTeaPart);
+                MyDressUpHelper.dressUpObj.PutOnDefaultDressUpData(_IsTeaPart);
             }
             _ui.m_txtDressLimit.text = string.Format("饰品穿戴限制:{0}/{1}", MyDressUpHelper.GetCurrentOrnamentCount(), GlobalCfgArray.globalCfg.dressLimitCount);
 
             UpdateStepBtn(true);
             UpdateScore();
 
-            if (!IsTeaPart)
+            if (!_IsTeaPart)
                 SendLog();
             else
             {
@@ -300,7 +302,7 @@ namespace GFGGame
 
         private void backView()
         {
-            if (IsTeaPart)
+            if (_IsTeaPart)
             {
                 ViewManager.Show<LeagueTeaPartyView>();
             }
@@ -328,7 +330,7 @@ namespace GFGGame
 
         private void OnClickBtnBack()
         {
-            if (!IsTeaPart) {
+            if (!_IsTeaPart) {
                 AlertUI.Show("是否确定退出?")
                 .SetLeftButton(true, "否").SetRightButton(true, "是", (object data) =>
                 {
@@ -800,7 +802,6 @@ namespace GFGGame
         }
         private void UpdatePartsListSort()
         {
-
             if (_currentMenuType == 0) return;
 
             if (_currentMenuType == (int)ConstDressUpItemType.TAO_ZHUANG)
@@ -808,11 +809,17 @@ namespace GFGGame
                 _currentList3 = DressUpMenuSuitDataManager.GetSuitIDList();
                 if (_scoreIndex == SORT_BY_HIGH_SCORE)
                 {
-                    _currentList3 = SuitUtil.SortSuitListByHighScore(_currentList3);
+                    if (!_IsTeaPart)
+                        _currentList3 = SuitUtil.SortSuitListByHighScore(_currentList3);
+                    else
+                        _currentList3 = SuitUtil.SortTeaPartySuitByHighScore(_currentList3);
                 }
                 else if (_scoreIndex == SORT_BY_LOW_SCORE)
                 {
-                    _currentList3 = SuitUtil.SortSuitListByLowScore(_currentList3);
+                    if (!_IsTeaPart)
+                        _currentList3 = SuitUtil.SortSuitListByLowScore(_currentList3);
+                    else
+                        _currentList3 = SuitUtil.SortTeaPartySuitByLowScore(_currentList3);
                 }
                 else
                 {
@@ -824,11 +831,17 @@ namespace GFGGame
                 _currentList3 = DressUpMenuItemDataManager.getItemDatasByType(_currentMenuType);
                 if (_scoreIndex == SORT_BY_HIGH_SCORE)
                 {
-                    _currentList3 = DressUpMenuItemDataManager.SortItemListByHighScore(_currentList3, true);
+                    if (!_IsTeaPart)
+                        _currentList3 = DressUpMenuItemDataManager.SortItemListByHighScore(_currentList3, true);
+                    else
+                        _currentList3 = DressUpMenuItemDataManager.SortItemTeaPartyByHighScore(_currentList3);
                 }
                 else if (_scoreIndex == SORT_BY_LOW_SCORE)
                 {
-                    _currentList3 = DressUpMenuItemDataManager.SortItemListByLowScore(_currentList3, true);
+                    if (!_IsTeaPart)
+                        _currentList3 = DressUpMenuItemDataManager.SortItemListByLowScore(_currentList3, true);
+                    else
+                        _currentList3 = DressUpMenuItemDataManager.SortItemTeaPartyByLowsore(_currentList3);
                 }
                 else
                 {
@@ -988,11 +1001,17 @@ namespace GFGGame
         {
             if (_scoreIndex == SORT_BY_HIGH_SCORE)
             {
-                _currentList3 = DressUpMenuItemDataManager.SortItemListByHighScore(_currentList3, true);
+                if (!_IsTeaPart)
+                    _currentList3 = DressUpMenuItemDataManager.SortItemListByHighScore(_currentList3, true);
+                else
+                    _currentList3 = DressUpMenuItemDataManager.SortItemTeaPartyByHighScore(_currentList3);
             }
             else if (_scoreIndex == SORT_BY_LOW_SCORE)
             {
-                _currentList3 = DressUpMenuItemDataManager.SortItemListByLowScore(_currentList3, true);
+                if (!_IsTeaPart)
+                    _currentList3 = DressUpMenuItemDataManager.SortItemListByLowScore(_currentList3, true);
+                else
+                    _currentList3 = DressUpMenuItemDataManager.SortItemTeaPartyByLowsore(_currentList3);
             }
             _currentMenuType = 0;
             _ui.m_partsListSearch.m_list.numItems = _currentList3.Count; ;
@@ -1005,7 +1024,7 @@ namespace GFGGame
             typeItem.m_txtname.text = item1.name;
             //typeItem.m_imgTitle.url = "ui://DressUp/hz_iconzi_" + item1.id;
             typeItem.target.data = item1.id;
-            if (!IsTeaPart)
+            if (!_IsTeaPart)
             {
                 typeItem.m_imgNeed.visible = ItemUtil.CheckMenuType1(_fightCfg.needItemId, _fightCfg.needSuitId, item1.id);
                 typeItem.m_itemType.selectedIndex = 0;
@@ -1026,7 +1045,7 @@ namespace GFGGame
             typeItem.m_txtname.text = item2.name;
             //typeItem.m_imgTitle.url = "ui://DressUp/hz_iconziej_" + item2.id;
             typeItem.target.data = item2.id;
-            if (!IsTeaPart) { 
+            if (!_IsTeaPart) { 
                 typeItem.m_itemType.selectedIndex = 0;
                 var subType = ItemUtilCS.GetItemSubType(_fightCfg.needItemId);
                 typeItem.m_imgNeed.visible = subType == item2.type;
@@ -1040,21 +1059,15 @@ namespace GFGGame
 
         private void ListTagItem(int index, GObject item)
         {
-            Dictionary<int, Dictionary<string, int>> tagsArr = (Dictionary<int, Dictionary<string, int>>)item.parent.data;
+            string[][] tagsArr = (string[][])item.parent.data;
             UI_ComTagItem listItem = UI_ComTagItem.Proxy(item);
-            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;
+            int tagType = TagCfgArray.Instance.GetCfg(tagsArr[index][0]).type;
             UI.CommonGame.UI_ComTag itemTag = UI.CommonGame.UI_ComTag.Proxy(listItem.m_loaTag);
-            itemTag.m_txtTag.text = name;
+            itemTag.m_txtTag.text = tagsArr[index][0];
             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 = score;
+            listItem.m_txtScore.text = tagsArr[index][1];
             UI_ComTagItem.ProxyEnd();
         }
 
@@ -1071,7 +1084,7 @@ namespace GFGGame
                 iconRes = suitCfg.res;
                 partName = suitCfg.name;
                 listItem.m_iconSelected.visible = false;
-                if (!IsTeaPart)
+                if (!_IsTeaPart)
                 {
                     listItem.m_txtScore.text = "" + SuitUtil.GetSuitScore(id);
                     listItem.m_itemType.selectedIndex = 0;
@@ -1081,9 +1094,8 @@ namespace GFGGame
                     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_ListTag.data = suitCfg.tagsArr;
+                    listItem.m_ListTag.numItems = suitCfg.tagsArr.Length;
                     listItem.m_itemType.selectedIndex = 1;
                 }
 
@@ -1097,7 +1109,7 @@ 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;
                 }
@@ -1105,9 +1117,8 @@ namespace GFGGame
                     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_ListTag.data = itemCfg.tagsArr;
+                    listItem.m_ListTag.numItems = itemCfg.tagsArr.Length;
                     listItem.m_itemType.selectedIndex = 1;
                 }
 
@@ -1158,7 +1169,7 @@ namespace GFGGame
             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;
             }
@@ -1167,9 +1178,8 @@ namespace GFGGame
                 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_ListTag.data = itemCfg.tagsArr;
+                listItem.m_ListTag.numItems = itemCfg.tagsArr.Length;
                 listItem.m_itemType.selectedIndex = 1;
             }
 
@@ -1182,7 +1192,7 @@ namespace GFGGame
             // int mainValuel;
             // ItemDataManager.GetMainScore(id, out mainScore, out mainValuel);
             listItem.m_ScoreType.url = ResPathUtil.GetCommonGameResPath("kp_sx_" + scoreType);
-            if (!IsTeaPart) {
+            if (!_IsTeaPart) {
                 listItem.m_txtScore.text = "" + ItemDataManager.GetItemAdditionScore(id, InstanceZonesDataManager.currentScoreType, _fightCfg.needTagsArr);
                 listItem.m_itemType.selectedIndex = 0;
             }
@@ -1192,9 +1202,8 @@ namespace GFGGame
                 {
                     listItem.m_ListTag.itemRenderer = ListTagItem;
                 }
-                var tagsArr = DressUpMenuItemDataManager.GetTidyTagCfgArray(itemCfg);
-                listItem.m_ListTag.data = tagsArr;
-                listItem.m_ListTag.numItems = tagsArr.Count;
+                listItem.m_ListTag.data = itemCfg.tagsArr;
+                listItem.m_ListTag.numItems = itemCfg.tagsArr.Length;
                 listItem.m_itemType.selectedIndex = 1;
             }
 
@@ -1299,7 +1308,7 @@ namespace GFGGame
             _ui.m_btnClose.visible = true;
             _ui.m_grpTips.visible = true;
             string str = "";
-            if (!IsTeaPart)
+            if (!_IsTeaPart)
                 str = _levelCfg.hint;
             else { 
                 var teapartyRoleCfg = TeapartyRoleCfgArray.Instance.GetCfgsByid(LeagueDataManager.Instance.TeaPartyId);
@@ -1319,7 +1328,7 @@ namespace GFGGame
 
         private void UpdateScore()
         {
-            if (!IsTeaPart)
+            if (!_IsTeaPart)
                 _ui.m_txtScore.text = "" + FightDataManager.Instance.GetScore(InstanceZonesDataManager.roleData).ToString();
             // GuideController.TryGuideDressUpFightViewBtnNext(_ui.m_btnNext);
             else
@@ -1328,7 +1337,10 @@ namespace GFGGame
 
         private void OnClickBtnSearch()
         {
-            ViewManager.Show<DressFilterView>(false, new object[] { typeof(DressUpView).FullName});
+            int type = 0;
+            if (_IsTeaPart)
+                type = 1;
+            ViewManager.Show<DressFilterView>(new object[] { 0, 0, type}, new object[] { typeof(DressUpView).FullName});
         }
         private void OnClickBtnAutoPlay()
         {
@@ -1419,7 +1431,7 @@ namespace GFGGame
         }
         protected override void UpdateToCheckGuide(object param)
         {
-            if (!ViewManager.CheckIsTopView(this.viewCom) || IsTeaPart) return;
+            if (!ViewManager.CheckIsTopView(this.viewCom) || _IsTeaPart) return;
 
             int buyClothingIndex = 0;
             int buyClothingSubIndex = 0;
@@ -1476,7 +1488,7 @@ namespace GFGGame
 
         private void TeaPartyStatuChange()
         {
-            if (IsTeaPart && LeagueDataManager.Instance.TeaPartyStatus == LeagueTeaPartyStatus.YesGo)
+            if (_IsTeaPart && LeagueDataManager.Instance.TeaPartyStatus == LeagueTeaPartyStatus.YesGo)
             {
                 AlertUI.Show("管理员已开启茶会,请前往挑战!")
                 .SetLeftButton(false).SetRightButton(true, "确定", (object data) =>

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

@@ -173,6 +173,7 @@ namespace GFGGame
             listTypeItem_FreedomDress = null;
             // MusicManager.Instance.Play(ResPathUtil.GetMusicPath(ConstMusicName.DEFAULT));
             MyDressUpHelper.dressUpObj.TakeOffAll();
+            DressUpMenuItemDataManager.Clear();
 
             if (_sceneObject != null)
             {

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

@@ -202,15 +202,14 @@ namespace GFGGame
                 if (playAnim)
                 {
                     Action complete = null;
-                    // µ¹ÊýµÚ¶þ¸ö
                     if (i == num - 1)
                     {
-                        yield return new WaitForSeconds(0.03f);
                         complete = UpdateRedDot;
                     }
-                    else if(i > 0)
+
+                    if(i > 0)
                     {
-                        yield return new WaitForSeconds(0.06f);
+                        yield return new WaitForSeconds(0.07f);
                     }
 
                     listItem.m_In.Play(() =>

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

@@ -64,7 +64,7 @@ namespace GFGGame
         protected override void OnHide()
         {
             base.OnHide();
-
+            DressUpMenuItemDataManager.Clear();
         }
         protected override void RemoveEventListener()
         {

+ 25 - 18
GameClient/Assets/Game/HotUpdate/Views/League/LeagueMemberView.cs

@@ -112,32 +112,39 @@ namespace GFGGame
         //退出联盟
         private void OnBtnExitClick()
         {
+            long joinLeagueTime = LeagueDataManager.Instance.LeagueData.LeagueMemberDatas[RoleDataManager.roleId].JoinLeagueTime;
+            long curTime = TimeHelper.ServerNow();
+            long ms = (curTime - joinLeagueTime);
+
             if (LeagueDataManager.Instance.LeagueData.OwnerId == RoleDataManager.roleId)
             {
                 AlertUI.Show("一家之主不可无呀,先把会长职位给别人吧~").SetRightButton(true, "确认");
             }
-            else
+            else if (ms < TimeUtil.SECOND_PER_DAY * 1000)
             {
-                long joinLeagueTime = LeagueDataManager.Instance.LeagueData.LeagueMemberDatas[RoleDataManager.roleId].JoinLeagueTime;
-                long curTime = TimeHelper.ServerNow();
-                long ms = (curTime - joinLeagueTime);
-                if (ms < TimeUtil.SECOND_PER_DAY * 1000)
+                AlertUI.Show("您加入的时间不足一天").SetRightButton(true, "确认");
+            }
+            else if (LeagueDataManager.Instance.CheckTeaPartyRewardCanGet())
+            {
+                AlertUI.Show("当前茶话会奖励未领取无法退出雅集,是否前往领取!")
+                .SetLeftButton(true, "取消")
+                .SetRightButton(true, "确认", (object param) =>
                 {
-                    AlertUI.Show("您加入的时间不足一天").SetRightButton(true, "确认");
-                }
-                else
+                    ViewManager.Show<LeagueTeaPartyView>();
+                });
+            }
+            else
+            {
+                AlertUI.Show("您忍心退出雅集,离开小伙伴们吗?")
+                .SetLeftButton(true, "取消")
+                .SetRightButton(true, "确认", async (object param) =>
                 {
-                    AlertUI.Show("您忍心退出雅集,离开小伙伴们吗?")
-                    .SetLeftButton(true, "取消")
-                    .SetRightButton(true, "确认", async (object param) =>
+                    bool result = await LeagueSproxy.ReqQuitLeague();
+                    if (result)
                     {
-                        bool result = await LeagueSproxy.ReqQuitLeague();
-                        if (result)
-                        {
-                            ViewManager.Show<MainUIView>(null, null, true);
-                        }
-                    });
-                }
+                        ViewManager.Show<MainUIView>(null, null, true);
+                    }
+                });
             }
         }
         private void UpdateMember()

+ 1 - 2
GameClient/Assets/Game/HotUpdate/Views/League/LeagueTeaPartyRewardView.cs

@@ -106,8 +106,7 @@ namespace GFGGame
                 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);
+                RedDotController.Instance.SetComRedDot(item.target,LeagueDataManager.Instance.CheckTeaPartyPersonRewardCanGet(cfg.targetScore), "", -90);
                 UI_LinessRewardProcessItemBt.ProxyEnd();
             });
         }

+ 10 - 0
GameClient/Assets/Game/HotUpdate/Views/League/LeagueTeaPartyView.cs

@@ -73,6 +73,7 @@ namespace GFGGame
             base.AddEventListener();
             EventAgent.AddEventListener(ConstMessage.TEA_PARTY_ROLE_CONTAINER, RefreshListTeaParty);
             EventAgent.AddEventListener(ConstMessage.TEA_PARTY_STATU, TeaPartyStatuChange);
+            EventAgent.AddEventListener(ConstMessage.TEA_PARTY_REWARD, ReferBtnRewardRed);
         }
 
         protected override void OnShown()
@@ -88,6 +89,7 @@ namespace GFGGame
 
             GetTeapartyMatchingInfos();
             GetRoleContainerInfos();
+            ReferBtnRewardRed();
         }
 
         protected override void OnHide()
@@ -102,6 +104,7 @@ namespace GFGGame
             base.RemoveEventListener();
             EventAgent.RemoveEventListener(ConstMessage.TEA_PARTY_ROLE_CONTAINER, RefreshListTeaParty);
             EventAgent.RemoveEventListener(ConstMessage.TEA_PARTY_STATU, TeaPartyStatuChange);
+            EventAgent.RemoveEventListener(ConstMessage.TEA_PARTY_REWARD, ReferBtnRewardRed);
         }
 
         private async void QuitTeapparty()
@@ -254,6 +257,8 @@ namespace GFGGame
 
         private void TeaPartyStatuChange()
         {
+            ReferBtnRewardRed();
+
             if (LeagueDataManager.Instance.TeaPartyStatus == LeagueTeaPartyStatus.YesGo) {
                 if (LeagueDataManager.Instance.RoleTeapartyInfo.Status && !LeagueDataManager.Instance.RoleTeapartyInfo.IsComplete) 
                     ViewManager.Show<LeagueTeaPartyShowView>(null, new object[] { typeof(LeagueView).FullName, null });
@@ -261,5 +266,10 @@ namespace GFGGame
                     OnBtnRewardClick();
             }
         }
+
+        private void ReferBtnRewardRed()
+        {
+            RedDotController.Instance.SetComRedDot(_ui.m_btnReward, LeagueDataManager.Instance.CheckTeaPartyRewardCanGet(), "", 0);
+        }
     }
 }

+ 1 - 0
GameClient/Assets/Game/HotUpdate/Views/League/LeagueView.cs

@@ -216,6 +216,7 @@ namespace GFGGame
             RedDotController.Instance.SetComRedDot(_ui.m_btnMember.target, RedDotDataManager.Instance.GetLeagueMemberJoinRed());
             RedDotController.Instance.SetComRedDot(_ui.m_btnGift.target, RedDotDataManager.Instance.GetLeagueGiftBoxRed(), "", -120, 100);
             RedDotController.Instance.SetComRedDot(_ui.m_btnPray.target, RedDotDataManager.Instance.GetLeaguePrayRed(), "", -70, 60);
+            RedDotController.Instance.SetComRedDot(_ui.m_btnParty.target, RedDotDataManager.Instance.GetLeagueTeaPartyRed(), "", -440, 60);
         }
 
         private async void GetTeapartyMatchingInfos()

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxNewDressView.cs

@@ -134,7 +134,7 @@ namespace GFGGame
                     break;
             }
 
-            _ui.m_comCard.m_loaType.url = ResPathUtil.GetCommonGameResPath("hd_sxicon_" + itemCfg.rarity);
+            _ui.m_comCard.m_loaType.url = ResPathUtil.GetCommonGameResPath("hz_bq_shuxing_" + itemCfg.rarity);
             _ui.m_comCard.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfg);
             _ui.m_comCard.m_loaProperty.url = ResPathUtil.GetCommonGameResPath("kp_sx_" + itemCfg.mainScore);
             _ui.m_comCard.m_txtName.text = itemCfg.name;

+ 143 - 25
GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxView.cs

@@ -5,6 +5,7 @@ using System;
 using System.Collections.Generic;
 using UnityEngine;
 using ET;
+using System.Linq;
 
 namespace GFGGame
 {
@@ -91,6 +92,7 @@ namespace GFGGame
             EventAgent.AddEventListener(ConstMessage.ITEM_CHANGED, UpdateListItemData);
             EventAgent.AddEventListener(ConstMessage.NUMERIC_CHANGE, UpdateListItemData);
             EventAgent.AddEventListener(ConstMessage.LUCKY_BOX_FREE_TIME_CHANGED, UpdateFreeInfo);
+
         }
         protected override void OnShown()
         {
@@ -100,6 +102,10 @@ namespace GFGGame
             LuckyBoxDataManager.Instance.luckyBoxIds.Add(LuckyBoxDataManager.BOX_ID_2);
             LuckyBoxDataManager.Instance.luckyBoxIds.Add(LuckyBoxDataManager.BOX_ID_3);
             _activeBoxId = 0;
+            int activityId = ActivityDataManager.Instance.GetCurOpenActiveByType(ConstLimitTimeActivityType.ActLimitTsy);
+            if (activityId > 0)
+                GetWishingPoolInfo();
+
             if (LuckyBoxDataManager.Instance.RotatingId > 0)
             {
                 RotatingLuckyBoxCfg rotatingLuckyBox = RotatingLuckyBoxCfgArray.Instance.GetCfg(LuckyBoxDataManager.Instance.RotatingId);
@@ -108,7 +114,7 @@ namespace GFGGame
                 LuckyBoxDataManager.Instance.luckyBoxIds.Insert(0, _activeBoxId);
             }
 
-            int boxId = LuckyBoxDataManager.Instance.luckyBoxIds[0];
+            int boxId = LuckyBoxDataManager.Instance.luckyBoxIds[1];
             if (this.viewData != null)
             {
                 boxId = (int)this.viewData;
@@ -117,7 +123,7 @@ namespace GFGGame
             if (GuideDataManager.IsGuideFinish(ConstGuideId.LUCKY_BOX) <= 0) boxId = LuckyBoxDataManager.BOX_ID_2;
             LuckyBoxDataManager.Instance.currentBoxId = boxId;
 
-            if (_activeBoxId > 0) Timers.inst.Add(1, 0, CheckTime);
+            if (_activeBoxId > 0 || boxId == LuckyBoxDataManager.BOX_ID_2) Timers.inst.Add(1, 0, CheckTime);
 
             _valueBarController.OnShown();
             _valueBarController.Controller(4);
@@ -136,6 +142,17 @@ namespace GFGGame
             Timers.inst.Add(1f, 0, OnTimerUpdate, 1);
         }
 
+        private async void GetWishingPoolInfo()
+        {
+            bool result = await LuckyBoxSProxy.ReqGetWishingPoolInfo();
+            if (result)
+            {
+                int index = LuckyBoxDataManager.Instance.KsActivityId.IndexOf(5001);
+                if (index < 0 || !LuckyBoxDataManager.Instance.VsStatus[index])
+                    ViewManager.Show<LuckyBoxWishView>(ConstLimitTimeActivityType.ActLimitTsy);
+            }
+        }
+
         private void OnTimerUpdate(object param)
         {
             int boxId = LuckyBoxDataManager.Instance.luckyBoxIds[_curIndex];
@@ -212,6 +229,14 @@ namespace GFGGame
             GObject obj = _ui.m_listBg.GetChildAt(_curIndex);
             UI_ComBox1 comBox = UI_ComBox1.Proxy(obj);
 
+            int activityId = ActivityDataManager.Instance.GetCurOpenActiveByType(ConstLimitTimeActivityType.ActLimitTsy);
+            if (activityId > 0 && boxId == LuckyBoxDataManager.BOX_ID_2) {
+                comBox.m_showActivityType.selectedIndex = 1;
+                UpGiftBox(comBox);
+            }
+            else
+                comBox.m_showActivityType.selectedIndex = 0;
+
             if (!_lcukyBoxCtrl.ContainsKey(boxId))
             {
                 _lcukyBoxCtrl.Add(boxId, new LuckyBoxController(comBox.m_comModel.target));
@@ -220,11 +245,11 @@ namespace GFGGame
             _lcukyBoxCtrl[LuckyBoxDataManager.Instance.currentBoxId].OnShown(LuckyBoxDataManager.Instance.currentBoxId);
 
             comBox.m_comLuckBoxBtn.m_imgSpecial.visible = boxId != LuckyBoxDataManager.BOX_ID_3;
-            GGraph holder = comBox.m_comLuckBoxBtn.m_btnBuyTen.GetChild("holder").asGraph;
-            holder.visible = boxId != LuckyBoxDataManager.BOX_ID_3;
+            //GGraph holder = comBox.m_comLuckBoxBtn.m_btnBuyTen.GetChild("holder").asGraph;
+            //holder.visible = boxId != LuckyBoxDataManager.BOX_ID_3;
             comBox.m_comLuckBoxBtn.m_holder.visible = boxId != LuckyBoxDataManager.BOX_ID_3;
 
-            _effectUI1 = EffectUIPool.CreateEffectUI(holder, "ui_LuckyBox", "Button_Glow");
+            //_effectUI1 = EffectUIPool.CreateEffectUI(holder, "ui_LuckyBox", "Button_Glow");
             _effectUI2 = EffectUIPool.CreateEffectUI(comBox.m_comLuckBoxBtn.m_holder, "ui_LuckyBox", "but_text_dc");
 
             comBox.m_comLuckBoxBtn.m_comCostOne.m_txtCost.text = cfg.costNum.ToString();
@@ -250,9 +275,17 @@ namespace GFGGame
             }
             comBox.m_btnPreview.data = boxId;
 
+            if (comBox.m_btnReward.data == null)
+            {
+                comBox.m_btnReward.onClick.Add(OnClikcBtnReward);
+                comBox.m_btnShop.onClick.Add(OnClikcBtnShop);
+                comBox.m_btnGiftBag.onClick.Add(OnClikcBtnGiftBag);
+            }
+            comBox.m_btnReward.data = boxId;
+
             obj.data = boxId;
 
-            comBox.m_grpTime.visible = boxId == _activeBoxId;
+            comBox.m_grpTime.visible = (boxId == _activeBoxId || boxId == LuckyBoxDataManager.BOX_ID_2);
             if (boxId == _activeBoxId)
             {
                 long endTime = LuckyBoxDataManager.Instance.endTime;
@@ -271,6 +304,84 @@ namespace GFGGame
             UpdateListItemData();
             UpdateFreeInfo();
         }
+
+        private void OnClikcBtnReward()
+        {
+            ViewManager.Show<ActivityThemeLuckyBoxBonusView>();
+        }
+
+        private void OnClikcBtnShop()
+        {
+            ViewManager.Show<StoreView>(new object[] { ConstStoreTabId.STORE_GIFT_BAG, ConstStoreSubId.STORE_GIFT_BAG_ACTIVITY }, new object[] { typeof(LuckyBoxView).FullName });
+        }
+
+        //刷新摘星活动期间的数据
+        private void UpGiftBox(UI_ComBox1 comBox)
+        {
+            int boxId = LuckyBoxDataManager.Instance.luckyBoxIds[_curIndex];
+            LuckyBoxCfg cfg = LuckyBoxCfgArray.Instance.GetCfg(boxId);
+            comBox.m_txtCount.SetVar("value", ActivityDataManager.Instance.lastDrawCount.ToString()).FlushVars();
+            comBox.m_txtCount.SetVar("name", cfg.name).FlushVars();
+
+            var activityInfoByTypeList = ActivityGlobalDataManager.Instance.GetActivityInfoByType(ActivityType.XSLB3);
+            var list = activityInfoByTypeList.Where(a => a.EndTime > TimeInfo.Instance.ServerNow()).ToList();
+            if (list.Count == 0)
+            {
+                comBox.m_comBagTime.target.visible = false;
+                comBox.m_btnGiftBag.visible = false;
+            }
+            else
+            {
+                bool isSoldOut = true;
+                foreach (var activityInfo in list)
+                {
+                    ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityInfo.ActivityId);
+                    var paramsArr = activityOpenCfg.paramsArr;
+                    foreach (var shopCfgId in paramsArr)
+                    {
+                        var shopCfg = ShopCfgArray.Instance.GetCfg(shopCfgId);
+                        var remainBuyNum = shopCfg.maxBuyNum - ShopDataManager.Instance.GetGoodsBuyNumById(shopCfgId);
+                        //只要有一个商品还能购买,就不是售罄
+                        if (remainBuyNum > 0)
+                        {
+                            isSoldOut = false;
+                            break;
+                        }
+                    }
+                }
+
+                if (isSoldOut)
+                {
+                    comBox.m_comBagTime.target.visible = false;
+                    comBox.m_btnGiftBag.visible = false;
+                }
+                else
+                {
+                    comBox.m_comBagTime.m_txtGiftBagTime.text = TimeUtil.GetTimeLeft(TimeInfo.Instance.ServerNow(), list[0].EndTime);
+                    comBox.m_comBagTime.target.visible = true;
+                    comBox.m_btnGiftBag.visible = true;
+                }
+            }
+        }
+
+        //限时礼包按钮点击执行方法
+        private void OnClikcBtnGiftBag()
+        {
+            var activityInfoByTypeList =
+                ActivityGlobalDataManager.Instance.GetActivityInfoByType(ActivityType.XSLB3);
+
+            var list = activityInfoByTypeList
+                .Where(a => a.EndTime > TimeInfo.Instance.ServerNow()).ToList();
+            if (list.Count == 0)
+            {
+                PromptController.Instance.ShowFloatTextPrompt("活动已结束");
+            }
+            else
+            {
+                ViewManager.Show<RushSaleGiftBoxView>(new object[] { ActivityType.XSLB3, this.viewData });
+            }
+        }
+
         private void UpdateListItemData()
         {
             int boxId = LuckyBoxDataManager.Instance.luckyBoxIds[_curIndex];
@@ -285,28 +396,36 @@ namespace GFGGame
             UI_ComBox1.ProxyEnd();
         }
 
-        private void UpdateEffect()
+        private void CheckTime(object param = null)
         {
+            if (LuckyBoxDataManager.Instance.currentBoxId == _activeBoxId)
+            {
+                if (LuckyBoxDataManager.Instance.currentBoxId != _activeBoxId) return;
+                long endTime = LuckyBoxDataManager.Instance.endTime;
+                long curTime = TimeHelper.ServerNow();
+                TimeUtil.FormattingTime(curTime, endTime, out int num, out string str);
 
+                GObject item = _ui.m_listBg.GetChildAt(0);
+                if (item == null) return;
+                GObject textField = item.asCom.GetChild("txtTime");
+                if (textField == null) return;
 
-
-        }
-        private void CheckTime(object param = null)
-        {
-            if (LuckyBoxDataManager.Instance.currentBoxId != _activeBoxId) return;
-            long endTime = LuckyBoxDataManager.Instance.endTime;
-            long curTime = TimeHelper.ServerNow();
-            TimeUtil.FormattingTime(curTime, endTime, out int num, out string str);
-
-            GObject item = _ui.m_listBg.GetChildAt(0);
-            if (item == null) return;
-            GObject textField = item.asCom.GetChild("txtTime");
-            if (textField == null) return;
-
-            long time = endTime - curTime;
-            string strTime = time > TimeUtil.SECOND_PER_DAY * 100 ? TimeUtil.FormattingTimeTo_DDHHmm(time) : TimeUtil.FormattingTimeTo_HHmmss(time);
-            textField.asTextField.text = string.Format("活动时间:剩余{0}", strTime);
+                long time = endTime - curTime;
+                string strTime = time > TimeUtil.SECOND_PER_DAY * 100 ? TimeUtil.FormattingTimeTo_DDHHmm(time) : TimeUtil.FormattingTimeTo_HHmmss(time);
+                textField.asTextField.text = string.Format("活动时间:剩余{0}", strTime);
+            }
+            else if(LuckyBoxDataManager.Instance.currentBoxId == LuckyBoxDataManager.BOX_ID_2)
+            {
+                GObject item = _ui.m_listBg.GetChildAt(1);
+                if (item == null) return;
+                GObject textField = item.asCom.GetChild("txtTime");
+                if (textField == null) return;
+                long time = 100;
+                string strTime = time > TimeUtil.SECOND_PER_DAY * 100 ? TimeUtil.FormattingTimeTo_DDHHmm(time) : TimeUtil.FormattingTimeTo_HHmmss(time);
+                textField.asTextField.text = string.Format("概率提升剩余:{0}", strTime);
+            }
         }
+
         private void updateBoxEffect()
         {
             if (isActiveBoxOpen)
@@ -411,7 +530,6 @@ namespace GFGGame
         {
             Reset();
             ViewManager.GoBackFrom(typeof(LuckyBoxView).FullName);
-
         }
 
         private void OnClickBtnHome()

+ 78 - 0
GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxWishView.cs

@@ -0,0 +1,78 @@
+using System.Collections.Generic;
+using ET;
+using FairyGUI;
+using UI.LuckyBox;
+using UnityEngine;
+
+namespace GFGGame
+{
+    public class LuckyBoxWishView : BaseWindow
+    {
+        private UI_LuckyBoxWishUI _ui;
+        private int _actLimitTsy = 0;
+        public override void Dispose()
+        {
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_LuckyBoxWishUI.PACKAGE_NAME;
+            _ui = UI_LuckyBoxWishUI.Create();
+            this.viewCom = _ui.target;
+            this.viewCom.Center();
+            this.modal = true;
+
+            _ui.m_btnWish1.data = 0;
+            _ui.m_btnWish1.onClick.Add(OnClickBtnWish);
+            _ui.m_btnWish2.data = 1;
+            _ui.m_btnWish2.onClick.Add(OnClickBtnWish);
+        }
+        protected override void AddEventListener()
+        {
+            base.AddEventListener();
+
+        }
+        protected override void OnShown()
+        {
+            base.OnShown();
+            _actLimitTsy = (int)this.viewData;
+        }
+        
+        protected override void OnHide()
+        {
+            base.OnHide();
+
+        }
+
+        protected override void RemoveEventListener()
+        {
+            base.RemoveEventListener();
+
+        }
+
+        private void OnClickBtnWish(EventContext context)
+        {
+            int index = (int)(context.sender as GObject).data;
+            ReqAddWishingPoolInfo(index);
+            this.Hide();
+        }
+
+        private async void ReqAddWishingPoolInfo(int index)
+        {
+            int activityId = ActivityDataManager.Instance.GetCurOpenActiveByType(_actLimitTsy);
+            ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityId);
+            bool result = await LuckyBoxSProxy.ReqAddWishingPoolInfo(activityOpenCfg.params2Arr[index], activityId);
+            if (result)
+            {
+             
+            }
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxWishView.cs.meta

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

+ 65 - 1
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryChapterListView.cs

@@ -45,6 +45,9 @@ namespace GFGGame
             _ui.m_listType.selectedIndex = 0;
             _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("zxian_bg3");
 
+            _ui.m_listChapter.scrollPane.onScroll.Add(DoSpecialEffect);//滚动时派发事件
+            
+
         }
 
         protected override void OnShown()
@@ -59,8 +62,11 @@ namespace GFGGame
             _ui.m_listType.selectedIndex = subType;
             _ui.m_listChapter.touchable = false;
             UpdateList();
+            DoSpecialEffect();//初始化调用
             Timers.inst.AddUpdate(CheckGuide);
             _ui.m_openViewAction.Play();
+
+           
         }
 
         protected override void OnHide()
@@ -101,7 +107,7 @@ namespace GFGGame
             StoryChapterCfg chapterCfg = StoryChapterCfgArray.Instance.GetCfg(chapterID);
             if (MainStoryDataManager.CheckChapterUnlock(chapterID))
             {
-                ViewManager.Show<StoryChapterView>(chapterID, new object[] { typeof(StoryChapterListView).FullName, new object[] { _ui.m_listType.selectedIndex } });
+                ViewManager.Show<StoryChapterView>(new object[] { chapterID , _ui.m_listType.selectedIndex }, new object[] { typeof(StoryChapterListView).FullName, new object[] { _ui.m_listType.selectedIndex } });
                 this.Hide();
             }
             else
@@ -113,6 +119,36 @@ namespace GFGGame
         private void ListChapterItem(int index, GObject item)
         {
             UI_ListChapterItem listItem = UI_ListChapterItem.Proxy(item);
+            if (subType == 1)
+            {
+                listItem.m_content.m_numBg.url = "ui://Main/zxian_jindu_bg_jy";
+                listItem.m_content.m_txtBG.url = "ui://Main/zxian_chapter_dec_jy";
+                listItem.m_content.m_compPic.m_bg.url = "ui://Main/zxian_chapter_frame_l_jy";
+                listItem.m_content.m_txtChapterName0.strokeColor = new Color(0.592f, 0.773f, 0.961f, 1.000f);
+                listItem.m_content.m_txtChapterName1.strokeColor = new Color(0.592f, 0.773f, 0.961f, 1.000f);
+                listItem.m_content.m_txtChapterName2.strokeColor = new Color(0.592f, 0.773f, 0.961f, 1.000f);
+                listItem.m_content.m_txtChapterName3.strokeColor = new Color(0.592f, 0.773f, 0.961f, 1.000f);
+                listItem.m_content.m_txtChapterName4.strokeColor = new Color(0.592f, 0.773f, 0.961f, 1.000f);
+                listItem.m_content.m_txtChapter.strokeColor = new Color(0.592f, 0.773f, 0.961f, 1.000f);
+                //listItem.m_content.m_txtCurProgress.color = new Color(0.592f, 0.773f, 0.961f, 1.000f);
+                //listItem.m_content.m_txtMaxProgress.color = new Color(0.592f, 0.773f, 0.961f, 1.000f);
+            }
+            else
+            {
+                listItem.m_content.m_numBg.url = "ui://Main/zxian_jindu_bg";
+                listItem.m_content.m_txtBG.url = "ui://Main/zxian_chapter_dec";
+                listItem.m_content.m_compPic.m_bg.url = "ui://Main/zxian_chapter_frame_l";
+                listItem.m_content.m_txtChapterName0.strokeColor = new Color(1.000f, 0.686f, 0.318f, 1.000f);
+                listItem.m_content.m_txtChapterName1.strokeColor = new Color(1.000f, 0.686f, 0.318f, 1.000f);
+                listItem.m_content.m_txtChapterName2.strokeColor = new Color(1.000f, 0.686f, 0.318f, 1.000f);
+                listItem.m_content.m_txtChapterName3.strokeColor = new Color(1.000f, 0.686f, 0.318f, 1.000f);
+                listItem.m_content.m_txtChapterName4.strokeColor = new Color(1.000f, 0.686f, 0.318f, 1.000f);
+                listItem.m_content.m_txtChapter.strokeColor = new Color(1.000f, 0.686f, 0.318f, 1.000f);
+                //listItem.m_content.m_txtCurProgress.color = new Color(0.514f, 0.345f, 0.220f, 1.000f); 
+                //listItem.m_content.m_txtMaxProgress.color = new Color(0.514f, 0.345f, 0.220f, 1.000f);
+
+            }
+            
             // if (index % 2 == 0)
             // {
             //     listItem.m_content.target.y = 102;
@@ -258,5 +294,33 @@ namespace GFGGame
             GuideController.TryGuide(_ui.m_btnHome, ConstGuideId.STUDIO_PORCELAIN, 1, "点击返回主界面。");
             GuideController.TryGuide(_ui.m_btnHome, ConstGuideId.STUDIO_FILING, 1, "点击返回主界面。");
         }
+
+        private void DoSpecialEffect()
+        {
+            float listCenter = _ui.m_listChapter.scrollPane.posX + _ui.m_listChapter.viewWidth / 2;
+            float listLeft = _ui.m_listChapter.scrollPane.posX + _ui.m_listChapter.viewWidth / 2; ;
+            //list组件的x值,加上list组件自身宽度的一半,设置为对标的中心x值
+            for (int i = 0; i < _ui.m_listChapter.numChildren; i++)
+            {
+                GObject item = _ui.m_listChapter.GetChildAt(i);
+                float itemCenter = item.x + item.width / 2;//循环列表内元素的中心x值
+                float itemWidth = item.width;//列表元素的宽度
+                float distance = Mathf.Abs(listCenter - itemCenter);
+                if (distance < item.width)
+                {
+                    float distanceRange = 1 + (1 - distance / itemWidth) * 0.25f;//使放大动画有渐进效果
+                    item.SetScale(distanceRange, distanceRange);//设置放大比例
+
+                    
+                }
+                else
+                {
+                    item.SetScale(1.0f, 1.0f);
+                }
+                float distanceX = ((1-(listCenter - itemCenter)) / itemWidth) * 0.05f;//使放大动画有渐进效果
+                item.y = - _ui.m_listChapter.height * distanceX;
+            }
+        }
+
     }
 }

+ 45 - 1
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryChapterView.cs

@@ -17,6 +17,8 @@ namespace GFGGame
         private GObject _endLevelItem;
         private EffectUI _effectUI1;
         private GComponent _comEff;
+
+        private int currentDifficulty;
         public override void Dispose()
         {
             if (_comEff != null)
@@ -82,7 +84,15 @@ namespace GFGGame
             base.OnShown();
             _ui.target.touchable = false;
             MusicManager.Instance.PlayCroutine(ResPathUtil.GetMusicPath(ConstMusicName.DEFAULT));
-            _chapterID = (int)viewData;
+            if ((this.viewData as object[]) != null)
+            {
+                _chapterID = (int)(this.viewData as object[])[0];
+                currentDifficulty = (int)(this.viewData as object[])[1];
+            }
+            else
+            {
+                _chapterID = (int)this.viewData;
+            }
             MainStoryDataManager.currentChapterCfgId = _chapterID;
 
             Timers.inst.StartCoroutine(InitChapter());
@@ -92,6 +102,7 @@ namespace GFGGame
             _ui.target.touchable = true;
 
             Timers.inst.AddUpdate(CheckGuide);
+
         }
 
         protected override void OnHide()
@@ -185,6 +196,39 @@ namespace GFGGame
                         levelItem.m_comDialogBg.m_c1.selectedIndex = Random.Range(0, 10);
 
                     }
+
+                    //根据困难程度选择显示图片
+                    if (currentDifficulty == 1)
+                    {
+                        levelItem.m_loaDialogBg.url = "ui://Main/zxian_btn_jq_jy";
+                        levelItem.m_fightBg.url = "ui://Main/zxian_btn_zd_jy";
+                        levelItem.m_txtFightOrder.text = string.Format("{0}", StringUtil.GetColorText(showId.ToString(), "#E3F8FF"));
+                        levelItem.m_fightIconA.alpha = 0;
+                        levelItem.m_fightIconB.alpha = 0;
+                        _ui.m_txtBg.url = "ui://Main/zxian_chapter_dec_jy";
+                        _ui.m_txtChapterName0.strokeColor = new Color(0.592f, 0.773f, 0.961f, 1.000f);
+                        _ui.m_txtChapterName1.strokeColor = new Color(0.592f, 0.773f, 0.961f, 1.000f);
+                        _ui.m_txtChapterName2.strokeColor = new Color(0.592f, 0.773f, 0.961f, 1.000f);
+                        _ui.m_txtChapterName3.strokeColor = new Color(0.592f, 0.773f, 0.961f, 1.000f);
+                        _ui.m_txtChapterName4.strokeColor = new Color(0.592f, 0.773f, 0.961f, 1.000f);
+                        _ui.m_txtChapter.strokeColor = new Color(0.592f, 0.773f, 0.961f, 1.000f);
+                    }
+                    else
+                    {
+                        levelItem.m_loaDialogBg.url = "ui://Main/zxian_btn_jq";
+                        levelItem.m_fightBg.url = "ui://Main/zxian_btn_zd";
+                        levelItem.m_txtFightOrder.text = string.Format("{0}", StringUtil.GetColorText(showId.ToString(), "#FFEABF"));
+                        levelItem.m_fightIconA.alpha = 0;
+                        levelItem.m_fightIconB.alpha = 0;
+                        _ui.m_txtBg.url = "ui://Main/zxian_chapter_dec";
+                        _ui.m_txtChapterName0.strokeColor = new Color(1.000f, 0.686f, 0.318f, 1.000f);
+                        _ui.m_txtChapterName1.strokeColor = new Color(1.000f, 0.686f, 0.318f, 1.000f);
+                        _ui.m_txtChapterName2.strokeColor = new Color(1.000f, 0.686f, 0.318f, 1.000f);
+                        _ui.m_txtChapterName3.strokeColor = new Color(1.000f, 0.686f, 0.318f, 1.000f);
+                        _ui.m_txtChapterName4.strokeColor = new Color(1.000f, 0.686f, 0.318f, 1.000f);
+                        _ui.m_txtChapter.strokeColor = new Color(1.000f, 0.686f, 0.318f, 1.000f);
+                    }
+
                     levelItem.m_holder.visible = !InstanceZonesDataManager.CheckLevelPass(levelCfg.id);
                     if (!InstanceZonesDataManager.CheckLevelPass(levelCfg.id))
                     {

+ 17 - 0
GameClient/Assets/Game/HotUpdate/Views/RoleInfo/ChangeHeadView.cs

@@ -12,6 +12,7 @@ namespace GFGGame
         private List<ItemCfg> _headBorderCfgs = new List<ItemCfg>();
         private int _selectHeadId = 0;
         private int _selectHeadBorderId = 0;
+        private bool showHeadBorderRedDot = false;
 
         public override void Dispose()
         {
@@ -56,6 +57,10 @@ namespace GFGGame
             OnTabChange();
             // _ui.m_list.selectedIndex = 0;
             // _ui.m_listBorder.selectedIndex = 0;
+
+            // 头像框红点显示
+            showHeadBorderRedDot = RedDotDataManager.Instance.GetHeadBorderRed();
+            UpdateRedDot();
         }
 
         protected override void OnHide()
@@ -158,10 +163,17 @@ namespace GFGGame
             if (_ui.m_c1.selectedIndex == 0)
             {
                 _ui.m_list.numItems = _headCfgs.Count;
+                _ui.m_list.scrollPane.ScrollTop();
             }
             else
             {
+                if (showHeadBorderRedDot)
+                {
+                    showHeadBorderRedDot = false;
+                    UpdateRedDot();
+                }
                 _ui.m_listBorder.numItems = _headBorderCfgs.Count;
+                _ui.m_listBorder.scrollPane.ScrollTop();
             }
             UpdateView();
         }
@@ -195,5 +207,10 @@ namespace GFGGame
             });
             return list;
         }
+
+        private void UpdateRedDot()
+        {
+            RedDotController.Instance.SetComRedDot(_ui.m_btnTab1, showHeadBorderRedDot, "", -33, 0);
+        }
     }
 }

+ 31 - 10
GameClient/Assets/Game/HotUpdate/Views/RoleInfo/ChangeNameView.cs

@@ -11,6 +11,7 @@ namespace GFGGame
         private UI_ChangeNameUI _ui;
         private EffectUI _effectUI1;
         private EffectUI _effectUI2;
+        private bool _isNewPlayer;
 
         public override void Dispose()
         {
@@ -45,9 +46,16 @@ namespace GFGGame
         {
             base.OnShown();
             this._ui.m_inputName.text = "";
-            _ui.m_txtNeed.text = string.Format("改名卡:{0}/{1}", ItemDataManager.GetItemNum(GlobalCfgArray.globalCfg.changeNameCostArr[0]), GlobalCfgArray.globalCfg.changeNameCostArr[1]);
-            ItemCfg cfg = ItemCfgArray.Instance.GetCfg(GlobalCfgArray.globalCfg.changeNameCostArr[0]);
-            _ui.m_loaIcon.url = ResPathUtil.GetCommonGameResPath(cfg.res); 
+
+            _isNewPlayer = GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl) == 1;
+            _ui.m_txtNeed.visible = !_isNewPlayer;
+            _ui.m_loaIcon.visible = !_isNewPlayer;
+            if (!_isNewPlayer)
+            {
+                _ui.m_txtNeed.text = string.Format("改名卡:{0}/{1}", ItemDataManager.GetItemNum(GlobalCfgArray.globalCfg.changeNameCostArr[0]), GlobalCfgArray.globalCfg.changeNameCostArr[1]);
+                ItemCfg cfg = ItemCfgArray.Instance.GetCfg(GlobalCfgArray.globalCfg.changeNameCostArr[0]);
+                _ui.m_loaIcon.url = ResPathUtil.GetCommonGameResPath(cfg.res);
+            }
         }
 
         protected override void OnHide()
@@ -86,15 +94,28 @@ namespace GFGGame
             string costName = ItemUtil.GetItemName(GlobalCfgArray.globalCfg.changeNameCostArr[0]);
             int count = GlobalCfgArray.globalCfg.changeNameCostArr[1];
 
-            AlertUI.Show(string.Format("是否花费{0}个{1}改名1次?", count, costName))
-                .SetLeftButton(true).SetRightButton(true, "确定", async (object data) =>
+            if (_isNewPlayer)
+            {
+                ChangeName(roleName);
+            }
+            else
+            {
+                AlertUI.Show(string.Format("是否花费{0}个{1}改名1次?", count, costName))
+                .SetLeftButton(true).SetRightButton(true, "确定", (object data) =>
                 {
-                    bool result = await RoleInfoSProxy.ReqModifyRoleName(roleName);
-                    if (result)
-                    {
-                        this.Hide();
-                    }
+                    ChangeName(roleName);
                 });
+            }
+
+        }
+
+        private async void ChangeName(string roleName)
+        {
+            bool result = await RoleInfoSProxy.ReqModifyRoleName(roleName);
+            if (result)
+            {
+                this.Hide();
+            }
         }
 
         private async void RandomRoleName()

+ 5 - 2
GameClient/Assets/Game/HotUpdate/Views/RoleInfo/RoleInfoView.cs

@@ -121,6 +121,7 @@ namespace GFGGame
                 item.m_grpLock.visible = true;
                 item.m_comPhoto.m_loaPhoto.texture = null;
                 item.m_imgNone.visible = false;
+                RoleDataManager.photoDatas[index] = 0;
                 return;
             }
             item.m_comPhoto.m_loaPhoto.texture = poemPhotoData == null ? null : poemPhotoData.Ntexture;
@@ -134,13 +135,15 @@ namespace GFGGame
             if (RoleInfoManager.GetPosType(index) == MonthCardType.Gold && !RoleDataManager.CheckIsMonthCardOpenByType(MonthCardType.Gold))
             {
                 // PromptController.Instance.ShowFloatTextPrompt("灵犀卡开启");
-                ViewManager.Show<StoreView>(new object[] { ConstStoreTabId.STORE_MONTH_CARD, ConstStoreSubId.STORE_MONTH_GOLD_CARD });
+                ViewManager.Show<StoreView>(new object[] { ConstStoreTabId.STORE_MONTH_CARD, ConstStoreSubId.STORE_MONTH_GOLD_CARD }
+                , new object[] { typeof(RoleInfoView).FullName, this.viewData });
                 return;
             }
             if (RoleInfoManager.GetPosType(index) == MonthCardType.BlackGold && !RoleDataManager.CheckIsMonthCardOpenByType(MonthCardType.BlackGold))
             {
                 // PromptController.Instance.ShowFloatTextPrompt("璇玑卡开启");
-                ViewManager.Show<StoreView>(new object[] { ConstStoreTabId.STORE_MONTH_CARD, ConstStoreSubId.STORE_MONTH_BLACK_CARD });
+                ViewManager.Show<StoreView>(new object[] { ConstStoreTabId.STORE_MONTH_CARD, ConstStoreSubId.STORE_MONTH_BLACK_CARD }
+                , new object[] { typeof(RoleInfoView).FullName, this.viewData });
                 return;
             }
 

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


BIN
GameClient/Assets/ResIn/UI/Bag/Bag_fui.bytes


BIN
GameClient/Assets/ResIn/UI/ClothingDecompose/ClothingDecompose_fui.bytes


BIN
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0!a.png


BIN
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0.png


BIN
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_1!a.png


BIN
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_1.png


BIN
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_2!a.png


BIN
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_2.png


BIN
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_6!a.png


BIN
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_6.png


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


BIN
GameClient/Assets/ResIn/UI/DailyWelfare/DailyWelfare_atlas0!a.png


BIN
GameClient/Assets/ResIn/UI/DailyWelfare/DailyWelfare_atlas0.png


BIN
GameClient/Assets/ResIn/UI/DailyWelfare/DailyWelfare_atlas0_1.png


BIN
GameClient/Assets/ResIn/UI/DailyWelfare/DailyWelfare_fui.bytes


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


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


BIN
GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0!a.png


BIN
GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0.png


BIN
GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_1!a.png


BIN
GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_1.png


BIN
GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_6!a.png


+ 1 - 1
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_6!a.png.meta → GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_6!a.png.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: ad77cebb0e32fc44dab1adf3b922b376
+guid: f7a026f73fde66348917ff91347c6fce
 TextureImporter:
   internalIDToNameTable: []
   externalObjects: {}

BIN
GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_6.png


+ 1 - 1
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_6.png.meta → GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_atlas0_6.png.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 7e440ce062f9c3143be85e1bb9f04ebd
+guid: c80f99287440c7c4bb71c5310e69e645
 TextureImporter:
   internalIDToNameTable: []
   externalObjects: {}

BIN
GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_fui.bytes


BIN
GameClient/Assets/ResIn/UI/Mail/Mail_fui.bytes


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác