Эх сурвалжийг харах

Merge remote-tracking branch 'origin/master' into ios

ios 1 жил өмнө
parent
commit
8ed164e4a2
100 өөрчлөгдсөн 2284 нэмэгдсэн , 207 устгасан
  1. 23 9
      GameClient/Assets/Editor/ArtsRes/ImportArtResTool.cs
  2. 20 1
      GameClient/Assets/Editor/Excel/Scanner/ItemApproachScanner.cs
  3. 3 3
      GameClient/Assets/Editor/ToolsMenu.cs
  4. 4 0
      GameClient/Assets/Game/HotUpdate/Constant/ConstFunctionId.cs
  5. 6 3
      GameClient/Assets/Game/HotUpdate/Constant/ConstMessage.cs
  6. 2 0
      GameClient/Assets/Game/HotUpdate/Controller/ErrorCodeController.cs
  7. 3 2
      GameClient/Assets/Game/HotUpdate/Controller/GameController.cs
  8. 11 7
      GameClient/Assets/Game/HotUpdate/Controller/LoginController.cs
  9. 16 4
      GameClient/Assets/Game/HotUpdate/Controller/MainController.cs
  10. 28 0
      GameClient/Assets/Game/HotUpdate/Data/ActivityDataManager.cs
  11. 4 0
      GameClient/Assets/Game/HotUpdate/Data/ActivityTeaDataManager.cs
  12. 1 1
      GameClient/Assets/Game/HotUpdate/Data/DressUpMenuItemDataManager.cs
  13. 10 1
      GameClient/Assets/Game/HotUpdate/Data/FriendDataManager.cs
  14. 25 0
      GameClient/Assets/Game/HotUpdate/Data/LimitedTimeGiftBoxDataManager.cs
  15. 2 0
      GameClient/Assets/Game/HotUpdate/Data/LuckyBoxDataManager.cs
  16. 2 0
      GameClient/Assets/Game/HotUpdate/Data/MiniGameDateManager.cs
  17. 65 1
      GameClient/Assets/Game/HotUpdate/Data/NoticeDataManager.cs
  18. 0 21
      GameClient/Assets/Game/HotUpdate/Data/QueueDataManager.cs
  19. 34 1
      GameClient/Assets/Game/HotUpdate/Data/RedDotDataManager.cs
  20. 2 2
      GameClient/Assets/Game/HotUpdate/Data/ShopDataManager.cs
  21. 5 0
      GameClient/Assets/Game/HotUpdate/Data/StudioDataManager.cs
  22. 11 11
      GameClient/Assets/Game/HotUpdate/DressUp/DressUpObj.cs
  23. 37 1
      GameClient/Assets/Game/HotUpdate/DressUp/SceneController.cs
  24. 5 1
      GameClient/Assets/Game/HotUpdate/ETCodes/Hotfix/App/DisConnected/DisConnectedCompnentSystem.cs
  25. 12 11
      GameClient/Assets/Game/HotUpdate/ETCodes/Hotfix/App/Login/LoginHelper.cs
  26. 20 2
      GameClient/Assets/Game/HotUpdate/ETCodes/Hotfix/App/Scene/M2C_StartSceneChangeHandler.cs
  27. 0 24
      GameClient/Assets/Game/HotUpdate/ETCodes/Hotfix/App/Scene/SceneChangeHelper.cs
  28. 10 1
      GameClient/Assets/Game/HotUpdate/ETCodes/Hotfix/App/Session/SessionComponentSystem.cs
  29. 1 0
      GameClient/Assets/Game/HotUpdate/ETCodes/Model/App/DisConnected/DisConnectedCompnent.cs
  30. 10 1
      GameClient/Assets/Game/HotUpdate/ETCodes/Model/App/WaitType.cs
  31. 0 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityMain/UI_ActivityMainTipsUI.cs
  32. 81 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityMain/UI_ActivityRewardItemUI.cs
  33. 1 1
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityMain/UI_ActivityRewardItemUI.cs.meta
  34. 92 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityMain/UI_ActivityZCJB.cs
  35. 1 1
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityMain/UI_ActivityZCJB.cs.meta
  36. 83 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityMain/UI_ActivityZCJBRewardUI.cs
  37. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityMain/UI_ActivityZCJBRewardUI.cs.meta
  38. 71 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityMain/UI_Button7.cs
  39. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityMain/UI_Button7.cs.meta
  40. 74 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityMain/UI_ComItem000.cs
  41. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityMain/UI_ComItem000.cs.meta
  42. 83 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityMain/UI_ZCJBBuyTips.cs
  43. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityMain/UI_ZCJBBuyTips.cs.meta
  44. 0 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Card/UI_CardUpUI.cs
  45. 8 6
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_BuyTipsUI.cs
  46. 6 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComCostCurrency.cs
  47. 15 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComGouMaiGetText.cs
  48. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_RushSaleGiftBoxUI.cs
  49. 3 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_comTeaPartyItem.cs
  50. 3 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_comTeaPartyOverItem.cs
  51. 71 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_Button9.cs
  52. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_Button9.cs.meta
  53. 6 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_ComBox1.cs
  54. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_ComModelRes.cs
  55. 7 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_LuckyBoxActivityUI.cs
  56. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_LuckyBoxWishUI.cs
  57. 2 2
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_comLuckBoxBtn.cs
  58. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_BtnModle2.cs
  59. 6 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_ButtonModle1.cs
  60. 89 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_ButtonModleEffect.cs
  61. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_ButtonModleEffect.cs.meta
  62. 14 10
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_MainUI.cs
  63. 27 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_StoryChapterUI.cs
  64. 30 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/PopWindow/UI_ExchangeGoodsUI.cs
  65. 71 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_StoreMonthList.cs
  66. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_StoreMonthList.cs.meta
  67. 4 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_StoreMonthUI.cs
  68. 1 1
      GameClient/Assets/Game/HotUpdate/GameConfig.cs
  69. 43 1
      GameClient/Assets/Game/HotUpdate/HotUpdateDriver.cs
  70. 32 0
      GameClient/Assets/Game/HotUpdate/ServerProxy/ActivitySProxy.cs
  71. 4 0
      GameClient/Assets/Game/HotUpdate/ServerProxy/ActivityTeaSProxy.cs
  72. 1 9
      GameClient/Assets/Game/HotUpdate/ServerProxy/ChatSProxy.cs
  73. 13 0
      GameClient/Assets/Game/HotUpdate/ServerProxy/FriendSProxy.cs
  74. 11 1
      GameClient/Assets/Game/HotUpdate/ServerProxy/LuckyBoxSProxy.cs
  75. 11 0
      GameClient/Assets/Game/HotUpdate/ServerProxy/MiniGameProxy.cs
  76. 15 6
      GameClient/Assets/Game/HotUpdate/ServerProxy/QueueSProxy.cs
  77. 48 19
      GameClient/Assets/Game/HotUpdate/UGUI/UICGView.cs
  78. 9 0
      GameClient/Assets/Game/HotUpdate/Utils/ResPathUtil.cs
  79. 3 3
      GameClient/Assets/Game/HotUpdate/Utils/StoryUtil.cs
  80. 1 1
      GameClient/Assets/Game/HotUpdate/Views/ActivityDay7/ActivityDay7View.cs
  81. 1 1
      GameClient/Assets/Game/HotUpdate/Views/ActivityHuaRongDao/ActivityHuaRongDaoEntryView.cs
  82. 6 4
      GameClient/Assets/Game/HotUpdate/Views/ActivityMainTips/ActivityMainTipsView.cs
  83. 382 0
      GameClient/Assets/Game/HotUpdate/Views/ActivityMainTips/ActivityZCJBChapterView.cs
  84. 11 0
      GameClient/Assets/Game/HotUpdate/Views/ActivityMainTips/ActivityZCJBChapterView.cs.meta
  85. 145 0
      GameClient/Assets/Game/HotUpdate/Views/ActivityMainTips/ActivityZCJBRewardView.cs
  86. 11 0
      GameClient/Assets/Game/HotUpdate/Views/ActivityMainTips/ActivityZCJBRewardView.cs.meta
  87. 84 0
      GameClient/Assets/Game/HotUpdate/Views/ActivityMainTips/ActivityZCJBView.cs
  88. 11 0
      GameClient/Assets/Game/HotUpdate/Views/ActivityMainTips/ActivityZCJBView.cs.meta
  89. 6 5
      GameClient/Assets/Game/HotUpdate/Views/ActivityMainTips/MonthlyCardTipsView.cs
  90. 80 0
      GameClient/Assets/Game/HotUpdate/Views/ActivityMainTips/ZCJBBuyTipsView.cs
  91. 11 0
      GameClient/Assets/Game/HotUpdate/Views/ActivityMainTips/ZCJBBuyTipsView.cs.meta
  92. 1 1
      GameClient/Assets/Game/HotUpdate/Views/BaseWindow.cs
  93. 2 2
      GameClient/Assets/Game/HotUpdate/Views/Card/CardDetailView.cs
  94. 6 0
      GameClient/Assets/Game/HotUpdate/Views/Card/CardUpLevelView.cs
  95. 3 1
      GameClient/Assets/Game/HotUpdate/Views/Card/CardUpView.cs
  96. 14 6
      GameClient/Assets/Game/HotUpdate/Views/ClothingSynthetic/ClothingSyntheticView.cs
  97. 1 1
      GameClient/Assets/Game/HotUpdate/Views/Common/Alert/AlertWindow.cs
  98. 4 2
      GameClient/Assets/Game/HotUpdate/Views/Common/Controller/LuckyBoxController.cs
  99. 1 0
      GameClient/Assets/Game/HotUpdate/Views/Common/Controller/ValueBarController.cs
  100. 3 0
      GameClient/Assets/Game/HotUpdate/Views/CommonGame/ApproachView.cs

+ 23 - 9
GameClient/Assets/Editor/ArtsRes/ImportArtResTool.cs

@@ -33,6 +33,10 @@ namespace GFGEditor
         public static string VoiceTargetPath = $"{ResPathUtil.Voice_DIR_PATH}/";
         public static string VoiceMd5FileSaveName = "VoiceMd5";
 
+        private static string[] VideoSrcPaths { get { return new string[] { ResRootPath + "video/" }; } }
+        public static string VideoTargetPath = $"{ResPathUtil.Voice_DIR_PATH}/";
+        public static string VideoMd5FileSaveName = "VideoMd5";
+
         private static string[] CardMusicSrcPaths { get { return new string[] { ResRootPath + "cardMusic/Card/" }; } }
         public static string CardMusicTargetPath = $"{ResPathUtil.SOUND_DIR_PATH}/Card/";
         public static string CardMusicMd5FileSaveName = "CardMusicMd5";
@@ -47,6 +51,10 @@ namespace GFGEditor
         public static string DressUpTargetPath = $"{ResPathUtil.TEXTURE_DIR_PATH}/DressUp/";
         public static string DressUpMd5FileSaveName = "DressUpMd5";
 
+        private static string[] NpcFaceSrcPaths { get { return new string[] { ResRootPath + "npc/对话表情/" }; } }
+        public static string NpcFaceTargetPath = $"{ResPathUtil.TEXTURE_DIR_PATH}/Npc/Face/";
+        public static string NpcFacepMd5FileSaveName = "NpcFaceMd5";
+
         private static string[] NpcHeadSrcPaths { get { return new string[] { ResRootPath + "npc/对战头像/" }; } }
         public static string NpcHeadTargetPath = $"{ResPathUtil.TEXTURE_DIR_PATH}/Npc/Head/";
         public static string NPCHeadMd5FileSaveName = "NpcHeadMd5";
@@ -159,6 +167,11 @@ namespace GFGEditor
         public static string MiniGameMergeTargetPath = $"{ResPathUtil.TEXTURE_DIR_PATH}/MiniGame/MergeGame/";
         public static string MiniGameMergeMd5FileSaveName = "MiniGameMergeMd5";
 
+        public static void Test()
+        {
+            ImportClip(NpcFaceSrcPaths, NpcFaceTargetPath, NpcFacepMd5FileSaveName);
+        }
+
         public static void Import()
         {
             var md5Path = ImportArtResTool.Md5FilePath;
@@ -173,6 +186,9 @@ namespace GFGEditor
             //语音
             EditorUtility.DisplayProgressBar("进度", "正在导入语音", 1);
             ImportRes(VoiceSrcPaths, VoiceTargetPath, VoiceMd5FileSaveName);
+            //视频
+            EditorUtility.DisplayProgressBar("进度", "正在导入视频", 1);
+            ImportRes(VideoSrcPaths, VideoTargetPath, VideoMd5FileSaveName);
             //词牌音乐
             EditorUtility.DisplayProgressBar("进度", "正在导入词牌音乐", 1);
             ImportRes(CardMusicSrcPaths, CardMusicTargetPath, CardMusicMd5FileSaveName);
@@ -187,7 +203,10 @@ namespace GFGEditor
             ImportRes(ItemIconSrcPaths, ItemIconTargetPath, IconMd5FileSaveName);
             // 换装部件
             EditorUtility.DisplayProgressBar("进度", "正在裁减换装部件", 1);
-            ImportClipImage();
+            ImportClip(DressUpSrcPaths, DressUpTargetPath, DressUpMd5FileSaveName);
+            // NPC对话表情
+            EditorUtility.DisplayProgressBar("进度", "正在裁减NPC对话表情", 1);
+            ImportClip(NpcFaceSrcPaths, NpcFaceTargetPath, NpcFacepMd5FileSaveName);
             //NPC头像
             EditorUtility.DisplayProgressBar("进度", "正在导入NPC头像", 1);
             ImportRes(NpcHeadSrcPaths, NpcHeadTargetPath, NPCHeadMd5FileSaveName);
@@ -308,12 +327,7 @@ namespace GFGEditor
             return files;
         }
 
-        public static void ImportClipImage()
-        {
-            ImportClip(DressUpSrcPaths, DressUpTargetPath);
-        }
-
-        public static void ImportClip(string[] sourceDirs, string targetDir)
+        public static void ImportClip(string[] sourceDirs, string targetDir, string md5FileName)
         {
             //换装部件
             if (!Directory.Exists(targetDir))
@@ -321,7 +335,7 @@ namespace GFGEditor
                 Directory.CreateDirectory(targetDir);
             }
             Dictionary<string, string> sourceImageMD5 = new Dictionary<string, string>();
-            sourceImageMD5 = ImagesClip.ReadSourceImagesMD5(DressUpMd5FileSaveName);
+            sourceImageMD5 = ImagesClip.ReadSourceImagesMD5(md5FileName);
 
             foreach (string dir in sourceDirs)
             {
@@ -339,7 +353,7 @@ namespace GFGEditor
                     }
                 });
             }
-            ImagesClip.WriteSourceImagesMD5(sourceImageMD5, DressUpMd5FileSaveName);
+            ImagesClip.WriteSourceImagesMD5(sourceImageMD5, md5FileName);
             AssetDatabase.Refresh();
         }
 

+ 20 - 1
GameClient/Assets/Editor/Excel/Scanner/ItemApproachScanner.cs

@@ -18,7 +18,7 @@ namespace GFGEditor
         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, GetArenaApproach };
+            GetApproachCall[] actions = new GetApproachCall[] { GetClothingShopApproach, GetLeaguePrayApproach, GetLeagueAnswerApproach, CheckStoreApproach, GetClothingSyntheticApproach, GetSuitGuideApproach, GetSuitSyntheticApproach, GetClothingDecomposeApproach, CheckClothingFosterApproach, CheckDailyTaskApproach, CheckWeeklyTaskApproach, GetZhaiXingApproach, GetStoryLevelApproach, GetArenaApproach  };
             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>>();
@@ -807,5 +807,24 @@ namespace GFGEditor
             }
             return null;
         }
+
+        /// <summary>
+        /// 检测技能书合成途径
+        /// </summary>
+        /// <param name="itemId"></param>
+        /// <returns></returns>
+        private static string GetSkillBookSyntheticApproach(int itemId)
+        {
+            var itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
+            if (itemCfg == null)
+            {
+                return null;
+            }
+            if (itemCfg.param1Arr.Length <= 0)
+            {
+                return null;
+            }
+            return ConstFunctionId.SKILLBOOK;
+        }
     }
 }

+ 3 - 3
GameClient/Assets/Editor/ToolsMenu.cs

@@ -232,10 +232,10 @@ namespace GFGEditor
             ImportExcel();
         }
 
-        [MenuItem("Tools/ImageClip/ImportClipImage")]
-        public static void ImportClipImage()
+        [MenuItem("Tools/ImageClip/TestImportClipImage")]
+        public static void TestImportClipImage()
         {
-            ImportArtResTool.ImportClipImage();
+            ImportArtResTool.Test();
         }
         [MenuItem("Tools/ImageClip/ReadImagePosition")]
         public static void ReadImagePosition()

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

@@ -101,5 +101,9 @@ namespace GFGGame
         ///飞花令
         /// </summary>
         public const string ARENA = "ARENA";
+        /// <summary>
+        ///技能书
+        /// </summary>
+        public const string SKILLBOOK = "SKILLBOOK";
     }
 }

+ 6 - 3
GameClient/Assets/Game/HotUpdate/Constant/ConstMessage.cs

@@ -186,6 +186,9 @@ namespace GFGGame
         //摘星抽奖展示界面关闭
         public const string LUCKY_BOX_SHOW_VIEW_CLOSE = "LUCKY_BOX_SHOW_VIEW_CLOSE";
 
+        //摘星抽奖奖品界面关闭
+        public const string LUCKY_BOX_BONUS_VIEW_CLOSE = "LUCKY_BOX_BONUS_VIEW_CLOSE";
+
         //词牌升级刷新
         public const string CARD_LEVEL_UP = "CARD_LEVEL_UP";
 
@@ -221,8 +224,8 @@ namespace GFGGame
 
         //更新2048游戏关卡状态
         public const string TZFE_GAME_UPDATE = "TZFE_GAME_UPDATE";
-        
-        //服务端推送最新排队信息
-        public const string UPDATE_QUEUE = "UPDATE_QUEUE";
+
+        //显示系统公告界面
+        public const string SHOW_SYSTEM_NOTICE = "SHOW_SYSTEM_NOTICE";
     }
 }

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

@@ -9,6 +9,8 @@ namespace GFGGame
         {
             switch (errorCode)
             {
+                case ET.ErrorCode.ERR_Cancel:
+                    return true;
                 case ET.ErrorCode.ERR_NetWorkError:
                     {
                         AlertSystem.Show("网络异常,也有可能是服务器异常,请稍后再试!")

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

@@ -187,8 +187,8 @@ namespace GFGGame
                     // GameGlobal.isFirstEntry == true 
                     if (!InstanceZonesDataManager.CheckLevelPass(100001001))
                     {
-                        //UICGView.Instance.Show();
-                        StoryController.ShowLevelView(100001001);
+                        UICGView.Instance.Show();
+                        //StoryController.ShowLevelView(100001001);
                     }
                     else
                     {
@@ -240,6 +240,7 @@ namespace GFGGame
             FriendSProxy.ReqAllFriendInfos().Coroutine();
             ActivityAfuGiftSProxy.GetAfuGiftInfo().Coroutine();
             ActivityTeaSProxy.ReqGetNPCVisitInfo().Coroutine();
+            ActivitySProxy.ReqActivityZCJBInfo().Coroutine();
             MiniGameProxy.ReqGetChallengeReward().Coroutine();
 
             PoemPhotoSProxy.ReqAllPhotoInfos().Coroutine();

+ 11 - 7
GameClient/Assets/Game/HotUpdate/Controller/LoginController.cs

@@ -248,25 +248,27 @@ namespace GFGGame
                 ErrorCodeController.Handler(errorCode);
                 return;
             }
-            ViewManager.Hide<ModalStatusView>();
-            ViewManager.Hide<LoginView>();
-            ViewManager.Show<LoadingView>(0.01f);
-            LoadingView.Instance.SetProgress(99);
-            LoadingView.Instance.SetDesc("正在加载数据...");
-            LogServerHelper.SendNodeLog((int)LogNode.StartEnterGame);
             errorCode = await LoginHelper.EnterGame(GameGlobal.zoneScene);
             if (errorCode != ErrorCode.ERR_Success)
             {
                 ErrorCodeController.Handler(errorCode);
                 return;
             }
+            ViewManager.Hide<ModalStatusView>();
+            ViewManager.Hide<LoginView>();
+            ViewManager.Show<LoadingView>(0.01f);
+            LoadingView.Instance.SetProgress(99);
+            LoadingView.Instance.SetDesc("正在加载数据...");
+            LogServerHelper.SendNodeLog((int)LogNode.StartEnterGame);
+            await GameGlobal.zoneScene.GetComponent<ObjectWait>().Wait<ET.WaitType.Wait_SceneChangeFinish>();
+            AlertSystem.hide();
             await GameController.PreEnterGameAsync();
-
             LogServerHelper.SendNodeLog((int)LogNode.OnEnterGame);
         }
 
         public static async ETTask ReqReConnectGate()
         {
+            LogUtil.LogDev("ReqReConnectGate");
             ViewManager.Show<ModalStatusView>("重新连接中...");
             int errorCode = await LoginHelper.EnterGame(GameGlobal.zoneScene);
             if (errorCode != ErrorCode.ERR_Success)
@@ -282,8 +284,10 @@ namespace GFGGame
                         });
                 return;
             }
+            await GameGlobal.zoneScene.GetComponent<ObjectWait>().Wait<ET.WaitType.Wait_SceneChangeFinish>();
             EventAgent.DispatchEvent(ConstMessage.NUMERIC_CHANGE, NumericType.All);
             GameController.OnReconnected();
+            AlertSystem.hide();
             ViewManager.Hide<ModalStatusView>();
         }
     }

+ 16 - 4
GameClient/Assets/Game/HotUpdate/Controller/MainController.cs

@@ -18,6 +18,7 @@ namespace GFGGame
                 StoryChapterCfg chapterCfg = _chapterCfgs[i];
                 if (i == _chapterCfgs.Count - 1 && MainStoryDataManager.CheckChapterUnlock(chapterCfg.id))
                 {
+                    MainStoryDataManager.currentChapterCfgId = chapterCfg.id;
                     ViewManager.Show<StoryChapterView>(new object[] { chapterCfg.id, 0 });
                     isOpen = false;
                     return isOpen;
@@ -25,18 +26,29 @@ namespace GFGGame
                 else if (!MainStoryDataManager.CheckChapterUnlock(chapterCfg.id))
                 {
                     StoryChapterCfg chapterTowCfg = _chapterCfgs[Mathf.Max(0, i - 1)];
+                    StoryChapterCfg chaptersuitCfg = _chapterCfgs[Mathf.Max(0, i - 2)];
                     var list = StoryLevelCfgArray.Instance.GetCfgsBytypeAndsubTypeAndchapterId(chapterTowCfg.type, chapterTowCfg.subType, chapterTowCfg.id);
                     StoryLevelCfg lastLevelCfg = list[list.Count - 1];
                     //这里是当下一章没解锁,但是上一章的最后一关已经通过了
-                    if (lastLevelCfg != null && InstanceZonesDataManager.CheckLevelPass(lastLevelCfg.id))//MainStoryDataManager.CheckLevelUnlock(lastLevelCfg.id))
+                    if (lastLevelCfg != null && InstanceZonesDataManager.CheckLevelPass(lastLevelCfg.id))
+                    {
+                        ViewManager.Show<StoryChapterListView>(new object[] { 0, Mathf.Max(0, chapterCfg.order - 1) });
+                        isOpen = false;
+                        return isOpen;
+                    }
+                    if (StoryController.CheckSuitGot(chaptersuitCfg.suitId))
+                    {
+                        MainStoryDataManager.currentChapterCfgId = chapterCfg.id - 1;
+                        ViewManager.Show<StoryChapterView>(new object[] { chapterCfg.id - 1, 0 });
+                        isOpen = false;
+                        return isOpen;
+                    }
+                    else
                     {
                         ViewManager.Show<StoryChapterListView>(new object[] { 0, Mathf.Max(0, chapterCfg.order - 1) });
                         isOpen = false;
                         return isOpen;
                     }
-                    ViewManager.Show<StoryChapterView>(new object[] { chapterCfg.id - 1, 0 });
-                    isOpen = false;
-                    return isOpen;
                 }
             }
             return isOpen;

+ 28 - 0
GameClient/Assets/Game/HotUpdate/Data/ActivityDataManager.cs

@@ -239,5 +239,33 @@ namespace GFGGame
                 return ConstBonusStatus.CAN_NOT_GET;
             }
         }
+
+        //招财进宝活动
+        public List<int> ActivityZCJBList = new List<int>();
+        public bool CheckZCJBRed()
+        {
+            ItemData numItem;
+            long num;
+            if(BagDataManager.Instance.GetBagData().TryGetValue(3000023, out numItem))
+            {
+                num = numItem.num;
+            }
+            else
+            {
+                num = 0;
+            }
+
+            for (int i = 0; i < ActivityDressCfgArray.Instance.dataArray.Length - 1; i++)
+            {
+                    if (i == ActivityDataManager.Instance.ActivityZCJBList.Count)
+                    {
+                        if (num >= ActivityDressCfgArray.Instance.dataArray[i].comsumeArr[0][1])
+                        {
+                            return true;
+                        }
+                    }
+            }
+            return false;
+        }
     }
 }

+ 4 - 0
GameClient/Assets/Game/HotUpdate/Data/ActivityTeaDataManager.cs

@@ -36,6 +36,10 @@ namespace Assets.Game.HotUpdate.Data
 
         public bool GetRewardRed()
         {
+            if (!ActivityTeaDataManager.Instance.CheckOpenOne(ActivityType.NewYearVisit))
+            {
+                return false;
+            }
             RoleLimitData limitData = RoleLimitDataManager.GetLimitData(ActivityVisitCfgArray.Instance.dataArray[0].limitId);
            int time = limitData.TotalPlayMax - limitData.PlayTimes;
 

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

@@ -82,7 +82,7 @@ namespace GFGGame
                 {
                     AddNewDressItem(value);
                     DressUpMenuSuitDataManager.CheckItemInSuit(value);
-                    PreloadManager.Instance.PreloadDressUpRes(value);
+                    PreloadManager.Instance.PreloadDressUpRes(value, ResType.Both);
                 }
                 else
                 {

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

@@ -109,7 +109,16 @@ namespace GFGGame
             if (!sort) return;
             _list.Sort((long a, long b) =>
             {
-                long count = _friendDic[b].roleInfo.offlineTimeSec - _friendDic[b].roleInfo.offlineTimeSec;
+                if(_friendDic[a].roleInfo.offlineTimeSec == 0)
+                {
+                    return -1;
+                }
+                if(_friendDic[b].roleInfo.offlineTimeSec == 0)
+                {
+                    return 1;
+                }
+
+                long count = _friendDic[a].roleInfo.offlineTimeSec - _friendDic[b].roleInfo.offlineTimeSec;
                 if (count > 0)
                 {
                     return -1;

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

@@ -19,10 +19,15 @@ namespace GFGGame
         private List<LimitedTimeGiftBoxItemYxData> _ltgGbItemData5 = new List<LimitedTimeGiftBoxItemYxData>();
         public List<LimitedTimeGiftBoxItemYxData> LtgGbItemData5 => _ltgGbItemData5;
 
+        //圆形样式数据16--时间条件的数据
+        private List<LimitedTimeGiftBoxItemYxData> _ltgGbItemData16 = new List<LimitedTimeGiftBoxItemYxData>();
+        public List<LimitedTimeGiftBoxItemYxData> LtgGbItemData16 => _ltgGbItemData16;
+
         public void Clear()
         {
             _ltgGbItemData4.Clear();
             _ltgGbItemData5.Clear();
+            _ltgGbItemData16.Clear();
             _isOpenMeiRiTeHui = false;
         }
 
@@ -75,6 +80,26 @@ namespace GFGGame
             _ltgGbItemData5 = _ltgGbItemData5.OrderBy(a => a.ShopCfgId).ToList();
         }
 
+        public void UpLtgGbItemData16()
+        {
+            _ltgGbItemData16.Clear();
+            foreach (ActivityInfo activityInfo in ActivityGlobalDataManager.Instance.GetActivityInfoByType(
+                         ActivityType.LuckyDiscount))
+            {
+                if (activityInfo.EndTime >= TimeInfo.Instance.ServerNow())
+                {
+                    ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityInfo.ActivityId);
+                    //判断是否是类型16的数据
+                    if (activityOpenCfg.type == ActivityType.LuckyDiscount)
+                    {
+                        FillData(_ltgGbItemData16, activityOpenCfg.paramsArr[0], activityInfo.EndTime);
+                    }
+                }
+            }
+
+            _ltgGbItemData16 = _ltgGbItemData16.OrderBy(a => a.ShopCfgId).ToList();
+        }
+
         private void FillData(List<LimitedTimeGiftBoxItemYxData> listData, int shopCfgId, long endTime)
         {
             ShopCfg shopCfg = ShopCfgArray.Instance.GetCfg(shopCfgId);

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

@@ -18,6 +18,8 @@ namespace GFGGame
 
         public bool CHECK_TIPS_OPEN = false; //提示弹窗是否打开
 
+        public bool OPEN_LUCKY_DISCONT = false; //抽奖满20次幸运折扣弹窗是否打开
+
         private List<ItemData> _rewardsList;//当前奖励,每次抽奖后刷新
         private Dictionary<int, ItemData> _firstRewardsList = new Dictionary<int, ItemData>();//首次获得的奖励
         private Dictionary<int, List<LuckyBoxBonusData>> _dicShowList = new Dictionary<int, List<LuckyBoxBonusData>>();

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

@@ -11,6 +11,8 @@ namespace GFGGame
         public List<ItemInfoProto> itemList = new List<ItemInfoProto>();
         public List<GameInfoProto> gameinfoList = new List<GameInfoProto>();
 
+        public bool CHECK_TIPS = false; //提示弹窗是否打开
+
         //合成游戏
         public int taskID = 40001;
 

+ 65 - 1
GameClient/Assets/Game/HotUpdate/Data/NoticeDataManager.cs

@@ -1,3 +1,4 @@
+using ET;
 using System.Collections.Generic;
 using System.Linq;
 
@@ -72,10 +73,73 @@ namespace GFGGame
             });
         }
 
-
         public NoticeInfo GetNoticeInfoById(int noticeId)
         {
             return _noticeInfoDic[noticeId];
         }
+
+        public List<AdCfg> UpdateShowActivity()
+        {
+            AdCfg[] activitydata = AdCfgArray.Instance.dataArray;
+            List<AdCfg> showActivity = new List<AdCfg>();
+            for (int i = 0; i < activitydata.Length; i++)
+            {
+                AdCfg adCfg = activitydata[i];
+                if (adCfg.activityId > 0)
+                {
+                    if (ActivityGlobalDataManager.Instance.GetActivityInfo(adCfg.activityId) == null) continue;
+                    ActivityInfo activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfo(adCfg.activityId);
+                    if (TimeHelper.ServerNow() < activityInfo.StartTime || TimeHelper.ServerNow() > activityInfo.EndTime) continue;
+                }
+                if (adCfg.NoticeTips != null && adCfg.NoticeTips != "")
+                {
+                    if (adCfg.activityId != 0)
+                    {
+                        ActivityInfo activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfo(adCfg.activityId);
+                        if (TimeHelper.ServerNow() < activityInfo.StartTime || TimeHelper.ServerNow() > activityInfo.EndTime)
+                        {
+
+                        }
+                        else
+                        {
+                            showActivity.Add(adCfg);
+                            continue;
+                        }
+                    }
+                    if (adCfg.startTime != "" && adCfg.startTime != null)
+                    {
+                        long startTime = TimeUtil.DateTimeToTimestamp(adCfg.startTime);
+                        long endTime = TimeUtil.DateTimeToTimestamp(adCfg.endTime);
+                        if (TimeHelper.ServerNow() < startTime || TimeHelper.ServerNow() > endTime)
+                        {
+                            continue;
+                        }
+                        else
+                        {
+                            showActivity.Add(adCfg);
+                        }
+                    }
+                }
+            }
+
+            return showActivity;
+        }
+
+        public bool GetRedDotState(string jumpId, int activityID)
+        {
+            switch (jumpId)
+            {
+                case "DailySignView":
+                    return RedDotDataManager.Instance.GetActivityDay7Red();
+                case "LuckyBoxView":
+                    return RedDotDataManager.Instance.GetActLuckyBoxRewardRed(ConstLimitTimeActivityType.ActLimitTsy) || RedDotDataManager.Instance.GetLuckyBoxFreeTimes();
+                case "NewLimitChargeView":
+                    return RedDotDataManager.Instance.GetLimiteChargeRewardRed(activityID);
+                case "OpenServerActivityView":
+                    return RedDotDataManager.Instance.GetOpenServerRed();
+            }
+
+            return false;
+        }
     }
 }

+ 0 - 21
GameClient/Assets/Game/HotUpdate/Data/QueueDataManager.cs

@@ -1,21 +0,0 @@
-namespace GFGGame
-{
-    public class QueueDataManager : SingletonBase<QueueDataManager>
-    {
-        public int Index { get; private set; }
-
-        public int Count { get; private set; }
-
-        public void UpQueueData(int index, int count)
-        {
-            Index = index;
-            count = count;
-        }
-
-        public void ClaerQueueData()
-        {
-            Index = 0;
-            Count = 0;
-        }
-    }
-}

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

@@ -20,6 +20,15 @@ namespace GFGGame
             {
                 if (noticeInfos[i].readStatus == false) return true;
             }
+
+            List<AdCfg> showActivity = NoticeDataManager.Instance.UpdateShowActivity();
+            for (int i = 0; i < showActivity.Count; i++)
+            {
+                if (NoticeDataManager.Instance.GetRedDotState(showActivity[i].jumpId, showActivity[i].activityId))
+                {
+                    return true;
+                }
+            }
             return false;
         }
 
@@ -781,7 +790,7 @@ namespace GFGGame
         /// <returns></returns>
         public bool GetOpenServerRed()
         {
-           if (GetActLuckyBoxRewardRed(ConstLimitTimeActivityType.ActLimitStlyc) || GetGiftBagRewardRed() || GetMeiRiTeHuiRed())
+           if (GetActLuckyBoxRewardRed(ConstLimitTimeActivityType.ActLimitStlyc) || GetGiftBagRewardRed() || GetMeiRiTeHuiRed() || GetOpenServerStoryRed())
                 return true;
 
             return false;
@@ -831,6 +840,30 @@ namespace GFGGame
         }
 
         /// <summary>
+        /// 开服活动-剧情
+        /// </summary>
+        /// <returns></returns>
+        public bool GetOpenServerStoryRed()
+        {
+            var activityId = ActivityDataManager.Instance.GetCurOpenActiveByType(ConstLimitTimeActivityType.ActLimitStlyc);
+            if (activityId != 0) { 
+                var activityCfg = ActivityOpenCfgArray.Instance.GetCfg(activityId);
+                Dictionary<int, List<StoryLevelCfg>> storyLevelCfgs = new Dictionary<int, List<StoryLevelCfg>>();
+
+                for (int i = 0; i < 4; i++) {
+                    ActivityStoryCfg activityStoryCfg = ActivityStoryCfgArray.Instance.GetCfg(activityCfg.params4Arr[i]);
+                    var storyLevelCfg = StoryLevelCfgArray.Instance.GetCfgsBytypeAndsubTypeAndchapterId(activityStoryCfg.type, activityStoryCfg.subType, activityCfg.params4Arr[i]);
+                    storyLevelCfgs.Add(i, storyLevelCfg);
+                    if ((i == 0 && !InstanceZonesDataManager.CheckLevelPass(storyLevelCfgs[i][0].id)) || (i > 0 && InstanceZonesDataManager.CheckLevelPass(storyLevelCfgs[i - 1][0].id) && !InstanceZonesDataManager.CheckLevelPass(storyLevelCfgs[i][0].id) && ItemDataManager.ItemCollect.ContainsKey(activityStoryCfg.needItemsArr[0][0]) && ItemDataManager.ItemCollect[activityStoryCfg.needItemsArr[0][0]] >= activityStoryCfg.needItemsArr[0][1]))
+                    {
+                        return true;
+                    }
+                }
+            }
+            return false;
+        }
+
+        /// <summary>
         /// 背包中存在礼包就一直给主界面 背包 红点
         /// </summary>
         /// <returns></returns>

+ 2 - 2
GameClient/Assets/Game/HotUpdate/Data/ShopDataManager.cs

@@ -351,9 +351,9 @@ namespace GFGGame
         /// <summary>
         /// 返回活动商城是否显示
         /// /// </summary>
-        public bool GetShopActivityIsShow(int menuType)
+        public bool GetShopActivityIsShow(int shopType,int menuType)
         {
-            List<ShopCfg> shopCfgs = ShopCfgArray.Instance.GetCfgsBymenu1Andmenu2(ConstStoreTabId.STORE_GIFT_BAG, menuType);
+            List<ShopCfg> shopCfgs = ShopCfgArray.Instance.GetCfgsBymenu1Andmenu2(shopType, menuType);
             if (ShopDataManager.Instance.RemoveNotOpenCfg(shopCfgs).Count == 0)
                 return false;
             else

+ 5 - 0
GameClient/Assets/Game/HotUpdate/Data/StudioDataManager.cs

@@ -140,6 +140,11 @@ namespace GFGGame
             ViewManager.Show(VIEW_NAME, PROPERTY_SELECT_INDEX);
         }
 
+        public void OnFinishZCJBStoryLevel(int levelCfgId, bool firstPass, bool success)
+        {
+            ViewManager.Show<ActivityZCJBChapterView>(new object[] { 61001, 2 });
+        }
+
         public void OnFinishFilingStoryLevel(int levelCfgId, bool firstPass, bool success)
         {
             ViewManager.Show<StudioFilingView>(MainStoryDataManager.currentChapterCfgId, true);

+ 11 - 11
GameClient/Assets/Game/HotUpdate/DressUp/DressUpObj.cs

@@ -653,17 +653,17 @@ namespace GFGGame
                         Remove(ConstItemID.DEFULT_NEI_DA);
                         Add(ConstItemID.DEFULT_LIAN_YI_QUN);
                     }
-                    else
-                    {
-                        if (!hasXiaZhuang)
-                        {
-                            Add(ConstItemID.DEFULT_XIA_ZHUANG);
-                        }
-                        if (!hasNeiDa)
-                        {
-                            Add(ConstItemID.DEFULT_NEI_DA);
-                        }
-                    }
+                    //else
+                    //{
+                    //    if (!hasXiaZhuang)
+                    //    {
+                    //        Add(ConstItemID.DEFULT_XIA_ZHUANG);
+                    //    }
+                    //    if (!hasNeiDa)
+                    //    {
+                    //        Add(ConstItemID.DEFULT_NEI_DA);
+                    //    }
+                    //}
 
                 }
             }

+ 37 - 1
GameClient/Assets/Game/HotUpdate/DressUp/SceneController.cs

@@ -82,14 +82,47 @@ namespace GFGGame
             }
         }
 
+        public static void InitPicFace(string faceValue, GameObject sceneObj)
+        {
+
+            Transform face = sceneObj.transform.Find("Pic/Face");
+            SpriteRenderer sprFace = face.GetComponent<SpriteRenderer>();
+
+            if (faceValue == "0")
+            {
+                SpriteHelper.RemoveSpriteFrom(sprFace);
+            }
+            else
+            {
+                var resPath = ResPathUtil.GetNpcPicFacePath(faceValue);
+                float tx, ty;
+                DressUpUtil.LoadSpritePos(resPath, out tx, out ty);
+                face.localPosition = new Vector3(tx, ty, face.localPosition.z);
+                SpriteHelper.AddSpriteTo(sprFace, resPath);
+            }
+        }
+
+        public static string _lastDialogPic;
         public static async void UpdateDialogPic(string value, GameObject sceneObj)
         {
             StoryDialogDataManager.Instance.waitPicFade = false;
             Transform tf = sceneObj.transform.Find("Pic");
+            Transform face = sceneObj.transform.Find("Pic/Face");
+
             SpriteRenderer spr = tf.GetComponent<SpriteRenderer>();
+            SpriteRenderer sprFace = face.GetComponent<SpriteRenderer>();
+
+            // 立绘切换 脸消失
+            if(_lastDialogPic != value)
+            {
+                SpriteHelper.RemoveSpriteFrom(sprFace);
+            }
+            _lastDialogPic = value;
+
             if (value == "0")
             {
                 SpriteHelper.RemoveSpriteFrom(spr);
+                SpriteHelper.RemoveSpriteFrom(sprFace);
             }
             else
             {
@@ -98,6 +131,8 @@ namespace GFGGame
                 var resPath = ResPathUtil.GetNpcPicSPath(value);
                 SpriteHelper.AddSpriteTo(spr, resPath);
                 SetSpriteRendererAlpha(spr, 0f);
+                SetSpriteRendererAlpha(sprFace, 0f);
+
                 FairyGUI.Timers.inst.StartCoroutine(UpdateDialogPicAlpha());
 
                 IEnumerator UpdateDialogPicAlpha()
@@ -109,6 +144,7 @@ namespace GFGGame
                             if (spr.enabled && spr.color.a < 1f)
                             {
                                 SetSpriteRendererAlpha(spr, spr.color.a + 0.055f);
+                                SetSpriteRendererAlpha(sprFace, spr.color.a);
                             }
                             else
                             {
@@ -124,11 +160,11 @@ namespace GFGGame
                     StoryDialogDataManager.Instance.waitPicFade = false;
                 }
             }
+
         }
 
         public static void UpdateDialogAnim(string value, ref GameObject animObj)
         {
-            StoryDialogDataManager.Instance.waiting = false;
             if (value == "0")
             {
                 if(animObj != null)

+ 5 - 1
GameClient/Assets/Game/HotUpdate/ETCodes/Hotfix/App/DisConnected/DisConnectedCompnentSystem.cs

@@ -26,10 +26,14 @@ namespace ET
                         });
                         return;
                     }
-                    else
+                    else if(self.SessionState == SessionState.Gate)
                     {
                         LoginController.ReqReConnectGate().Coroutine();
                     }
+                    else
+                    {
+                        LogUtil.LogDev("DisConnectedCompnentDestroy");
+                    }
                 }
                 else
                 {

+ 12 - 11
GameClient/Assets/Game/HotUpdate/ETCodes/Hotfix/App/Login/LoginHelper.cs

@@ -81,7 +81,7 @@ namespace ET
         {
             zoneScene.GetComponent<SessionComponent>().AccountSession = accountSession;
             accountSession.AddComponent<PingComponent>();
-            accountSession.AddComponent<DisConnectedCompnent>();
+            accountSession.AddComponent<DisConnectedCompnent>().SessionState = SessionState.Login;
             zoneScene.GetComponent<SessionComponent>().SessionState = SessionState.Login;
             AccountInfoComponent accountInfoComponent = zoneScene.GetComponent<AccountInfoComponent>();
             accountInfoComponent.Token = a2CLoginAccount.Token;
@@ -167,7 +167,7 @@ namespace ET
 
             try
             {
-                a2C_GetRoles = (A2C_GetRoles)await zoneScene.GetComponent<SessionComponent>().AccountSession?.Call(new C2A_GetRoles()
+                a2C_GetRoles = (A2C_GetRoles)await zoneScene.GetComponent<SessionComponent>().AccountSession.Call(new C2A_GetRoles()
                 {
                     AccountId = zoneScene.GetComponent<AccountInfoComponent>().AccountId,
                     Token = zoneScene.GetComponent<AccountInfoComponent>().Token,
@@ -289,7 +289,7 @@ namespace ET
 
             zoneScene.GetComponent<AccountInfoComponent>().RealmKey = a2C_GetRealmKey.RealmKey;
             zoneScene.GetComponent<AccountInfoComponent>().RealmAddress = a2C_GetRealmKey.RealmAddress;
-            zoneScene.GetComponent<SessionComponent>().Disconnect();
+            zoneScene.GetComponent<SessionComponent>().DisconnectAccount();
 
             await ETTask.CompletedTask;
             return ErrorCode.ERR_Success;
@@ -323,10 +323,10 @@ namespace ET
                 return r2C_LoginRealm.Error;
             }
 
-            Log.Debug($"GateAddress : {r2C_LoginRealm.GateAddress}");
+            LogUtil.LogDev($"GateAddress : {r2C_LoginRealm.GateAddress}");
             Session gateSession = zoneScene.GetComponent<NetKcpComponent>().Create(NetworkHelper.ToIPEndPoint(r2C_LoginRealm.GateAddress));
             gateSession.AddComponent<PingComponent>();
-            gateSession.AddComponent<DisConnectedCompnent>();
+            gateSession.AddComponent<DisConnectedCompnent>().SessionState = SessionState.Gate;
             zoneScene.GetComponent<SessionComponent>().GateSession = gateSession;
             zoneScene.GetComponent<SessionComponent>().SessionState = SessionState.Gate;
 
@@ -355,7 +355,7 @@ namespace ET
                 zoneScene.GetComponent<SessionComponent>().GateSession?.Dispose();
                 return g2C_LoginGate.Error;
             }
-            Log.Debug("登陆gate成功!");
+            LogUtil.LogDev("登陆gate成功!");
 
             //3.角色正式请求进入游戏逻辑服
             G2C_EnterGame g2C_EnterGame = null;
@@ -375,12 +375,13 @@ namespace ET
                 //Log.Error(g2C_EnterGame.Error.ToString());
                 return g2C_EnterGame.Error;
             }
-
-            Log.Debug("角色进入游戏成功!");
             zoneScene.GetComponent<PlayerComponent>().MyId = g2C_EnterGame.MyId;
-            await zoneScene.GetComponent<ObjectWait>().Wait<WaitType.Wait_SceneChangeFinish>();
-
-            await ETTask.CompletedTask;
+            var result = await GameGlobal.zoneScene.GetComponent<ObjectWait>().Wait<ET.WaitType.Wait_SceneChangeStart>();
+            if(result.Error == WaitTypeError.Cancel)
+            {
+                return ErrorCode.ERR_Cancel;
+            }
+            LogUtil.LogDev("角色进入游戏成功!");
             return ErrorCode.ERR_Success;
         }
 

+ 20 - 2
GameClient/Assets/Game/HotUpdate/ETCodes/Hotfix/App/Scene/M2C_StartSceneChangeHandler.cs

@@ -1,4 +1,5 @@
-using System;
+using GFGGame;
+using System;
 
 namespace ET
 {
@@ -6,7 +7,24 @@ namespace ET
     {
         protected override async ETTask Run(Session session, M2C_StartSceneChange message)
         {
-            await SceneChangeHelper.SceneChangeTo(GFGGame.GameGlobal.zoneScene, message.SceneName, message.SceneInstanceId);
+            LogUtil.LogDev("Notify Wait_SceneChangeStart");
+            // 通知等待场景切换的协程
+            GameGlobal.zoneScene.GetComponent<ObjectWait>().Notify(new WaitType.Wait_SceneChangeStart());
+
+            CurrentScenesComponent currentScenesComponent = GameGlobal.zoneScene.GetComponent<CurrentScenesComponent>();
+
+            currentScenesComponent.Scene?.Dispose(); // 删除之前的CurrentScene,创建新的
+            Scene currentScene = SceneFactory.CreateCurrentScene(message.SceneInstanceId, GameGlobal.zoneScene.Zone, message.SceneName, currentScenesComponent);
+
+            // 等待CreateMyUnit的消息
+            WaitType.Wait_CreateMyUnit waitCreateMyUnit = await GameGlobal.zoneScene.GetComponent<ObjectWait>().Wait<WaitType.Wait_CreateMyUnit>();
+            M2C_CreateMyUnit m2CCreateMyUnit = waitCreateMyUnit.Message;
+            Unit unit = UnitFactory.Create(currentScene, m2CCreateMyUnit.Unit);
+            GameGlobal.myNumericComponent = unit.GetComponent<NumericComponent>();
+
+            LogUtil.LogDev("Notify Wait_SceneChangeFinish");
+            // 通知等待场景切换的协程
+            GameGlobal.zoneScene.GetComponent<ObjectWait>().Notify(new WaitType.Wait_SceneChangeFinish());
         }
     }
 }

+ 0 - 24
GameClient/Assets/Game/HotUpdate/ETCodes/Hotfix/App/Scene/SceneChangeHelper.cs

@@ -1,24 +0,0 @@
-using GFGGame;
-
-namespace ET
-{
-    public static class SceneChangeHelper
-    {
-        // 场景切换协程
-        public static async ETTask SceneChangeTo(Scene zoneScene, string sceneName, long sceneInstanceId)
-        {
-            CurrentScenesComponent currentScenesComponent = zoneScene.GetComponent<CurrentScenesComponent>();
-            currentScenesComponent.Scene?.Dispose(); // 删除之前的CurrentScene,创建新的
-            Scene currentScene = SceneFactory.CreateCurrentScene(sceneInstanceId, zoneScene.Zone, sceneName, currentScenesComponent);
-
-            // 等待CreateMyUnit的消息
-            WaitType.Wait_CreateMyUnit waitCreateMyUnit = await zoneScene.GetComponent<ObjectWait>().Wait<WaitType.Wait_CreateMyUnit>();
-            M2C_CreateMyUnit m2CCreateMyUnit = waitCreateMyUnit.Message;
-            Unit unit = UnitFactory.Create(currentScene, m2CCreateMyUnit.Unit);
-            GameGlobal.myNumericComponent = unit.GetComponent<NumericComponent>();
-
-            // 通知等待场景切换的协程
-            zoneScene.GetComponent<ObjectWait>().Notify(new WaitType.Wait_SceneChangeFinish());
-        }
-    }
-}

+ 10 - 1
GameClient/Assets/Game/HotUpdate/ETCodes/Hotfix/App/Session/SessionComponentSystem.cs

@@ -5,18 +5,27 @@
 		public override void Destroy(SessionComponent self)
 		{
 			self.AccountSession?.Dispose();
+			self.AccountSession = null;
 			self.GateSession?.Dispose();
+			self.GateSession = null;
 		}
 	}
 
 	public static class SessionComponentComponent
     {
-		public static void Disconnect(this SessionComponent self)
+		public static void DisconnectAccount(this SessionComponent self)
 		{
 			self.AccountSession?.GetComponent<DisConnectedCompnent>()?.CancelAlert();
 			self.AccountSession?.Dispose();
+			self.AccountSession = null;
+		}
+
+		public static void Disconnect(this SessionComponent self)
+		{
+			self.DisconnectAccount();
 			self.GateSession?.GetComponent<DisConnectedCompnent>()?.CancelAlert();
 			self.GateSession?.Dispose();
+			self.GateSession = null;
 		}
     }
 }

+ 1 - 0
GameClient/Assets/Game/HotUpdate/ETCodes/Model/App/DisConnected/DisConnectedCompnent.cs

@@ -3,5 +3,6 @@
     public class DisConnectedCompnent : Entity, IAwake, IDestroy
     {
         public bool ToReconnect = true;
+        public SessionState SessionState;
     }
 }

+ 10 - 1
GameClient/Assets/Game/HotUpdate/ETCodes/Model/App/WaitType.cs

@@ -21,7 +21,16 @@
 
             public M2C_CreateMyUnit Message;
         }
-        
+
+        public struct Wait_SceneChangeStart : IWaitType
+        {
+            public int Error
+            {
+                get;
+                set;
+            }
+        }
+
         public struct Wait_SceneChangeFinish: IWaitType
         {
             public int Error

+ 0 - 3
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityMain/UI_ActivityMainTipsUI.cs

@@ -11,7 +11,6 @@ namespace UI.ActivityMain
         public GLoader m_icon;
         public GTextField m_activityDesc;
         public GLoader m_notTips;
-        public GTextField m_activityTime;
         public GLoader m_backBtn;
         public Transition m_t0;
         public Transition m_t1;
@@ -67,7 +66,6 @@ namespace UI.ActivityMain
             m_icon = (GLoader)comp.GetChild("icon");
             m_activityDesc = (GTextField)comp.GetChild("activityDesc");
             m_notTips = (GLoader)comp.GetChild("notTips");
-            m_activityTime = (GTextField)comp.GetChild("activityTime");
             m_backBtn = (GLoader)comp.GetChild("backBtn");
             m_t0 = comp.GetTransition("t0");
             m_t1 = comp.GetTransition("t1");
@@ -79,7 +77,6 @@ namespace UI.ActivityMain
             m_icon = null;
             m_activityDesc = null;
             m_notTips = null;
-            m_activityTime = null;
             m_backBtn = null;
             m_t0 = null;
             m_t1 = null;

+ 81 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityMain/UI_ActivityRewardItemUI.cs

@@ -0,0 +1,81 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.ActivityMain
+{
+    public partial class UI_ActivityRewardItemUI
+    {
+        public GComponent target;
+        public GLoader m_bg;
+        public GList m_List;
+        public UI_Button7 m_RewardBtn;
+        public GTextField m_rewardName;
+        public const string URL = "ui://4ht5s77uqbf4u";
+        public const string PACKAGE_NAME = "ActivityMain";
+        public const string RES_NAME = "ActivityRewardItemUI";
+        private static UI_ActivityRewardItemUI _proxy;
+
+        public static UI_ActivityRewardItemUI Create(GObject gObject = null)
+        {
+            var ui = new UI_ActivityRewardItemUI();
+            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_ActivityRewardItemUI Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_ActivityRewardItemUI();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_bg = (GLoader)comp.GetChild("bg");
+            m_List = (GList)comp.GetChild("List");
+            m_RewardBtn = (UI_Button7)UI_Button7.Create(comp.GetChild("RewardBtn"));
+            m_rewardName = (GTextField)comp.GetChild("rewardName");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_bg = null;
+            m_List = null;
+            m_RewardBtn.Dispose();
+            m_RewardBtn = null;
+            m_rewardName = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Data/QueueDataManager.cs.meta → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityMain/UI_ActivityRewardItemUI.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 1a74ff909c5901b40b36ccac70d64578
+guid: 87c9eb1e5a64ff04fbce6644d12fc918
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 92 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityMain/UI_ActivityZCJB.cs

@@ -0,0 +1,92 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.ActivityMain
+{
+    public partial class UI_ActivityZCJB
+    {
+        public GComponent target;
+        public GLoader m_btnChange;
+        public GLoader m_icon;
+        public GButton m_rewardBTn;
+        public GTextField m_activityTime;
+        public GLoader m_backBtn;
+        public GLoader m_viewBtn;
+        public GGraph m_bgEffect;
+        public GGraph m_btnEffect;
+        public const string URL = "ui://4ht5s77uqbf4l";
+        public const string PACKAGE_NAME = "ActivityMain";
+        public const string RES_NAME = "ActivityZCJB";
+        private static UI_ActivityZCJB _proxy;
+
+        public static UI_ActivityZCJB Create(GObject gObject = null)
+        {
+            var ui = new UI_ActivityZCJB();
+            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_ActivityZCJB Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_ActivityZCJB();
+            }
+            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_btnChange = (GLoader)comp.GetChild("btnChange");
+            m_icon = (GLoader)comp.GetChild("icon");
+            m_rewardBTn = (GButton)comp.GetChild("rewardBTn");
+            m_activityTime = (GTextField)comp.GetChild("activityTime");
+            m_backBtn = (GLoader)comp.GetChild("backBtn");
+            m_viewBtn = (GLoader)comp.GetChild("viewBtn");
+            m_bgEffect = (GGraph)comp.GetChild("bgEffect");
+            m_btnEffect = (GGraph)comp.GetChild("btnEffect");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_btnChange = null;
+            m_icon = null;
+            m_rewardBTn = null;
+            m_activityTime = null;
+            m_backBtn = null;
+            m_viewBtn = null;
+            m_bgEffect = null;
+            m_btnEffect = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 1 - 1
GameClient/Assets/Game/HotUpdate/ETCodes/Hotfix/App/Scene/SceneChangeHelper.cs.meta → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityMain/UI_ActivityZCJB.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 979d8a25f84f51a4ab07e3001b61fdff
+guid: 8c0d3b1188db23c46bb92208b1166c5e
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 83 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityMain/UI_ActivityZCJBRewardUI.cs

@@ -0,0 +1,83 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.ActivityMain
+{
+    public partial class UI_ActivityZCJBRewardUI
+    {
+        public GComponent target;
+        public GLoader m_back;
+        public GLoader m_loaBg;
+        public GList m_List;
+        public GTextField m_num;
+        public GLoader m_backBtn;
+        public const string URL = "ui://4ht5s77uqbf4m";
+        public const string PACKAGE_NAME = "ActivityMain";
+        public const string RES_NAME = "ActivityZCJBRewardUI";
+        private static UI_ActivityZCJBRewardUI _proxy;
+
+        public static UI_ActivityZCJBRewardUI Create(GObject gObject = null)
+        {
+            var ui = new UI_ActivityZCJBRewardUI();
+            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_ActivityZCJBRewardUI Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_ActivityZCJBRewardUI();
+            }
+            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_back = (GLoader)comp.GetChild("back");
+            m_loaBg = (GLoader)comp.GetChild("loaBg");
+            m_List = (GList)comp.GetChild("List");
+            m_num = (GTextField)comp.GetChild("num");
+            m_backBtn = (GLoader)comp.GetChild("backBtn");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_back = null;
+            m_loaBg = null;
+            m_List = null;
+            m_num = null;
+            m_backBtn = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityMain/UI_ActivityZCJBRewardUI.cs.meta

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

+ 71 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityMain/UI_Button7.cs

@@ -0,0 +1,71 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.ActivityMain
+{
+    public partial class UI_Button7
+    {
+        public GButton target;
+        public Controller m_c1;
+        public const string URL = "ui://4ht5s77uqbf4w";
+        public const string PACKAGE_NAME = "ActivityMain";
+        public const string RES_NAME = "Button7";
+        private static UI_Button7 _proxy;
+
+        public static UI_Button7 Create(GObject gObject = null)
+        {
+            var ui = new UI_Button7();
+            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_Button7 Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_Button7();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GButton)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GButton)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_c1 = comp.GetController("c1");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_c1 = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityMain/UI_Button7.cs.meta

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

+ 74 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityMain/UI_ComItem000.cs

@@ -0,0 +1,74 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.ActivityMain
+{
+    public partial class UI_ComItem000
+    {
+        public GComponent target;
+        public GComponent m_comItemIcon;
+        public GTextField m_txtName;
+        public const string URL = "ui://4ht5s77uqbf4v";
+        public const string PACKAGE_NAME = "ActivityMain";
+        public const string RES_NAME = "ComItem000";
+        private static UI_ComItem000 _proxy;
+
+        public static UI_ComItem000 Create(GObject gObject = null)
+        {
+            var ui = new UI_ComItem000();
+            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_ComItem000 Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_ComItem000();
+            }
+            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_comItemIcon = (GComponent)comp.GetChild("comItemIcon");
+            m_txtName = (GTextField)comp.GetChild("txtName");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_comItemIcon = null;
+            m_txtName = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityMain/UI_ComItem000.cs.meta

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

+ 83 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityMain/UI_ZCJBBuyTips.cs

@@ -0,0 +1,83 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.ActivityMain
+{
+    public partial class UI_ZCJBBuyTips
+    {
+        public GComponent target;
+        public GGraph m_graphBg;
+        public GTextField m_txtContent;
+        public GTextField m_txtTips;
+        public GButton m_btnLeft;
+        public GButton m_btnRight;
+        public const string URL = "ui://4ht5s77uqzw81c";
+        public const string PACKAGE_NAME = "ActivityMain";
+        public const string RES_NAME = "ZCJBBuyTips";
+        private static UI_ZCJBBuyTips _proxy;
+
+        public static UI_ZCJBBuyTips Create(GObject gObject = null)
+        {
+            var ui = new UI_ZCJBBuyTips();
+            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_ZCJBBuyTips Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_ZCJBBuyTips();
+            }
+            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_graphBg = (GGraph)comp.GetChild("graphBg");
+            m_txtContent = (GTextField)comp.GetChild("txtContent");
+            m_txtTips = (GTextField)comp.GetChild("txtTips");
+            m_btnLeft = (GButton)comp.GetChild("btnLeft");
+            m_btnRight = (GButton)comp.GetChild("btnRight");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_graphBg = null;
+            m_txtContent = null;
+            m_txtTips = null;
+            m_btnLeft = null;
+            m_btnRight = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityMain/UI_ZCJBBuyTips.cs.meta

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

+ 0 - 3
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Card/UI_CardUpUI.cs

@@ -8,7 +8,6 @@ namespace UI.Card
     {
         public GComponent target;
         public Controller m_c1;
-        public GGraph m_bgTouch;
         public GGraph m_holderBgCom;
         public GGraph m_holderTitle;
         public GTextField m_txtLast;
@@ -65,7 +64,6 @@ namespace UI.Card
         private void Init(GComponent comp)
         {
             m_c1 = comp.GetController("c1");
-            m_bgTouch = (GGraph)comp.GetChild("bgTouch");
             m_holderBgCom = (GGraph)comp.GetChild("holderBgCom");
             m_holderTitle = (GGraph)comp.GetChild("holderTitle");
             m_txtLast = (GTextField)comp.GetChild("txtLast");
@@ -78,7 +76,6 @@ namespace UI.Card
         public void Dispose(bool disposeTarget = false)
         {
             m_c1 = null;
-            m_bgTouch = null;
             m_holderBgCom = null;
             m_holderTitle = null;
             m_txtLast = null;

+ 8 - 6
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_BuyTipsUI.cs

@@ -8,12 +8,12 @@ namespace UI.CommonGame
     {
         public GComponent target;
         public Controller m_checkType;
-        public GComponent m_bg;
+        public GImage m_bg;
         public GTextField m_txtNeed;
         public GTextField m_txtCost;
         public GLoader m_loaNeed;
-        public GButton m_btnCancel;
-        public GButton m_btnSure;
+        public UI_Button18 m_btnCancel;
+        public UI_Button18 m_btnSure;
         public GButton m_btnCheck;
         public const string URL = "ui://eg2y0ldpds629g";
         public const string PACKAGE_NAME = "CommonGame";
@@ -63,12 +63,12 @@ namespace UI.CommonGame
         private void Init(GComponent comp)
         {
             m_checkType = comp.GetController("checkType");
-            m_bg = (GComponent)comp.GetChild("bg");
+            m_bg = (GImage)comp.GetChild("bg");
             m_txtNeed = (GTextField)comp.GetChild("txtNeed");
             m_txtCost = (GTextField)comp.GetChild("txtCost");
             m_loaNeed = (GLoader)comp.GetChild("loaNeed");
-            m_btnCancel = (GButton)comp.GetChild("btnCancel");
-            m_btnSure = (GButton)comp.GetChild("btnSure");
+            m_btnCancel = (UI_Button18)UI_Button18.Create(comp.GetChild("btnCancel"));
+            m_btnSure = (UI_Button18)UI_Button18.Create(comp.GetChild("btnSure"));
             m_btnCheck = (GButton)comp.GetChild("btnCheck");
         }
         public void Dispose(bool disposeTarget = false)
@@ -78,7 +78,9 @@ namespace UI.CommonGame
             m_txtNeed = null;
             m_txtCost = null;
             m_loaNeed = null;
+            m_btnCancel.Dispose();
             m_btnCancel = null;
+            m_btnSure.Dispose();
             m_btnSure = null;
             m_btnCheck = null;
             if(disposeTarget && target != null)

+ 6 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComCostCurrency.cs

@@ -11,6 +11,8 @@ namespace UI.CommonGame
         public Controller m_style;
         public GLoader m_loaIcon;
         public GTextField m_txtNeed;
+        public GTextField m_limitNum;
+        public GLoader m_addBtn;
         public const string URL = "ui://eg2y0ldpn3xha1";
         public const string PACKAGE_NAME = "CommonGame";
         public const string RES_NAME = "ComCostCurrency";
@@ -62,6 +64,8 @@ namespace UI.CommonGame
             m_style = comp.GetController("style");
             m_loaIcon = (GLoader)comp.GetChild("loaIcon");
             m_txtNeed = (GTextField)comp.GetChild("txtNeed");
+            m_limitNum = (GTextField)comp.GetChild("limitNum");
+            m_addBtn = (GLoader)comp.GetChild("addBtn");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -69,6 +73,8 @@ namespace UI.CommonGame
             m_style = null;
             m_loaIcon = null;
             m_txtNeed = null;
+            m_limitNum = null;
+            m_addBtn = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 15 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComGouMaiGetText.cs

@@ -7,8 +7,13 @@ namespace UI.CommonGame
     public partial class UI_ComGouMaiGetText
     {
         public GComponent target;
+        public Controller m_c1;
         public GLoader m_loaIcon;
         public GTextField m_txtGetGold;
+        public GLoader m_loaIcon1;
+        public GTextField m_txtGetGold1;
+        public GLoader m_loaIcon2;
+        public GTextField m_txtGetGold2;
         public const string URL = "ui://eg2y0ldpqqhz1r";
         public const string PACKAGE_NAME = "CommonGame";
         public const string RES_NAME = "ComGouMaiGetText";
@@ -56,13 +61,23 @@ namespace UI.CommonGame
 
         private void Init(GComponent comp)
         {
+            m_c1 = comp.GetController("c1");
             m_loaIcon = (GLoader)comp.GetChild("loaIcon");
             m_txtGetGold = (GTextField)comp.GetChild("txtGetGold");
+            m_loaIcon1 = (GLoader)comp.GetChild("loaIcon1");
+            m_txtGetGold1 = (GTextField)comp.GetChild("txtGetGold1");
+            m_loaIcon2 = (GLoader)comp.GetChild("loaIcon2");
+            m_txtGetGold2 = (GTextField)comp.GetChild("txtGetGold2");
         }
         public void Dispose(bool disposeTarget = false)
         {
+            m_c1 = null;
             m_loaIcon = null;
             m_txtGetGold = null;
+            m_loaIcon1 = null;
+            m_txtGetGold1 = null;
+            m_loaIcon2 = null;
+            m_txtGetGold2 = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_RushSaleGiftBoxUI.cs

@@ -7,6 +7,7 @@ namespace UI.EnduringGiftBox
     public partial class UI_RushSaleGiftBoxUI
     {
         public GComponent target;
+        public Controller m_showType;
         public GComponent m_btnUp;
         public GComponent m_btnNext;
         public GComponent m_btnBack;
@@ -70,6 +71,7 @@ namespace UI.EnduringGiftBox
 
         private void Init(GComponent comp)
         {
+            m_showType = comp.GetController("showType");
             m_btnUp = (GComponent)comp.GetChild("btnUp");
             m_btnNext = (GComponent)comp.GetChild("btnNext");
             m_btnBack = (GComponent)comp.GetChild("btnBack");
@@ -89,6 +91,7 @@ namespace UI.EnduringGiftBox
         }
         public void Dispose(bool disposeTarget = false)
         {
+            m_showType = null;
             m_btnUp = null;
             m_btnNext = null;
             m_btnBack = null;

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

@@ -7,8 +7,8 @@ namespace UI.League
     public partial class UI_comTeaPartyItem
     {
         public GComponent target;
-        public GLoader m_iconRoleBg;
         public GLoader m_iconRole;
+        public GLoader m_iconRoleBg;
         public GTextField m_txtRoleName;
         public GTextField m_txtMaxValue;
         public GImage m_imgChoose;
@@ -62,8 +62,8 @@ namespace UI.League
 
         private void Init(GComponent comp)
         {
-            m_iconRoleBg = (GLoader)comp.GetChild("iconRoleBg");
             m_iconRole = (GLoader)comp.GetChild("iconRole");
+            m_iconRoleBg = (GLoader)comp.GetChild("iconRoleBg");
             m_txtRoleName = (GTextField)comp.GetChild("txtRoleName");
             m_txtMaxValue = (GTextField)comp.GetChild("txtMaxValue");
             m_imgChoose = (GImage)comp.GetChild("imgChoose");
@@ -73,8 +73,8 @@ namespace UI.League
         }
         public void Dispose(bool disposeTarget = false)
         {
-            m_iconRoleBg = null;
             m_iconRole = null;
+            m_iconRoleBg = null;
             m_txtRoleName = null;
             m_txtMaxValue = null;
             m_imgChoose = null;

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

@@ -7,8 +7,8 @@ namespace UI.League
     public partial class UI_comTeaPartyOverItem
     {
         public GComponent target;
-        public GLoader m_iconRoleBg;
         public GLoader m_iconRole;
+        public GLoader m_iconRoleBg;
         public GTextField m_txtRoleName;
         public GTextField m_txtGuildName;
         public const string URL = "ui://tw70qm9dic4otq5";
@@ -58,15 +58,15 @@ namespace UI.League
 
         private void Init(GComponent comp)
         {
-            m_iconRoleBg = (GLoader)comp.GetChild("iconRoleBg");
             m_iconRole = (GLoader)comp.GetChild("iconRole");
+            m_iconRoleBg = (GLoader)comp.GetChild("iconRoleBg");
             m_txtRoleName = (GTextField)comp.GetChild("txtRoleName");
             m_txtGuildName = (GTextField)comp.GetChild("txtGuildName");
         }
         public void Dispose(bool disposeTarget = false)
         {
-            m_iconRoleBg = null;
             m_iconRole = null;
+            m_iconRoleBg = null;
             m_txtRoleName = null;
             m_txtGuildName = null;
             if(disposeTarget && target != null)

+ 71 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_Button9.cs

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

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_Button9.cs.meta

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

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

@@ -21,6 +21,8 @@ namespace UI.LuckyBox
         public GTextField m_txtOwned;
         public UI_comLuckBoxBtn m_comLuckBoxBtn;
         public GTextField m_txtCount;
+        public GTextField m_txtHasTime;
+        public GGroup m_grpActivityTips;
         public const string URL = "ui://drx9d1usduuftcr";
         public const string PACKAGE_NAME = "LuckyBox";
         public const string RES_NAME = "ComBox1";
@@ -82,6 +84,8 @@ namespace UI.LuckyBox
             m_txtOwned = (GTextField)comp.GetChild("txtOwned");
             m_comLuckBoxBtn = (UI_comLuckBoxBtn)UI_comLuckBoxBtn.Create(comp.GetChild("comLuckBoxBtn"));
             m_txtCount = (GTextField)comp.GetChild("txtCount");
+            m_txtHasTime = (GTextField)comp.GetChild("txtHasTime");
+            m_grpActivityTips = (GGroup)comp.GetChild("grpActivityTips");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -102,6 +106,8 @@ namespace UI.LuckyBox
             m_comLuckBoxBtn.Dispose();
             m_comLuckBoxBtn = null;
             m_txtCount = null;
+            m_txtHasTime = null;
+            m_grpActivityTips = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

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

@@ -9,6 +9,7 @@ namespace UI.LuckyBox
         public GComponent target;
         public GLoader m_loaRes;
         public GGraph m_holder;
+        public GLoader m_loaTitle;
         public const string URL = "ui://drx9d1uso4m7tf6";
         public const string PACKAGE_NAME = "LuckyBox";
         public const string RES_NAME = "ComModelRes";
@@ -58,11 +59,13 @@ namespace UI.LuckyBox
         {
             m_loaRes = (GLoader)comp.GetChild("loaRes");
             m_holder = (GGraph)comp.GetChild("holder");
+            m_loaTitle = (GLoader)comp.GetChild("loaTitle");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_loaRes = null;
             m_holder = null;
+            m_loaTitle = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 7 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_LuckyBoxActivityUI.cs

@@ -7,10 +7,12 @@ namespace UI.LuckyBox
     public partial class UI_LuckyBoxActivityUI
     {
         public GComponent target;
+        public Controller m_showGiftBag;
         public UI_ComBox m_comBox;
         public GButton m_btnBack;
         public GComponent m_valueBar;
         public GTextField m_txtTime;
+        public UI_Button9 m_btnLuckyDiscount;
         public GButton m_btnGiftBag;
         public UI_ComBagTime m_comBagTime;
         public GButton m_btnShop;
@@ -62,10 +64,12 @@ namespace UI.LuckyBox
 
         private void Init(GComponent comp)
         {
+            m_showGiftBag = comp.GetController("showGiftBag");
             m_comBox = (UI_ComBox)UI_ComBox.Create(comp.GetChild("comBox"));
             m_btnBack = (GButton)comp.GetChild("btnBack");
             m_valueBar = (GComponent)comp.GetChild("valueBar");
             m_txtTime = (GTextField)comp.GetChild("txtTime");
+            m_btnLuckyDiscount = (UI_Button9)UI_Button9.Create(comp.GetChild("btnLuckyDiscount"));
             m_btnGiftBag = (GButton)comp.GetChild("btnGiftBag");
             m_comBagTime = (UI_ComBagTime)UI_ComBagTime.Create(comp.GetChild("comBagTime"));
             m_btnShop = (GButton)comp.GetChild("btnShop");
@@ -73,11 +77,14 @@ namespace UI.LuckyBox
         }
         public void Dispose(bool disposeTarget = false)
         {
+            m_showGiftBag = null;
             m_comBox.Dispose();
             m_comBox = null;
             m_btnBack = null;
             m_valueBar = null;
             m_txtTime = null;
+            m_btnLuckyDiscount.Dispose();
+            m_btnLuckyDiscount = null;
             m_btnGiftBag = null;
             m_comBagTime.Dispose();
             m_comBagTime = null;

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

@@ -7,6 +7,7 @@ namespace UI.LuckyBox
     public partial class UI_LuckyBoxWishUI
     {
         public GComponent target;
+        public Controller m_showType;
         public GButton m_btnWish1;
         public GButton m_btnWish2;
         public GButton m_btnRule;
@@ -61,6 +62,7 @@ namespace UI.LuckyBox
 
         private void Init(GComponent comp)
         {
+            m_showType = comp.GetController("showType");
             m_btnWish1 = (GButton)comp.GetChild("btnWish1");
             m_btnWish2 = (GButton)comp.GetChild("btnWish2");
             m_btnRule = (GButton)comp.GetChild("btnRule");
@@ -71,6 +73,7 @@ namespace UI.LuckyBox
         }
         public void Dispose(bool disposeTarget = false)
         {
+            m_showType = null;
             m_btnWish1 = null;
             m_btnWish2 = null;
             m_btnRule = null;

+ 2 - 2
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_comLuckBoxBtn.cs

@@ -14,7 +14,7 @@ namespace UI.LuckyBox
         public GButton m_btnBuyOne;
         public GButton m_btnBuyTen;
         public GButton m_btnBuyFifty;
-        public GTextField m_txtRemainTimes;
+        public GRichTextField m_txtRemainTimes;
         public GImage m_imgSpecial;
         public GGraph m_holder;
         public GGroup m_grpSpecial;
@@ -75,7 +75,7 @@ namespace UI.LuckyBox
             m_btnBuyOne = (GButton)comp.GetChild("btnBuyOne");
             m_btnBuyTen = (GButton)comp.GetChild("btnBuyTen");
             m_btnBuyFifty = (GButton)comp.GetChild("btnBuyFifty");
-            m_txtRemainTimes = (GTextField)comp.GetChild("txtRemainTimes");
+            m_txtRemainTimes = (GRichTextField)comp.GetChild("txtRemainTimes");
             m_imgSpecial = (GImage)comp.GetChild("imgSpecial");
             m_holder = (GGraph)comp.GetChild("holder");
             m_grpSpecial = (GGroup)comp.GetChild("grpSpecial");

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

@@ -9,6 +9,7 @@ namespace UI.Main
         public GButton target;
         public Controller m_c1;
         public Controller m_c2;
+        public Controller m_c3;
         public GLoader m_iconMain;
         public GTextField m_txtTime;
         public const string URL = "ui://mfvz4q8kt6j1ow";
@@ -60,6 +61,7 @@ namespace UI.Main
         {
             m_c1 = comp.GetController("c1");
             m_c2 = comp.GetController("c2");
+            m_c3 = comp.GetController("c3");
             m_iconMain = (GLoader)comp.GetChild("iconMain");
             m_txtTime = (GTextField)comp.GetChild("txtTime");
         }
@@ -67,6 +69,7 @@ namespace UI.Main
         {
             m_c1 = null;
             m_c2 = null;
+            m_c3 = null;
             m_iconMain = null;
             m_txtTime = null;
             if(disposeTarget && target != null)

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

@@ -14,6 +14,8 @@ namespace UI.Main
         public GLoader m_iconMain;
         public GGraph m_holder1;
         public GLoader m_loaLockIcons;
+        public Transition m_HideEffect;
+        public Transition m_ShowEffect;
         public const string URL = "ui://mfvz4q8kq08xu";
         public const string PACKAGE_NAME = "Main";
         public const string RES_NAME = "ButtonModle1";
@@ -68,6 +70,8 @@ namespace UI.Main
             m_iconMain = (GLoader)comp.GetChild("iconMain");
             m_holder1 = (GGraph)comp.GetChild("holder1");
             m_loaLockIcons = (GLoader)comp.GetChild("loaLockIcons");
+            m_HideEffect = comp.GetTransition("HideEffect");
+            m_ShowEffect = comp.GetTransition("ShowEffect");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -78,6 +82,8 @@ namespace UI.Main
             m_iconMain = null;
             m_holder1 = null;
             m_loaLockIcons = null;
+            m_HideEffect = null;
+            m_ShowEffect = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 89 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_ButtonModleEffect.cs

@@ -0,0 +1,89 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.Main
+{
+    public partial class UI_ButtonModleEffect
+    {
+        public GButton target;
+        public Controller m_c1;
+        public GLoader m_icon0;
+        public GGraph m_holder;
+        public GGraph m_holder1;
+        public GLoader m_titleText;
+        public GLoader m_loaLockIcons;
+        public GLoader m_iconMain;
+        public const string URL = "ui://mfvz4q8kdkxp9fyb";
+        public const string PACKAGE_NAME = "Main";
+        public const string RES_NAME = "ButtonModleEffect";
+        private static UI_ButtonModleEffect _proxy;
+
+        public static UI_ButtonModleEffect Create(GObject gObject = null)
+        {
+            var ui = new UI_ButtonModleEffect();
+            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_ButtonModleEffect Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_ButtonModleEffect();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GButton)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GButton)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_c1 = comp.GetController("c1");
+            m_icon0 = (GLoader)comp.GetChild("icon0");
+            m_holder = (GGraph)comp.GetChild("holder");
+            m_holder1 = (GGraph)comp.GetChild("holder1");
+            m_titleText = (GLoader)comp.GetChild("titleText");
+            m_loaLockIcons = (GLoader)comp.GetChild("loaLockIcons");
+            m_iconMain = (GLoader)comp.GetChild("iconMain");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_c1 = null;
+            m_icon0 = null;
+            m_holder = null;
+            m_holder1 = null;
+            m_titleText = null;
+            m_loaLockIcons = null;
+            m_iconMain = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

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

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

+ 14 - 10
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_MainUI.cs

@@ -18,11 +18,12 @@ namespace UI.Main
         public GButton m_btnGongGao;
         public GList m_list;
         public UI_ButtonChange m_btnChange;
-        public UI_BtnModle2 m_btnActivityLuckyBox;
         public UI_BtnModle2 m_btnActivityAfuGift;
         public UI_BtnModle2 m_btnWanShiLi;
         public UI_BtnModle2 m_btnTea;
         public UI_BtnModle2 m_btnOpenServerActivity;
+        public UI_BtnModle2 m_btnActivityLuckyBox;
+        public UI_BtnModle2 m_btnActivityZCJB;
         public GTextField m_serverTime;
         public GLoader m_loaGuidestudio;
         public UI_ComAd m_comListAd;
@@ -31,13 +32,13 @@ namespace UI.Main
         public UI_BtnModle m_btnGiftBag2;
         public UI_ButtonModle1 m_btnZhaiXing;
         public UI_BtnModle1 m_btnDailyWelfare;
-        public UI_BtnModle2 m_btnActivityDay7;
+        public UI_BtnModle1 m_btnActivityDay7;
         public UI_BtnModle1 m_btnShow;
         public UI_ButtonModle1 m_btnCiPai;
         public UI_ButtonModle1 m_btnXiuFang;
         public UI_ButtonModle1 m_btnHuanZhuang;
-        public UI_ButtonModle1 m_btnHaiZhiShi;
-        public UI_ButtonModle1 m_btnMain;
+        public UI_ButtonModleEffect m_btnHaiZhiShi;
+        public UI_ButtonModleEffect m_btnMain;
         public GGroup m_AllUI;
         public GGraph m_touchMask;
         public Transition m_openViewAction;
@@ -101,11 +102,12 @@ namespace UI.Main
             m_btnGongGao = (GButton)comp.GetChild("btnGongGao");
             m_list = (GList)comp.GetChild("list");
             m_btnChange = (UI_ButtonChange)UI_ButtonChange.Create(comp.GetChild("btnChange"));
-            m_btnActivityLuckyBox = (UI_BtnModle2)UI_BtnModle2.Create(comp.GetChild("btnActivityLuckyBox"));
             m_btnActivityAfuGift = (UI_BtnModle2)UI_BtnModle2.Create(comp.GetChild("btnActivityAfuGift"));
             m_btnWanShiLi = (UI_BtnModle2)UI_BtnModle2.Create(comp.GetChild("btnWanShiLi"));
             m_btnTea = (UI_BtnModle2)UI_BtnModle2.Create(comp.GetChild("btnTea"));
             m_btnOpenServerActivity = (UI_BtnModle2)UI_BtnModle2.Create(comp.GetChild("btnOpenServerActivity"));
+            m_btnActivityLuckyBox = (UI_BtnModle2)UI_BtnModle2.Create(comp.GetChild("btnActivityLuckyBox"));
+            m_btnActivityZCJB = (UI_BtnModle2)UI_BtnModle2.Create(comp.GetChild("btnActivityZCJB"));
             m_serverTime = (GTextField)comp.GetChild("serverTime");
             m_loaGuidestudio = (GLoader)comp.GetChild("loaGuidestudio");
             m_comListAd = (UI_ComAd)UI_ComAd.Create(comp.GetChild("comListAd"));
@@ -114,13 +116,13 @@ namespace UI.Main
             m_btnGiftBag2 = (UI_BtnModle)UI_BtnModle.Create(comp.GetChild("btnGiftBag2"));
             m_btnZhaiXing = (UI_ButtonModle1)UI_ButtonModle1.Create(comp.GetChild("btnZhaiXing"));
             m_btnDailyWelfare = (UI_BtnModle1)UI_BtnModle1.Create(comp.GetChild("btnDailyWelfare"));
-            m_btnActivityDay7 = (UI_BtnModle2)UI_BtnModle2.Create(comp.GetChild("btnActivityDay7"));
+            m_btnActivityDay7 = (UI_BtnModle1)UI_BtnModle1.Create(comp.GetChild("btnActivityDay7"));
             m_btnShow = (UI_BtnModle1)UI_BtnModle1.Create(comp.GetChild("btnShow"));
             m_btnCiPai = (UI_ButtonModle1)UI_ButtonModle1.Create(comp.GetChild("btnCiPai"));
             m_btnXiuFang = (UI_ButtonModle1)UI_ButtonModle1.Create(comp.GetChild("btnXiuFang"));
             m_btnHuanZhuang = (UI_ButtonModle1)UI_ButtonModle1.Create(comp.GetChild("btnHuanZhuang"));
-            m_btnHaiZhiShi = (UI_ButtonModle1)UI_ButtonModle1.Create(comp.GetChild("btnHaiZhiShi"));
-            m_btnMain = (UI_ButtonModle1)UI_ButtonModle1.Create(comp.GetChild("btnMain"));
+            m_btnHaiZhiShi = (UI_ButtonModleEffect)UI_ButtonModleEffect.Create(comp.GetChild("btnHaiZhiShi"));
+            m_btnMain = (UI_ButtonModleEffect)UI_ButtonModleEffect.Create(comp.GetChild("btnMain"));
             m_AllUI = (GGroup)comp.GetChild("AllUI");
             m_touchMask = (GGraph)comp.GetChild("touchMask");
             m_openViewAction = comp.GetTransition("openViewAction");
@@ -142,8 +144,6 @@ namespace UI.Main
             m_list = null;
             m_btnChange.Dispose();
             m_btnChange = null;
-            m_btnActivityLuckyBox.Dispose();
-            m_btnActivityLuckyBox = null;
             m_btnActivityAfuGift.Dispose();
             m_btnActivityAfuGift = null;
             m_btnWanShiLi.Dispose();
@@ -152,6 +152,10 @@ namespace UI.Main
             m_btnTea = null;
             m_btnOpenServerActivity.Dispose();
             m_btnOpenServerActivity = null;
+            m_btnActivityLuckyBox.Dispose();
+            m_btnActivityLuckyBox = null;
+            m_btnActivityZCJB.Dispose();
+            m_btnActivityZCJB = null;
             m_serverTime = null;
             m_loaGuidestudio = null;
             m_comListAd.Dispose();

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

@@ -20,11 +20,20 @@ namespace UI.Main
         public GTextField m_txtChapterName2;
         public GTextField m_txtChapterName3;
         public GTextField m_txtChapterName4;
+        public GGroup m_selectChapter;
         public UI_CompBonusBox m_bonusBox3;
         public UI_CompBonusBox m_bonusBox2;
         public UI_CompBonusBox m_bonusBox1;
         public GTextField m_txtStarCount;
+        public GGroup m_bonusBox;
         public GLoader m_switchChapter;
+        public GTextField m_ZCJBTimeText;
+        public GGroup m_ActivityZCJB;
+        public GLoader m_suitBg;
+        public GTextField m_suitText;
+        public GLoader m_suitIcon;
+        public GTextField m_suitNum;
+        public GGroup m_targetSuit;
         public Transition m_t0;
         public const string URL = "ui://mfvz4q8km7n51u";
         public const string PACKAGE_NAME = "Main";
@@ -86,11 +95,20 @@ namespace UI.Main
             m_txtChapterName2 = (GTextField)comp.GetChild("txtChapterName2");
             m_txtChapterName3 = (GTextField)comp.GetChild("txtChapterName3");
             m_txtChapterName4 = (GTextField)comp.GetChild("txtChapterName4");
+            m_selectChapter = (GGroup)comp.GetChild("selectChapter");
             m_bonusBox3 = (UI_CompBonusBox)UI_CompBonusBox.Create(comp.GetChild("bonusBox3"));
             m_bonusBox2 = (UI_CompBonusBox)UI_CompBonusBox.Create(comp.GetChild("bonusBox2"));
             m_bonusBox1 = (UI_CompBonusBox)UI_CompBonusBox.Create(comp.GetChild("bonusBox1"));
             m_txtStarCount = (GTextField)comp.GetChild("txtStarCount");
+            m_bonusBox = (GGroup)comp.GetChild("bonusBox");
             m_switchChapter = (GLoader)comp.GetChild("switchChapter");
+            m_ZCJBTimeText = (GTextField)comp.GetChild("ZCJBTimeText");
+            m_ActivityZCJB = (GGroup)comp.GetChild("ActivityZCJB");
+            m_suitBg = (GLoader)comp.GetChild("suitBg");
+            m_suitText = (GTextField)comp.GetChild("suitText");
+            m_suitIcon = (GLoader)comp.GetChild("suitIcon");
+            m_suitNum = (GTextField)comp.GetChild("suitNum");
+            m_targetSuit = (GGroup)comp.GetChild("targetSuit");
             m_t0 = comp.GetTransition("t0");
         }
         public void Dispose(bool disposeTarget = false)
@@ -109,6 +127,7 @@ namespace UI.Main
             m_txtChapterName2 = null;
             m_txtChapterName3 = null;
             m_txtChapterName4 = null;
+            m_selectChapter = null;
             m_bonusBox3.Dispose();
             m_bonusBox3 = null;
             m_bonusBox2.Dispose();
@@ -116,7 +135,15 @@ namespace UI.Main
             m_bonusBox1.Dispose();
             m_bonusBox1 = null;
             m_txtStarCount = null;
+            m_bonusBox = null;
             m_switchChapter = null;
+            m_ZCJBTimeText = null;
+            m_ActivityZCJB = null;
+            m_suitBg = null;
+            m_suitText = null;
+            m_suitIcon = null;
+            m_suitNum = null;
+            m_targetSuit = null;
             m_t0 = null;
             if(disposeTarget && target != null)
             {

+ 30 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/PopWindow/UI_ExchangeGoodsUI.cs

@@ -9,6 +9,16 @@ namespace UI.PopWindow
         public GComponent target;
         public GGraph m_holderLeftTop;
         public GGraph m_holderRightDowm;
+        public GComponent m_itemSkill;
+        public GList m_listConsume;
+        public GButton m_btnCancel;
+        public GButton m_btnUse;
+        public GTextField m_txtHasNum;
+        public GButton m_btnAdd;
+        public GButton m_btnReduce;
+        public GButton m_btnAllChoose;
+        public GSlider m_slideUpLevel;
+        public GTextField m_txtChooseLevel;
         public const string URL = "ui://i9tn319dnzuq0";
         public const string PACKAGE_NAME = "PopWindow";
         public const string RES_NAME = "ExchangeGoodsUI";
@@ -58,11 +68,31 @@ namespace UI.PopWindow
         {
             m_holderLeftTop = (GGraph)comp.GetChild("holderLeftTop");
             m_holderRightDowm = (GGraph)comp.GetChild("holderRightDowm");
+            m_itemSkill = (GComponent)comp.GetChild("itemSkill");
+            m_listConsume = (GList)comp.GetChild("listConsume");
+            m_btnCancel = (GButton)comp.GetChild("btnCancel");
+            m_btnUse = (GButton)comp.GetChild("btnUse");
+            m_txtHasNum = (GTextField)comp.GetChild("txtHasNum");
+            m_btnAdd = (GButton)comp.GetChild("btnAdd");
+            m_btnReduce = (GButton)comp.GetChild("btnReduce");
+            m_btnAllChoose = (GButton)comp.GetChild("btnAllChoose");
+            m_slideUpLevel = (GSlider)comp.GetChild("slideUpLevel");
+            m_txtChooseLevel = (GTextField)comp.GetChild("txtChooseLevel");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_holderLeftTop = null;
             m_holderRightDowm = null;
+            m_itemSkill = null;
+            m_listConsume = null;
+            m_btnCancel = null;
+            m_btnUse = null;
+            m_txtHasNum = null;
+            m_btnAdd = null;
+            m_btnReduce = null;
+            m_btnAllChoose = null;
+            m_slideUpLevel = null;
+            m_txtChooseLevel = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 71 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_StoreMonthList.cs

@@ -0,0 +1,71 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.Store
+{
+    public partial class UI_StoreMonthList
+    {
+        public GComponent target;
+        public GList m_list;
+        public const string URL = "ui://p9mtgheobdp4te8";
+        public const string PACKAGE_NAME = "Store";
+        public const string RES_NAME = "StoreMonthList";
+        private static UI_StoreMonthList _proxy;
+
+        public static UI_StoreMonthList Create(GObject gObject = null)
+        {
+            var ui = new UI_StoreMonthList();
+            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_StoreMonthList Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_StoreMonthList();
+            }
+            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_list = (GList)comp.GetChild("list");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_list = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

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

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

+ 4 - 3
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_StoreMonthUI.cs

@@ -22,7 +22,7 @@ namespace UI.Store
         public GTextField m_txtTime;
         public GButton m_btnGet;
         public GTextField m_txtGiftBag;
-        public GList m_list;
+        public UI_StoreMonthList m_storeMonthList;
         public GButton m_btnBlackReward;
         public GGraph m_holderfEff;
         public const string URL = "ui://p9mtgheoqik1tc0";
@@ -87,7 +87,7 @@ namespace UI.Store
             m_txtTime = (GTextField)comp.GetChild("txtTime");
             m_btnGet = (GButton)comp.GetChild("btnGet");
             m_txtGiftBag = (GTextField)comp.GetChild("txtGiftBag");
-            m_list = (GList)comp.GetChild("list");
+            m_storeMonthList = (UI_StoreMonthList)UI_StoreMonthList.Create(comp.GetChild("storeMonthList"));
             m_btnBlackReward = (GButton)comp.GetChild("btnBlackReward");
             m_holderfEff = (GGraph)comp.GetChild("holderfEff");
         }
@@ -109,7 +109,8 @@ namespace UI.Store
             m_txtTime = null;
             m_btnGet = null;
             m_txtGiftBag = null;
-            m_list = null;
+            m_storeMonthList.Dispose();
+            m_storeMonthList = null;
             m_btnBlackReward = null;
             m_holderfEff = null;
             if(disposeTarget && target != null)

+ 1 - 1
GameClient/Assets/Game/HotUpdate/GameConfig.cs

@@ -31,7 +31,7 @@ namespace GFGGame
             var result = JsonMapper.ToObject<Result>(json);
             LoginAddress = result.loginApiUrl;
             // LoginAddress = "http://login.gfg.com:10005";
-            //LoginAddress = "127.0.0.1:10005";//测试地址
+            //LoginAddress = "10.108.64.100:10005";//测试地址
             showGM = int.Parse(result.showGM);
             if(!string.IsNullOrEmpty(result.openTime))
             {

+ 43 - 1
GameClient/Assets/Game/HotUpdate/HotUpdateDriver.cs

@@ -1,5 +1,7 @@
-using UniFramework.Pooling;
+using System.Collections;
+using UniFramework.Pooling;
 using UnityEngine;
+using YooAsset;
 
 namespace GFGGame
 {
@@ -43,5 +45,45 @@ namespace GFGGame
             }
         }
 
+        private float pauseTime;
+
+        private void OnApplicationPause(bool pause)
+        {
+            if(pause)
+            {
+                pauseTime = Time.realtimeSinceStartup;
+            }
+            else
+            {
+                if(Time.realtimeSinceStartup - pauseTime > 300 || LauncherConfig.netType == LauncherConfig.EnumNetType.LOCAL)
+                {
+                    StartCoroutine(CheckVersion(VersionController.DefaultPackage));
+                }
+            }
+        }
+
+        private IEnumerator CheckVersion(string packageName)
+        {
+            var package = YooAssets.GetPackage(packageName);
+            string oldVersion = package.GetPackageVersion();
+            var operation = package.UpdatePackageVersionAsync();
+            yield return operation;
+
+            if (operation.Status == EOperationStatus.Succeed)
+            {
+                VersionController.Instance.PackageVersion = operation.PackageVersion;
+                LogUtil.LogDev($"版本对比: {oldVersion} {operation.PackageVersion}");
+                if(!operation.PackageVersion.Equals(oldVersion))
+                {
+                    AlertSystem.Show("游戏已有更新,您可以立即重启游戏获取最佳游戏体验,也可以稍后重启更新。")
+                        .SetLeftButton(true, "稍后更新")
+                        .SetRightButton(true, "重启游戏", (obj)=> 
+                        {
+                            Application.Quit();
+                        });
+                }
+            }
+        }
+
     }
 }

+ 32 - 0
GameClient/Assets/Game/HotUpdate/ServerProxy/ActivitySProxy.cs

@@ -243,6 +243,38 @@ namespace GFGGame
             }
             return false;
         }
+
+        //招财进宝活动
+        public static async ETTask<bool> ReqActivityZCJBInfo(int id = 5006)
+        {
+            S2C_GetDressRewrdStatusList response = null;
+            response = (S2C_GetDressRewrdStatusList)await MessageHelper.SendToServer(new C2S_GetDressRewrdStatusList() { ActivityId = id });
+            if (response != null)
+            {
+                if (response.Error == ErrorCode.ERR_Success)
+                {
+                   ActivityDataManager.Instance.ActivityZCJBList = response.RewrdIds;
+                    return true;
+                }
+            }
+            return false;
+        }
+        public static async ETTask<bool> ReqActivityZCJBReward(int id,int rewardId)
+        {
+            S2C_GetDressRewrd response = null;
+            response = (S2C_GetDressRewrd)await MessageHelper.SendToServer(new C2S_GetDressRewrd() { ActivityId = id ,RewrdId = rewardId});
+            if (response != null)
+            {
+                if (response.Error == ErrorCode.ERR_Success)
+                {
+                    ActivityDataManager.Instance.ActivityZCJBList = response.RewrdIds;
+                    BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.BonusList));
+                    return true;
+                }
+            }
+            return false;
+        }
+
     }
 }
 

+ 4 - 0
GameClient/Assets/Game/HotUpdate/ServerProxy/ActivityTeaSProxy.cs

@@ -17,6 +17,10 @@ namespace GFGGame
     {
         public static async ETTask<bool> ReqGetNPCVisitInfo(int id = 5004)
         {
+            if(!ActivityTeaDataManager.Instance.CheckOpen())
+            {
+                return false;
+            }
             var response = (S2C_GetNpcVisits) await MessageHelper.SendToServer(new C2S_GetNpcVisits { ActivityId = id });
             if (!(response is { Error: ErrorCode.ERR_Success })) return false;
             ActivityTeaDataManager.Instance.NpcInfoList = response.NpcVisits;

+ 1 - 9
GameClient/Assets/Game/HotUpdate/ServerProxy/ChatSProxy.cs

@@ -12,16 +12,8 @@ namespace ET
             chatData.Type = message.Type;
             chatData.RoleInfo = RoleDataManager.GetOtherRoleInfoData(message.RoleInfo);
             chatData.TargetId = chatData.RoleInfo.roleId;
-            string content = "";
-            for (int i = 0; i < message.Content.Length; i++)
-            {
-                string str = i > 0 && (i + 1) % 12 == 0 ? message.Content[i] + "\n" : message.Content[i].ToString();
-                content += str;
-            }
-            chatData.Content = content;
-
+            chatData.Content = message.Content;
             chatData.Time = message.Time;
-
             if (chatData.Type == ChatType.Private)
             {
                 ChatDataManager.Instance.GetChatDatas(chatData.TargetId).Add(chatData);

+ 13 - 0
GameClient/Assets/Game/HotUpdate/ServerProxy/FriendSProxy.cs

@@ -1,5 +1,6 @@
 using GFGGame;
 using ET;
+using System.Collections.Generic;
 
 namespace ET
 {
@@ -24,6 +25,18 @@ namespace ET
             roleInfo.roleLv = message.RoleInfo.RoleLvl;
             roleInfo.roleName = message.RoleInfo.RoleName;
             roleInfo.offlineTimeSec = message.RoleInfo.OfflineTimeSec;
+            roleInfo.headId = message.RoleInfo.HeadItemId;
+            roleInfo.headBorderId = message.RoleInfo.HeadBorderItemId;
+            roleInfo.leagueName = message.RoleInfo.LeagueName;
+            roleInfo.itemList = new List<int>();
+            for(int i=0;i< message.RoleInfo.ItemList.Count; i++)
+            {
+                roleInfo.itemList.Add(message.RoleInfo.ItemList[i]);
+            }
+            roleInfo.suitCollect = message.RoleInfo.SuitCollect;
+            roleInfo.cardCollect = message.RoleInfo.CardCollect;
+            roleInfo.achievementTaskCollect = message.RoleInfo.AchievementTaskCollect;
+            roleInfo.roleExp = message.RoleInfo.RoleExp;
 
             FriendDataManager.Instance.ChangeFriendInfo(roleInfo);
             EventAgent.DispatchEvent(ConstMessage.FRIEND_REFRESH);

+ 11 - 1
GameClient/Assets/Game/HotUpdate/ServerProxy/LuckyBoxSProxy.cs

@@ -41,12 +41,22 @@ namespace GFGGame
                     ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(response.ActivityId);
                     if (activityOpenCfg != null && activityOpenCfg.paramsArr[0] == luckyBoxId)
                     {
+                        
                         var activityCfg = ActivityOpenCfgArray.Instance.GetCfg(response.ActivityId);
                         if (activityCfg.type == ConstLimitTimeActivityType.ActLimitLuckyBox)
                             ActivityDataManager.Instance.allPlayTimes += response.Times;
-                        else if(activityCfg.type == ConstLimitTimeActivityType.ActLimitTsy)
+                        else if (activityCfg.type == ConstLimitTimeActivityType.ActLimitTsy)
                             ActivityDataManager.Instance.allTsyPlayTimes += response.Times;
+                        else if (activityCfg.type == ConstLimitTimeActivityType.ActLimitStlyc)
+                        {
+                            if (ActivityDataManager.Instance.allLimitStlycTimes < 20 && (ActivityDataManager.Instance.allLimitStlycTimes + response.Times) >= 20)
+                            {
+                                LuckyBoxDataManager.Instance.OPEN_LUCKY_DISCONT = true;
+                            }
+                            ActivityDataManager.Instance.allLimitStlycTimes += response.Times;
+                        }
                     }
+
                     LuckyBoxDataManager.Instance.times = response.Times;
                     // LuckyBoxDataManager.Instance.luckyBoxIndex = response.LuckyBoxId;
                     LuckyBoxDataManager.Instance.RewardList = ItemUtil.CreateItemDataList(response.bonusList);

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

@@ -28,6 +28,17 @@ namespace GFGGame
 
         public static async ETTask<bool> ReqGetChallengeReward(int activityId = 1)
         {
+            bool isOpen = ActivityDataManager.Instance.GetCurOpenActiveByType(ConstLimitTimeActivityType.ActLimitStlyc) > 0;
+            if (!isOpen)
+            {
+                return false;
+            }
+            
+            return await ReqGetActivityGameInfos(activityId);
+        }
+
+        public static async ETTask<bool> ReqGetActivityGameInfos(int activityId = 1)
+        {
             var response = (S2C_GetActivityGameInfos)await MessageHelper.SendToServer(new C2S_GetActivityGameInfos { ActivityId = activityId });
             if (!(response is { Error: ErrorCode.ERR_Success })) return false;
             MiniGameDateManager.Instance.gameinfoList = response.GameInfoList;

+ 15 - 6
GameClient/Assets/Game/HotUpdate/ServerProxy/QueueSProxy.cs

@@ -6,10 +6,14 @@ namespace GFGGame
     {
         protected override async ETTask Run(Session session, G2C_UpdateQueue message)
         {
-            Log.Debug(JsonHelper.ToJson(message));
-            QueueDataManager.Instance.UpQueueData(message.Index, message.Count);
-            EventAgent.DispatchEvent(ConstMessage.UPDATE_QUEUE);
-            await ETTask.CompletedTask;
+            if(message.Index > 1)
+            {
+                AlertSystem.Show($"您前面还有{message.Index}位玩家", "当前服务器爆满,正在为您排队")
+                    .SetLeftButton(true, "取消", (obj) => {
+                        QueueSProxy.ReqSevenCancelQueue().Coroutine();
+                    });
+                await ETTask.CompletedTask;
+            }
         }
     }
 
@@ -19,10 +23,15 @@ namespace GFGGame
         /// 请求服务端取消排队
         /// </summary>
         /// <returns></returns>
-        public static async ETTask<bool> ReqSevenCancelQueue()
+        public static async ETTask ReqSevenCancelQueue()
         {
             var response = (G2C_CancelQueue)await MessageHelper.SendToServer(new C2G_CancelQueue());
-            return response is { Error: ErrorCode.ERR_Success };
+            if(response.Error == ErrorCode.ERR_Success)
+            {
+                ViewManager.Hide<ModalStatusView>();
+                GameGlobal.zoneScene.GetComponent<ObjectWait>().Notify(new ET.WaitType.Wait_SceneChangeStart() { Error = WaitTypeError.Cancel});
+                GameController.QuitToLoginView(false);
+            }
         }
     }
 }

+ 48 - 19
GameClient/Assets/Game/HotUpdate/UGUI/UICGView.cs

@@ -4,7 +4,6 @@ using UnityEngine.Video;
 using YooAsset;
 using GFGGame.Launcher;
 using System.Collections;
-using System;
 
 namespace GFGGame
 {
@@ -16,7 +15,9 @@ namespace GFGGame
         private AssetOperationHandle handle;
         private RawFileOperationHandle videoHandle;
         private RawImage imgVideo;
-        private Button btnFullScreen;
+        private Button BtnFullScreen;
+        private Button BtnSkipVertical;
+        private Button BtnSkipHorizontal;
         private VideoPlayer videoPlayer;
 
         public void Show()
@@ -32,13 +33,26 @@ namespace GFGGame
             imgVideo.rectTransform.sizeDelta = imgVideoSizeDelta;
             
 
-            btnFullScreen = _ui.transform.Find("BtnFullScreen").GetComponent<Button>();
-            RectTransform rectTransform = btnFullScreen.GetComponent<RectTransform>();
-            Vector2 buttonSizeDelta = rectTransform.sizeDelta;
-            Vector2 anchoredPosition = rectTransform.anchoredPosition;
+            BtnFullScreen = _ui.transform.Find("BtnFullScreen").GetComponent<Button>();
+            RectTransform rectbtnFullScreen = BtnFullScreen.GetComponent<RectTransform>();
+            Vector2 buttonSizeDelta = rectbtnFullScreen.sizeDelta;
+            Vector2 anchoredPosition = rectbtnFullScreen.anchoredPosition;
             anchoredPosition.y = -imgVideoSizeDelta.y / 2 - buttonSizeDelta.y;
-            rectTransform.anchoredPosition = anchoredPosition;
-            btnFullScreen.onClick.AddListener(OnClickBtnFullScreen);
+            rectbtnFullScreen.anchoredPosition = anchoredPosition;
+            BtnFullScreen.onClick.AddListener(OnClickBtnFullScreen);
+
+
+            BtnSkipVertical = _ui.transform.Find("BtnSkipVertical").GetComponent<Button>();
+            RectTransform rectBtnSkipVertical = BtnSkipVertical.GetComponent<RectTransform>();
+            anchoredPosition = rectBtnSkipVertical.anchoredPosition;
+            anchoredPosition.y = rectbtnFullScreen.anchoredPosition.y;
+            rectBtnSkipVertical.anchoredPosition = anchoredPosition;
+            BtnSkipVertical.onClick.AddListener(OnClickrectBtnSkip);
+
+
+            BtnSkipHorizontal = _ui.transform.Find("BtnSkipHorizontal").GetComponent<Button>();
+            BtnSkipHorizontal.gameObject.SetActive(false);
+            BtnSkipHorizontal.onClick.AddListener(OnClickrectBtnSkip);
 
             videoPlayer = _ui.transform.Find("VideoPlayer").GetComponent<VideoPlayer>();
             videoPlayer.loopPointReached += OnVideoEnded;
@@ -55,23 +69,25 @@ namespace GFGGame
         private void OnVideoPrepared(VideoPlayer source)
         {
             videoPlayer.prepareCompleted -= OnVideoPrepared;
-            StartCoroutine(FadeButtonOverTime());
+            StartCoroutine(FadeButtonOverTime(BtnFullScreen));
+            StartCoroutine(FadeButtonOverTime(BtnSkipVertical));
+            StartCoroutine(FadeButtonOverTime(BtnSkipHorizontal));
         }
 
-        IEnumerator FadeButtonOverTime()
+        IEnumerator FadeButtonOverTime(Button btn)
         {
-            Image buttonImage = btnFullScreen.GetComponent<Image>();
-            Text buttonText = btnFullScreen.GetComponentInChildren<Text>();
+            Image buttonImage = btn.GetComponent<Image>();
+            //Image img = btn.GetComponentInChildren<Image>();
             yield return new WaitForSeconds((float)videoPlayer.length - 3f);
             if (buttonImage != null)
             {
                 // 获取初始颜色
                 Color startColor = buttonImage.color;
-                Color startColorText = buttonText.color;
+                //Color startColorText = img.color;
 
                 // 目标颜色,透明度设为 0
                 Color targetColor = new Color(startColor.r, startColor.g, startColor.b, 0f);
-                Color targetColorText = new Color(startColorText.r, startColorText.g, startColorText.b, 0f);
+                //Color targetColorText = new Color(startColorText.r, startColorText.g, startColorText.b, 0f);
 
                 float fadeDuration = 1f;
                 // 记录开始时间
@@ -82,26 +98,31 @@ namespace GFGGame
                     // 在一定时间内逐渐插值颜色
                     float t = (Time.time - startTime) / fadeDuration;
                     buttonImage.color = Color.Lerp(startColor, targetColor, t);
-                    buttonText.color = Color.Lerp(startColorText, targetColorText, t);
+                    //img.color = Color.Lerp(startColorText, targetColorText, t);
                     yield return null; // 等待下一帧
                 }
 
                 // 设置最终颜色,确保透明度为 0
                 buttonImage.color = targetColor;
-                buttonText.color = targetColorText;
+                //img.color = targetColorText;
             }
         }
 
         private void OnVideoEnded(VideoPlayer source)
         {
-            videoPlayer.loopPointReached -= OnVideoEnded;
             this.Hide();
-            StoryController.ShowLevelView(100001001);
+        }
+
+        private void OnClickrectBtnSkip()
+        {
+            Hide();
         }
 
         private void OnClickBtnFullScreen()
         {
-            btnFullScreen.gameObject.SetActive(false);
+            BtnSkipVertical.gameObject.SetActive(false);
+            BtnSkipHorizontal.gameObject.SetActive(true);
+            BtnFullScreen.gameObject.SetActive(false);
             imgVideo.rectTransform.localRotation = Quaternion.Euler(0, 0, -90);
             Vector2 imgVideoSizeDelta = imgVideo.rectTransform.sizeDelta;
             imgVideoSizeDelta.y = Screen.width;
@@ -112,16 +133,24 @@ namespace GFGGame
                 videoPlayer.Stop();
                 videoPlayer.Play();
             }
+            RectTransform rectBtnSkipVertical = BtnSkipHorizontal.GetComponent<RectTransform>();
+            Vector2 anchoredPosition = rectBtnSkipVertical.anchoredPosition;
+            anchoredPosition.y = (Screen.height - imgVideoSizeDelta.x)/2 + rectBtnSkipVertical.sizeDelta.x/2;
+            rectBtnSkipVertical.anchoredPosition = anchoredPosition;
         }
 
         public void Hide()
         {
+            StopAllCoroutines();
+            videoPlayer.Stop();
+            videoPlayer.loopPointReached -= OnVideoEnded;
             handle.Release();
             handle = null;
             videoHandle.Release();
             videoHandle = null;
             GameObject.Destroy(_ui);
             _ui = null;
+            StoryController.ShowLevelView(100001001);
         }
     }
 }

+ 9 - 0
GameClient/Assets/Game/HotUpdate/Utils/ResPathUtil.cs

@@ -99,6 +99,10 @@ namespace GFGGame
         {
             return $"{TEXTURE_DIR_PATH}/Npc/PicF/{res}.{extName}";
         }
+        public static string GetNpcPicFacePath(string res, string extName = "png")
+        {
+            return $"{TEXTURE_DIR_PATH}/Npc/Face/{res}.{extName}";
+        }
         public static string GetPhotographBorderPath(string res, string extName = "png")
         {
             return $"{TEXTURE_DIR_PATH}/Photograph/border/{res}.{extName}";
@@ -189,6 +193,11 @@ namespace GFGGame
 
         public static string GetDressUpLayerEffectResPath(ItemCfg itemCfg, int layerId, bool inAniDir)
         {
+            if(DressUpMenuItemCfg1Array.Instance.CheckIsSceneType(itemCfg.id))
+            {
+                //场景类型的物品特效都不分动画和静态
+                inAniDir = false;
+            }
             string res = GetDressUpLayerResName(itemCfg, layerId);
             return GetDressUpEffectPath(res, inAniDir);
         }

+ 3 - 3
GameClient/Assets/Game/HotUpdate/Utils/StoryUtil.cs

@@ -108,13 +108,13 @@ namespace GFGGame
                     {
                         obj.visible = i <= starCount;
                         
-                        if (currentIndex == 0)
+                        if (currentIndex == 1)
                         {
-                            (obj as GLoader).url = "ui://Main/tb_zx_pt_star";
+                            (obj as GLoader).url = "ui://Main/tb_zx_jy_star";
                         }
                         else
                         {
-                            (obj as GLoader).url = "ui://Main/tb_zx_jy_star";
+                            (obj as GLoader).url = "ui://Main/tb_zx_pt_star";
                         }
                     }
                 }

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/ActivityDay7/ActivityDay7View.cs

@@ -45,7 +45,7 @@ namespace GFGGame
 
             bringToFontOnClick = false;
             _ui.m_btnBack.onClick.Add(OnBtnBackClick);
-            _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("qrhd_banner_yxzy");
+            //_ui.m_loaBg.url = ResPathUtil.GetBgImgPath("qrhd_banner_yxzy");
             _ui.m_DayList.itemRenderer = DayListRenderer;
             _ui.m_comTaskList.m_TaskList.itemRenderer = TaskListRenderer;
             _ui.m_tip.onClick.Add(RuleController.ShowRuleView);

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/ActivityHuaRongDao/ActivityHuaRongDaoEntryView.cs

@@ -195,7 +195,7 @@ namespace GFGGame
 
         private async Task<int> GetCurLevel(int id)
         {
-            var result = await MiniGameProxy.ReqGetChallengeReward(id);
+            var result = await MiniGameProxy.ReqGetActivityGameInfos(id);
             if (!result)
             {
                 return -1;

+ 6 - 4
GameClient/Assets/Game/HotUpdate/Views/ActivityMainTips/ActivityMainTipsView.cs

@@ -43,6 +43,7 @@ namespace GFGGame
             _ui.m_t4.Play();
             if (GameGlobal.myNumericComponent.GetAsInt(NumericType.IsPropYchmActivity) == 0)
             {
+                ActivityDataManager.Instance.todayActivityTips = GameGlobal.myNumericComponent.GetAsInt(NumericType.IsPropYchmActivity);
                 _ui.m_notTips.url = "ui://ActivityMain/ts_jrbzts";
             }
             UpdateInfo();
@@ -74,7 +75,6 @@ namespace GFGGame
                 return;
             }
             long curTime = TimeHelper.ServerNow();
-            _ui.m_activityTime.text = string.Format("剩余{0}", TimeUtil.FormattingTimeTo_DDHHmm(endTime - curTime));
             _ui.m_icon.url = ResPathUtil.GetActivityPath(showActivity[0].ActivityNotice,"png");
             _ui.m_activityDesc.visible = false;
         }
@@ -140,7 +140,7 @@ namespace GFGGame
         }
         private void OnClickTips()
         {
-            if(GameGlobal.myNumericComponent.GetAsInt(NumericType.IsPropYchmActivity) == 0)
+            if(ActivityDataManager.Instance.todayActivityTips == 0)
             {
                 _ui.m_notTips.url = "ui://ActivityMain/jrbzts_off";
                 ActivityDataManager.Instance.todayActivityTips = 1;
@@ -169,13 +169,15 @@ namespace GFGGame
             {
                 jumpIndex = adCfg.jumpParamArr[0];
             }
+            if (adCfg.jumpId == nameof(ClothingSyntheticView))
+            {
+                param = new object[] { adCfg.jumpParamArr[0] };
+            }
 
             if (jumpIndex != 0)
                 ViewManager.Show($"GFGGame.{adCfg.jumpId}", jumpIndex);
             else
                 ViewManager.Show($"GFGGame.{adCfg.jumpId}", param);
         }
-
-
     }
 }

+ 382 - 0
GameClient/Assets/Game/HotUpdate/Views/ActivityMainTips/ActivityZCJBChapterView.cs

@@ -0,0 +1,382 @@
+using FairyGUI;
+using UI.CommonGame;
+using UI.Main;
+using System.Collections.Generic;
+using UnityEngine;
+using System.Collections;
+using ET;
+
+namespace GFGGame
+{
+    public class ActivityZCJBChapterView : BaseWindow
+    {
+        private UI_StoryChapterUI _ui;
+        private int _chapterID;
+        private GComponent _compChapter;
+        private ValueBarController _valueBarController;
+        private GObject _unPasslevelItem;
+        private GObject _endLevelItem;
+        private EffectUI _effectUI1;
+        private EffectUI _effectUI2;
+        private EffectUI _effectUI3;
+        private EffectUI _effectUI4;
+        private GComponent _comEff;
+        private GComponent _effFirst;
+
+        //y轴移动索引
+        private float indexY;
+        private GameObject gamey;
+        //特效类型数组,这里后面可以二维数组,放向左和向右的
+        private string[] effArray = new string[2] { "ZJ_JuQing", "ZJ_ZD" };
+
+        private int currentDifficulty;
+        public override void Dispose()
+        {
+            EffectUIPool.Recycle(_effectUI1);
+            _effectUI1 = null;
+            EffectUIPool.Recycle(_effectUI2);
+            _effectUI2 = null;
+            EffectUIPool.Recycle(_effectUI3);
+            _effectUI3 = null;
+            EffectUIPool.Recycle(_effectUI4);
+            _effectUI4 = null;
+            if (_comEff != null)
+            {
+                _comEff.RemoveFromParent();
+                _comEff.Dispose();
+            }
+            if (_effFirst != null)
+            {
+                _effFirst.RemoveFromParent();
+                _effFirst.Dispose();
+            }
+            if (_valueBarController != null)
+            {
+                _valueBarController.Dispose();
+                _valueBarController = null;
+            }
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
+            base.Dispose();
+        }
+
+        protected override void Init()
+        {
+            base.Init();
+            _ui = UI_StoryChapterUI.Create();
+            viewCom = _ui.target;
+            isfullScreen = true;
+            isReturnView = true;
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+
+            _valueBarController = new ValueBarController(_ui.m_valueBar);
+            _ui.m_btnBack.onClick.Add(OnClickBtnBack);
+            _ui.m_btnHome.onClick.Add(OnClickBtnHome);
+            _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("zcjb_gkbj");
+
+            //_comEff = new GComponent();
+            //_comEff = UIPackage.CreateObject(UI_MainUI.PACKAGE_NAME, "ComEff").asCom;
+            //_effectUI1 = EffectUIPool.CreateEffectUI(_comEff.GetChild("holder").asGraph, "ui_gk", "ui_gk_sg");
+
+            _effFirst = new GComponent();
+            _effFirst = UIPackage.CreateObject(UI_MainUI.PACKAGE_NAME, "ComEff").asCom;
+            _effectUI3 = EffectUIPool.CreateEffectUI(_ui.m_bgEffect, "ui_zj", "ZX_BG_TX");
+            _effectUI4 = EffectUIPool.CreateEffectUI(_ui.m_chapter.m_compChapterScroll.m_nextEffect, "ui_zj", "ZX_Next_Boat");
+
+        }
+        protected override void AddEventListener()
+        {
+            
+        }
+        protected override void OnShown()
+        {
+            base.OnShown();
+            _ui.target.touchable = false;
+            SuitFosterProxy.SendGetSuitInfos().Coroutine();
+            MusicManager.Instance.PlayCroutine(ResPathUtil.GetMusicPath(ConstMusicName.DEFAULT));
+            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;
+
+            //由于这里会切换特效,所以切换界面时进行清空
+            EffectUIPool.Recycle(_effectUI2);
+            _effectUI2 = null;
+            if (_effFirst != null)
+            {
+                _effFirst.RemoveFromParent();
+            }
+
+            ActivityFightCfg chapterCfg = ActivityFightCfgArray.Instance.GetCfg(_chapterID);
+            indexY = 111.0f * Mathf.Max(0, (float)StoryLevelCfgArray.Instance.GetCfgsBytypeAndsubTypeAndchapterId(chapterCfg.type, chapterCfg.subType, chapterCfg.id).Count - 5);
+            gamey = GameObject.Find("Stage/GRoot/Window - StoryChapterUI/ContentPane/CompChapter/Container/Container");
+            _ui.m_chapter.m_compChapterScroll.m_imgBegin.visible = false;
+            _ui.m_chapter.m_compChapterScroll.m_nextEffect.visible = false;
+            _ui.m_targetSuit.visible = false;
+
+            Timers.inst.StartCoroutine(InitChapter());
+
+            //Timers.inst.Add(0.2f, 1, SetContainerY);
+            _ui.m_chapter.m_compChapterScroll.target.y = 1;
+
+            _valueBarController.OnShown();
+
+                UI_ComponentValueBar valueBar = UI_ComponentValueBar.Proxy(_ui.m_valueBar);
+                valueBar.m_c1.selectedIndex = 12;
+                UI_ComponentValueBar.ProxyEnd();
+                _valueBarController.UpdateList(new List<int>() { 3000023, ConstItemID.DIAMOND_PURPLE, ConstItemID.DIAMOND_RED });
+                _ui.m_selectChapter.visible = false;
+                _ui.m_switchChapter.visible = false;
+                _ui.m_bonusBox.visible = false;
+                _ui.m_ActivityZCJB.visible = true;
+                long timeActivity = ActivityGlobalDataManager.Instance.GetActivityInfoOneByType(17).EndTime - TimeHelper.ServerNow();
+                _ui.m_ZCJBTimeText.text = "剩余时间:" + (timeActivity > TimeUtil.SECOND_PER_DAY * 1000 ? TimeUtil.FormattingTimeTo_DDHHmm(timeActivity) : TimeUtil.FormattingTimeTo_HHmmss(timeActivity));
+                Timers.inst.Add(60.0f, 0, UpdateActivityTime);
+            //
+            _ui.m_t0.SetHook("canHit", () => { _ui.target.touchable = true; });
+            _ui.m_t0.Play();
+
+
+        }
+
+        protected override void OnHide()
+        {
+            base.OnHide();
+            _unPasslevelItem = null;
+            _endLevelItem = null;
+            // _ui.m_chapter.RemoveChildren(0, 0, true);
+            GRoot.inst.touchable = true;
+            _valueBarController.OnHide();
+            Timers.inst.Remove(SetContainerY);
+            Timers.inst.Remove(UpdateActivityTime);
+        }
+
+        protected override void RemoveEventListener()
+        {
+            base.RemoveEventListener();
+            
+        }
+        private void OnClickBtnBack()
+        {
+            ViewManager.GoBackFrom(typeof(ActivityZCJBChapterView).FullName);
+            //GameController.GoBackToMainView();
+        }
+
+        private void OnClickBtnHome()
+        {
+            GameController.GoBackToMainView();
+        }
+
+        private IEnumerator InitChapter()
+        {
+            ActivityFightCfg chapterCfg = ActivityFightCfgArray.Instance.GetCfg(_chapterID);
+            var list = StoryLevelCfgArray.Instance.GetCfgsBytypeAndsubTypeAndchapterId(chapterCfg.type, chapterCfg.subType, chapterCfg.id);
+            int endLevel = 0;
+            int UnlockCount = 0;
+            _compChapter = _ui.m_chapter.m_compChapterScroll.target;
+            float starPosY = _ui.m_chapter.m_compChapterScroll.m_imgBegin.y;
+            int lineGap = 4500 / list.Count;
+
+            StoryLevelCfg lastLevelCfg = list[list.Count - 1];
+
+            //根据困难程度选择显示图片
+            currentDifficulty = chapterCfg.type;
+            if (currentDifficulty == 1)
+            {
+                _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("zcjb_gkbj");
+            }
+            else
+            {
+                currentDifficulty = 0;
+                _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("zcjb_gkbj");
+            }
+            //_comEff.visible = false;
+            //_effFirst.visible = false;
+            for (int i = 0; i < 20; i++)
+            {
+                GObject obj = _ui.m_chapter.m_compChapterScroll.target.GetChild("g" + (19 - i + 1));
+                obj.SetPosition(obj.x, starPosY - lineGap * i - 300, 0); ;
+                StoryLevelCfg levelCfg = i < list.Count ? list[i] : null;
+                UI_CompStoryLevelItem levelItem = UI_CompStoryLevelItem.Proxy(obj);
+                levelItem.m_fightBg.visible = true;
+                levelItem.m_loaDialogBg.visible = true;
+                if(levelCfg == null)
+                {
+                    levelItem.target.visible = false;
+                    continue;
+                }
+                if (i == 0 || InstanceZonesDataManager.CheckLevelPass(levelCfg.id - 1))
+                {
+                    UnlockCount++;
+                    levelItem.target.data = levelCfg;
+                    levelItem.target.visible = true;
+                    levelItem.target.onClick.Clear();
+                    levelItem.target.onClick.Add(OnListItemClick);
+                    string showId = "0-"+ (i+1);
+                    levelItem.m_txtFightOrder.text = showId;
+                    if (levelCfg.fightID.Length > 0)
+                    {
+                        levelItem.m_c1.selectedIndex = 1;
+                        int score = InstanceZonesDataManager.GetScoreHighest(levelCfg.id);
+                        if (score <= 0)
+                        {
+                            levelItem.m_flower.target.visible = false;
+                        }
+                        else
+                        {
+                            levelItem.m_flower.target.visible = true;
+                            int starCount = InstanceZonesDataManager.GetStarCountHistory(levelCfg.id);
+                            StoryUtil.UpdateStar(starCount, levelItem.m_flower.target, Mathf.Max(0, currentDifficulty));
+                        }
+                    }
+                    else
+                    {
+                        levelItem.m_c1.selectedIndex = 0;
+                        levelItem.m_flower.target.visible = false;
+                        levelItem.m_txtName.text = levelCfg.name;
+                        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_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_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))
+                    {
+                        //设置为解锁关卡
+                        MainStoryDataManager.currentLevelCfgId = levelCfg.id;
+                        _unPasslevelItem = levelItem.target;
+                        //levelItem.target.AddChild(_comEff);
+                        //_comEff.visible = true;
+
+                        //设置解锁特效
+                        string effName;
+                        if (currentDifficulty == 1)
+                        {
+                            effName = effArray[levelItem.m_c1.selectedIndex] + "_Bule";
+                        }
+                        else
+                        {
+                            effName = effArray[levelItem.m_c1.selectedIndex];
+                        }
+                        if (levelItem.m_c1.selectedIndex == 0)
+                        {
+                            if (levelItem.m_c2.selectedIndex == 0)
+                            {
+                                _effectUI2 = EffectUIPool.CreateEffectUI(_effFirst.GetChild("effect_jq_left").asGraph, "ui_zj", effName);
+                                _effFirst.GetChild("effect_jq_left").rotationY = 180;
+                            }
+                            else
+                            {
+                                _effectUI2 = EffectUIPool.CreateEffectUI(_effFirst.GetChild("effect_jq").asGraph, "ui_zj", effName);
+                                _effFirst.GetChild("effect_jq").rotationY = 0;
+                            }
+                        }
+                        else
+                        {
+                            _effectUI2 = EffectUIPool.CreateEffectUI(_effFirst.GetChild("effect_zd").asGraph, "ui_zj", effName);
+                            if (levelItem.m_c2.selectedIndex == 0)
+                            {
+                                _effFirst.GetChild("effect_zd").rotationY = 0;
+                            }
+                            else
+                            {
+                                _effFirst.GetChild("effect_zd").rotationY = 180;
+                            }
+                        }
+                        levelItem.target.AddChild(_effFirst);
+                        levelItem.m_fightBg.visible = false;
+                        levelItem.m_loaDialogBg.visible = false;
+                        levelItem.m_t0.Play();
+                        _effFirst.visible = true;
+                        //Timers.inst.Add(1.7f, 1, HideEffect, obj);
+                    }
+                    if (levelCfg.order > endLevel)
+                    {
+                        endLevel = levelCfg.order;
+                        _endLevelItem = levelItem.target;
+                    }
+                }
+                else
+                {
+                    levelItem.target.visible = false;
+                }
+                UI_CompStoryLevelItem.ProxyEnd();
+            }
+            yield return new WaitForEndOfFrame();
+
+            _ui.m_chapter.m_compChapterScroll.target.y = 0; //Mathf.Max(0, _ui.m_chapter.target.height - _ui.m_chapter.m_compChapterScroll.target.height);
+
+            if (gamey != null)
+                gamey.transform.position = new Vector3(0, indexY, 0);
+        }
+
+        private void SetContainerY(object param = null)
+        {
+            _ui.m_chapter.m_compChapterScroll.target.y = 1; //Mathf.Max(0, _ui.m_chapter.target.height - _ui.m_chapter.m_compChapterScroll.target.height - 1);
+        }
+
+        private void HideEffect(object param = null)
+        {
+            //_effFirst.visible = false;
+        }
+
+        private void OnListItemClick(EventContext context)
+        {
+            GObject obj = context.sender as GObject;
+            StoryLevelCfg storyLevelCfg = (StoryLevelCfg)obj.data;
+            MainStoryDataManager.currentLevelCfgId = storyLevelCfg.id;
+            InstanceZonesController.ShowLevelView(storyLevelCfg.id, StudioDataManager.Instance.OnFinishZCJBStoryLevel);
+        }
+
+        private void OnClickLevelItem(EventContext context)
+        {
+
+            UI_CompStoryLevelItem levelItem = UI_CompStoryLevelItem.Proxy(context.sender as GObject);
+            int levelCfgId = (int)levelItem.target.data;
+            UI_CompStoryLevelItem.ProxyEnd();
+            StoryController.ShowLevelView(levelCfgId);
+        }
+
+        private void UpdateActivityTime(object param = null)
+        {
+            long timeActivity = ActivityGlobalDataManager.Instance.GetActivityInfoOneByType(17).EndTime - TimeHelper.ServerNow();
+            _ui.m_ZCJBTimeText.text = "剩余时间:" + (timeActivity > TimeUtil.SECOND_PER_DAY * 1000 ? TimeUtil.FormattingTimeTo_DDHHmm(timeActivity) : TimeUtil.FormattingTimeTo_HHmmss(timeActivity));
+        }
+
+    }
+}
+

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/ActivityMainTips/ActivityZCJBChapterView.cs.meta

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

+ 145 - 0
GameClient/Assets/Game/HotUpdate/Views/ActivityMainTips/ActivityZCJBRewardView.cs

@@ -0,0 +1,145 @@
+using FairyGUI;
+using UI.ActivityMain;
+using System.Collections;
+using System.Collections.Generic;
+using ET;
+using UnityEngine;
+using System;
+
+namespace GFGGame
+{
+    public class ActivityZCJBRewardView : BaseWindow
+    {
+        private UI_ActivityZCJBRewardUI _ui;
+        private int lastGotIndex;
+        public override void Dispose()
+        {
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
+            base.Dispose();
+        }
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_ActivityZCJBRewardUI.PACKAGE_NAME;
+            _ui = UI_ActivityZCJBRewardUI.Create();
+            this.viewCom = _ui.target;
+            isfullScreen = true;
+
+            _ui.m_backBtn.onClick.Add(this.Hide);
+            _ui.m_back.onClick.Add(this.Hide);
+            _ui.m_List.itemRenderer = RenderRewardList;
+        }
+        protected override void OnShown()
+        {
+            base.OnShown();
+            UpdateList();
+            _ui.m_List.numItems = ActivityDressCfgArray.Instance.dataArray.Length;
+            _ui.m_List.ScrollToView(ActivityDataManager.Instance.ActivityZCJBList.Count, false, true);
+        }
+        protected override void OnHide()
+        {
+            base.OnHide();
+        }
+
+        private void RenderRewardList(int index, GObject obj)
+        {
+            UI_ActivityRewardItemUI item = UI_ActivityRewardItemUI.Proxy(obj);
+            ItemCfg costItem = ItemCfgArray.Instance.GetCfg(ActivityDressCfgArray.Instance.dataArray[index].comsumeArr[0][0]);
+            ItemData numItem;
+            long num;
+            if (BagDataManager.Instance.GetBagData().TryGetValue(3000023, out numItem))
+            {
+                num = numItem.num;
+            }
+            else
+            {
+                num = 0;
+            }
+            //根据状态修改
+            if (index < ActivityDataManager.Instance.ActivityZCJBList.Count)
+            {
+                item.m_RewardBtn.m_c1.selectedIndex = 2;
+                RedDotController.Instance.SetComRedDot(item.m_RewardBtn.target, false);
+            }
+            else 
+            {
+                item.m_RewardBtn.m_c1.selectedIndex = 0;
+                RedDotController.Instance.SetComRedDot(item.m_RewardBtn.target, false);
+                //设置锁的样式
+            }
+            if(index == ActivityDataManager.Instance.ActivityZCJBList.Count)
+            {
+                if(num >= ActivityDressCfgArray.Instance.dataArray[index].comsumeArr[0][1])
+                {
+                    item.m_RewardBtn.m_c1.selectedIndex = 1;
+                    RedDotController.Instance.SetComRedDot(item.m_RewardBtn.target, true);
+                }
+                else
+                {
+                    item.m_RewardBtn.m_c1.selectedIndex = 3;
+                    RedDotController.Instance.SetComRedDot(item.m_RewardBtn.target, false);
+                }
+            }
+            //
+            item.m_rewardName.text = "消耗" + costItem.name + "*"+ ActivityDressCfgArray.Instance.dataArray[index].comsumeArr[0][1] + "兑换";
+            if (item.m_RewardBtn.target.data == null)
+            {
+                item.m_RewardBtn.target.onClick.Add(OnClickRewardBtn);
+            }
+            item.m_RewardBtn.target.data = index + 1;
+            if(item.m_List.data == null)
+            {
+                item.m_List.itemRenderer = RenderRewardItemList;
+            }
+            item.m_List.data = ActivityDressCfgArray.Instance.dataArray[index].bonusArr;
+            item.m_List.numItems = ActivityDressCfgArray.Instance.dataArray[index].bonusArr.Length;
+            UI_ActivityRewardItemUI.ProxyEnd();
+        }
+
+        private async void OnClickRewardBtn(EventContext context)
+        {
+            if (!(context.sender is GObject btnGet)) return;
+            int itemCfg = (int)btnGet.data;
+
+            UI_ActivityRewardItemUI item = UI_ActivityRewardItemUI.Proxy(_ui.m_List.GetChildAt(itemCfg - 1));
+            if(item.m_RewardBtn.m_c1.selectedIndex == 1)
+            {
+                bool result = await ActivitySProxy.ReqActivityZCJBReward(5006, itemCfg);
+                if (!result) return;
+                GetSuitItemController.TryShow(0);
+                EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
+                UI_ActivityRewardItemUI.ProxyEnd();
+                _ui.m_List.numItems = ActivityDressCfgArray.Instance.dataArray.Length;
+                UpdateList();
+            }
+        }
+
+        private void RenderRewardItemList(int index, GObject obj)
+        {
+            var rewards = (int[][])obj.parent.data;
+            ItemUtil.CreateItemView(rewards[index], obj as GComponent);
+        }
+
+        private void UpdateList()
+        {
+            ItemData numItem;
+            long num;
+            if (BagDataManager.Instance.GetBagData().TryGetValue(3000023, out numItem))
+            {
+                num = numItem.num;
+            }
+            else
+            {
+                num = 0;
+            }
+            _ui.m_num.text = "金元宝:" + num;
+        }
+
+    }
+}
+
+

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/ActivityMainTips/ActivityZCJBRewardView.cs.meta

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

+ 84 - 0
GameClient/Assets/Game/HotUpdate/Views/ActivityMainTips/ActivityZCJBView.cs

@@ -0,0 +1,84 @@
+using FairyGUI;
+using UI.ActivityMain;
+using System.Collections;
+using System.Collections.Generic;
+using ET;
+
+namespace GFGGame
+{
+    public class ActivityZCJBView : BaseWindow
+    {
+        private UI_ActivityZCJB _ui;
+        private EffectUI _effectUI1;
+        private EffectUI _effectUI2;
+        public override void Dispose()
+        {
+            EffectUIPool.Recycle(_effectUI1);
+            _effectUI1 = null;
+            EffectUIPool.Recycle(_effectUI2);
+            _effectUI2 = null;
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
+            base.Dispose();
+        }
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_ActivityZCJB.PACKAGE_NAME;
+            _ui = UI_ActivityZCJB.Create();
+            this.viewCom = _ui.target;
+            isfullScreen = true;
+            _ui.m_viewBtn.onClick.Add(OnBtnAdJump);
+            _ui.m_rewardBTn.onClick.Add(OnClickShowReward);
+            _ui.m_backBtn.onClick.Add(this.Hide);
+            _ui.m_btnChange.onClick.Add(this.Hide);
+
+            _effectUI1 = EffectUIPool.CreateEffectUI(_ui.m_bgEffect, "ui_Activity", "zcjb_All");
+            _effectUI2 = EffectUIPool.CreateEffectUI(_ui.m_btnEffect, "ui_Activity", "zcjb_icon");
+        }
+        protected override void OnShown()
+        {
+            base.OnShown();
+            ReqInfo();
+            RedDotController.Instance.SetComRedDot(_ui.m_rewardBTn, ActivityDataManager.Instance.CheckZCJBRed(),"",-30);
+            EventAgent.AddEventListener(ConstMessage.RED_CHANGE, SetRed);
+        }
+        protected override void OnHide()
+        {
+            base.OnHide();
+        }
+        protected override void AddEventListener()
+        {
+            base.AddEventListener();
+        }
+
+        protected override void RemoveEventListener()
+        {
+            base.RemoveEventListener();
+            EventAgent.RemoveEventListener(ConstMessage.RED_CHANGE, SetRed);
+        }
+        private void SetRed()
+        {
+            RedDotController.Instance.SetComRedDot(_ui.m_rewardBTn, ActivityDataManager.Instance.CheckZCJBRed(), "", -30);
+        }
+        private void OnBtnAdJump()
+        {
+            ActivityFightCfg chapterCfgs = ActivityFightCfgArray.Instance.GetCfg(61001);
+            ViewManager.Show<ActivityZCJBChapterView>(new object[] { chapterCfgs.id, 2 });
+        }
+        private void OnClickShowReward()
+        {
+            ViewManager.Show<ActivityZCJBRewardView>();
+        }
+        private async void ReqInfo()
+        {
+            bool result = await ActivitySProxy.ReqActivityZCJBInfo();
+            if (!result) return;
+        }
+    }
+}
+
+

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/ActivityMainTips/ActivityZCJBView.cs.meta

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

+ 6 - 5
GameClient/Assets/Game/HotUpdate/Views/ActivityMainTips/MonthlyCardTipsView.cs

@@ -11,9 +11,9 @@ namespace GFGGame
     {
         private UI_MonthlyCardTipsUI _ui;
         private int rewards = 3;
-        private List<int> itemID = new List<int>() { 1000005, 1000004, 5005006 };
+        private List<int> itemID = new List<int>() { 1000005, 1000004, 5005011 };
         private List<string> rarity = new List<string>() {"", "wpk_db_fp", "wpk_db_zx", "wpk_db_dc", "wpk_db_ty" };
-        private List<string> rewardNum = new List<string>() { "x1680", "x300", "专属头像框" };
+        private List<string> rewardNum = new List<string>() { "x1800", "x300", "专属头像框" };
         public override void Dispose()
         {
 
@@ -53,6 +53,7 @@ namespace GFGGame
         {
             if (GameGlobal.myNumericComponent.GetAsInt(NumericType.IsPropCzykActivity) == 0)
             {
+                ActivityDataManager.Instance.todayMonthlyCardTips = GameGlobal.myNumericComponent.GetAsInt(NumericType.IsPropCzykActivity);
                 _ui.m_notTips.url = "ui://ActivityMain/ts_jrbzts";
             }
             _ui.m_rewardList.numItems = rewards;
@@ -71,11 +72,11 @@ namespace GFGGame
             }
             if(index == rewards - 1)
             {
-                item.m_icon.url = "ui://ActivityMain/" + itemCfg.res;
+                item.m_icon.url = ResPathUtil.GetIconPath(itemCfg.res, "png");
             }
             else
             {
-                item.m_icon.url = ResPathUtil.GetCommonGameResPath(itemCfg.res);
+                item.m_icon.url = ResPathUtil.GetIconPath(itemCfg.res,"png");
             }
             item.m_txtNum.text = rewardNum[index];
             item.target.data = itemCfg;
@@ -85,7 +86,7 @@ namespace GFGGame
 
         private void OnClickTips()
         {
-            if (GameGlobal.myNumericComponent.GetAsInt(NumericType.IsPropCzykActivity) == 0)
+            if (ActivityDataManager.Instance.todayMonthlyCardTips == 0)
             {
                 _ui.m_notTips.url = "ui://ActivityMain/jrbzts_off";
                 ActivityDataManager.Instance.todayMonthlyCardTips = 1;

+ 80 - 0
GameClient/Assets/Game/HotUpdate/Views/ActivityMainTips/ZCJBBuyTipsView.cs

@@ -0,0 +1,80 @@
+using System;
+using System.Collections.Generic;
+using UI.ActivityMain;
+using FairyGUI;
+using UI.CommonGame;
+
+namespace GFGGame
+{
+    public class ZCJBBuyTipsView : BaseWindow
+    {
+        private UI_ZCJBBuyTips _ui;
+        private string Desc;
+
+        public override void Dispose()
+        {
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
+            BuyTipsController.Dispose();
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            _ui = UI_ZCJBBuyTips.Create();
+            this.viewCom = _ui.target;
+            this.viewCom.Center();
+            this.modal = true;
+
+            _ui.m_btnRight.onClick.Add(OnClickBtnSure);
+            _ui.m_btnLeft.onClick.Add(OnClickBtnCancel);
+        }
+
+        protected override void OnShown()
+        {
+            base.OnShown();
+            Desc = (string)(this.viewData as object[])[0];
+            UpdateView();
+        }
+        protected override void AddEventListener()
+        {
+            base.AddEventListener();
+            EventAgent.AddEventListener(ConstMessage.NOTICE_LIMIT_CHANGED, LimitChanged);
+        }
+
+        protected override void RemoveEventListener()
+        {
+            base.RemoveEventListener();
+            EventAgent.RemoveEventListener(ConstMessage.NOTICE_LIMIT_CHANGED, LimitChanged);
+        }
+
+        private void UpdateView()
+        {
+            _ui.m_txtContent.text = Desc;
+            _ui.m_txtTips.text = "(购买的次数请及时使用,次日5:00重置)";
+        }
+
+        private void OnClickBtnSure()
+        {
+            RoleLimitSProxy.ReqBuyLimitPlayTimes(500, 1, 1).Coroutine();
+            EventAgent.DispatchEvent(ConstMessage.NUMERIC_CHANGE);
+        }
+        private void LimitChanged(EventContext context = null)
+        {
+            if ((int)context.data != 500)
+            {
+                return;
+            }
+            PromptController.Instance.ShowFloatTextPrompt("次数+1");
+        }
+
+        private void OnClickBtnCancel()
+        {
+            this.Hide();
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/ActivityMainTips/ZCJBBuyTipsView.cs.meta

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

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/BaseWindow.cs

@@ -189,7 +189,7 @@ namespace GFGGame
                 else
                 {
                     btnClose = new GGraph();
-                    btnClose.DrawRect(GRoot.inst.width, GRoot.inst.height, 0, Color.red, UIConfig.modalLayerColor);
+                    btnClose.DrawRect(ViewManager.ViewWidth, GRoot.inst.height, 0, Color.red, UIConfig.modalLayerColor);
                     btnClose.AddRelation(GRoot.inst, RelationType.Size);
                     btnClose.alpha = 0;
                 }

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

@@ -77,7 +77,7 @@ namespace GFGGame
             {
                 _startInAnim = false;
                 _ui.m_comListCard.m_listCard.scrollPane.ScrollTop();
-                _ui.m_In.Play();
+                //_ui.m_In.Play();
             }
         }
         protected override void OnHide()
@@ -105,7 +105,7 @@ namespace GFGGame
 
         private void FilterItems()
         {
-            _ui.m_Refresh.Play();
+            //_ui.m_Refresh.Play();
             _ui.m_comListCard.m_listCard.scrollPane.ScrollTop();
             UpdateCardList();
         }

+ 6 - 0
GameClient/Assets/Game/HotUpdate/Views/Card/CardUpLevelView.cs

@@ -60,6 +60,9 @@ namespace GFGGame
         protected override void OnShown()
         {
             base.OnShown();
+            //防止引导检测之前触发点击事件
+            GRoot.inst.touchable = false;
+
             _cardData = (CardData)this.viewData;
             AddEffect();
             ClearItemsCountList();
@@ -165,6 +168,8 @@ namespace GFGGame
 
         protected override void OnHide()
         {
+            GRoot.inst.touchable = true;
+
             base.OnHide();
             Timers.inst.Remove(CheckGuide);
         }
@@ -263,6 +268,7 @@ namespace GFGGame
 
         private void CheckGuide(object param)
         {
+            GRoot.inst.touchable = true;
             if (GuideDataManager.IsGuideFinish(ConstGuideId.UP_CARD_LV) <= 0)
             {
                 UpdateToCheckGuide(null);

+ 3 - 1
GameClient/Assets/Game/HotUpdate/Views/Card/CardUpView.cs

@@ -37,13 +37,15 @@ namespace GFGGame
         protected override void OnInit()
         {
             base.OnInit();
+            packageName = UI_CardUpUI.PACKAGE_NAME;
             _ui = UI_CardUpUI.Create();
             this.viewCom = _ui.target;
             this.viewCom.Center();
             this.modal = true;
+            this.isfullScreen = true;
 
             //MakeFullScreen(_ui);
-            _ui.m_bgTouch.onClick.Add(OnBackClick);
+            _ui.target.onClick.Add(OnBackClick);
             _ui.m_listProperty.itemRenderer = RenderListPropertyItem;
             _ui.m_listLastProperty.itemRenderer = RenderListLastPropertyItem;
             _ui.m_listCardProperty.itemRenderer = RenderListCardPropertyItem;

+ 14 - 6
GameClient/Assets/Game/HotUpdate/Views/ClothingSynthetic/ClothingSyntheticView.cs

@@ -39,6 +39,7 @@ namespace GFGGame
         private ValueBarController _valueBarController;
         private GImage _imgSelected;
         private int _suitId;
+        private int _chapterID;
         private int _itemId;
         private int[] _items;
         private int _selectedItemId;
@@ -121,10 +122,13 @@ namespace GFGGame
             base.OnShown();
             _suitId = 0;
             _selectedItemId = 0;
+            _chapterID = 0;
             if (this.viewData != null)
             {
                 _suitId = (int)(this.viewData as object[])[0];
                 _selectedItemId = (this.viewData as object[]).Length > 1 ? (int)(this.viewData as object[])[1] : 0;
+                if((this.viewData as object[]).Length > 2)
+                    _chapterID = (int)(this.viewData as object[])[2];
             }
 
             if (DressUpMenuSuitDataManager.chooseClothing > 0)
@@ -144,7 +148,8 @@ namespace GFGGame
             _ui.m_listMaterias.selectedIndex = 0;
             Timers.inst.Remove(CheckGuide);
             _dressUpObjUI.dressUpObj.TakeOffAll();
-
+            if(_chapterID > 0)
+                MainStoryDataManager.currentChapterCfgId = _chapterID;
         }
         protected override void RemoveEventListener()
         {
@@ -171,7 +176,8 @@ namespace GFGGame
             }
 
             ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(_selectedItemId);
-            if (itemCfg == null) { 
+            if (itemCfg == null)
+            {
                 ET.Log.Error("OnClickBtnProcuction itemCfg is null");
                 return;
             }
@@ -228,9 +234,11 @@ namespace GFGGame
             // 平板会比宽手机更宽,设定最小值防止缩小
             rate = Mathf.Max(rate, 1);
 
+            _dressUpObjUI.dressUpObj.TakeOffAll();
             _dressUpObjUI.ResetSceneObj(45, true, true, null, false);
-            _dressUpObjUI.dressUpObj.AddOrRemove(_selectedItemId, true);
-            _imgSelected.visible = true;// _dressUpObjUI.dressUpObj.CheckDressUpItemIsOn(_selectedItemId);
+            _dressUpObjUI.dressUpObj.AddOrRemove(_selectedItemId, true, DressUpOption.Add);
+            //_imgSelected.visible = _dressUpObjUI.dressUpObj.CheckDressUpItemIsOn(_selectedItemId);
+            _imgSelected.visible = true;
             _dressUpObjUI.UpdateWrapper(_compMover.m_holder);
             int type = ItemUtilCS.GetItemSubType(_selectedItemId);
             float duration = DURATION;
@@ -253,13 +261,13 @@ namespace GFGGame
             else if (Array.IndexOf(UPPER_BODY_Y_ARR, type) >= 0)
             {
                 _ui.m_compHolder.m_compHolder.m_compMover.target.TweenMoveY(UPPER_BODY_Y + dy, duration).SetEase(ease);
-                _compMover.target.TweenScale(new Vector2(UPPER_BODY_SCALE* rate, UPPER_BODY_SCALE * rate), duration).SetEase(ease);
+                _compMover.target.TweenScale(new Vector2(UPPER_BODY_SCALE * rate, UPPER_BODY_SCALE * rate), duration).SetEase(ease);
             }
             else if (Array.IndexOf(LOWER_BODY_Y_ARR, type) >= 0)
             {
                 _ui.m_loaBg2.visible = true;
                 _compMover.target.TweenMoveY(LOWER_BODY_Y + dy, duration).SetEase(ease);
-                _compMover.target.TweenScale(new Vector2(LOWER_BODY_SCALE * rate, LOWER_BODY_SCALE* rate), duration).SetEase(ease);
+                _compMover.target.TweenScale(new Vector2(LOWER_BODY_SCALE * rate, LOWER_BODY_SCALE * rate), duration).SetEase(ease);
             }
             else if (Array.IndexOf(SHOES_Y_ARR, type) >= 0)
             {

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/Common/Alert/AlertWindow.cs

@@ -54,7 +54,6 @@ namespace GFGGame
             this.SetTips(m_tips);
             this.SetLeftButton(m_isShowLeftButton, m_textLeft);
             this.SetRightButton(m_isShowRightButton, m_textRight);
-
             updateButtonPosition();
             _ui.m_btnLeft.onClick.Add(() =>
             {
@@ -74,6 +73,7 @@ namespace GFGGame
         {
             base.OnShown();
             _ui.target.Center();
+            this.SetShowCheck(false);
             Timers.inst.AddUpdate(CheckGuide);
         }
 

+ 4 - 2
GameClient/Assets/Game/HotUpdate/Views/Common/Controller/LuckyBoxController.cs

@@ -88,12 +88,13 @@ namespace GFGGame
 
             UI_ComModelRes comRes = _comModel.m_comModelRes;
             _comModel.m_loaBg.url = ResPathUtil.GetBgImgPath(_luckyBoxCfg.bgResArr[_bgIndex]);
+
             if (_luckyBoxCfg.resArr.Length > 0)
             {
                 //comRes.m_loaRes.url = string.Format("ui://LuckyBox/{0}", _luckyBoxCfg.resArr[_modelIndex]);
                 comRes.m_loaRes.url = ResPathUtil.GetBgImgPath(_luckyBoxCfg.resArr[_modelIndex]);
-                comRes.m_loaRes.SetPosition(_luckyBoxCfg.posArr[_modelIndex][0], _luckyBoxCfg.posArr[_modelIndex][1], 1);
-
+                comRes.m_loaTitle.url = "ui://LuckyBox/" + _luckyBoxCfg.resArr[_modelIndex];
+                comRes.m_loaRes.SetPosition(-110, -170, 1);
                 int direction = _luckyBoxCfg.scaleArr[_modelIndex] >= 0 ? 1 : -1;
                 float scale = _luckyBoxCfg.scaleArr.Length > 0 ? Math.Abs(_luckyBoxCfg.scaleArr[_modelIndex]) / 10000f : 1;
                 comRes.m_loaRes.SetScale(direction * scale, scale);
@@ -175,6 +176,7 @@ namespace GFGGame
 
             UI_ComModel _comModel = UI_ComModel.Proxy(_com);
             _comModel.m_comModelRes.m_loaRes.url = "";
+            _comModel.m_comModelRes.m_loaTitle.url = "";
             UI_ComModel.ProxyEnd();
             Timers.inst.Remove(UpdateTime);
         }

+ 1 - 0
GameClient/Assets/Game/HotUpdate/Views/Common/Controller/ValueBarController.cs

@@ -208,6 +208,7 @@ namespace GFGGame
             }
             
             button.target.icon = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(itemId).res);
+            button.target.icon = ResPathUtil.GetIconPath(ItemCfgArray.Instance.GetCfg(itemId).res,"png");
             switch (itemId)
             {
                 case ConstItemID.GOLD:

+ 3 - 0
GameClient/Assets/Game/HotUpdate/Views/CommonGame/ApproachView.cs

@@ -360,6 +360,9 @@ namespace GFGGame
                         PromptController.Instance.ShowFloatTextPrompt("暂未加入雅集");
                     }
                     break;
+                case ConstFunctionId.SKILLBOOK:
+                    ViewManager.Show<ExchangeGoodsView>(_itemId);
+                    break;
             }
             if (isJump)
             {

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно