hexiaojie 7 месяцев назад
Родитель
Сommit
32123e25f0
32 измененных файлов с 264 добавлено и 92 удалено
  1. 38 6
      GameClient/Assets/AssetBundleCollectorSetting.asset
  2. 43 43
      GameClient/Assets/Editor/BuildEditor/PresetAssetHelper.cs
  3. 5 4
      GameClient/Assets/Game/HotUpdate/Controller/GameController.cs
  4. 18 15
      GameClient/Assets/Game/HotUpdate/Controller/LoginController.cs
  5. 14 11
      GameClient/Assets/Game/HotUpdate/Font/FontLoader.cs
  6. 70 8
      GameClient/Assets/Game/HotUpdate/Utils/ResPathUtil.cs
  7. 34 4
      GameClient/Assets/Game/HotUpdate/Views/Login/LoginInputView.cs
  8. 1 0
      GameClient/Assets/Game/HotUpdate/Views/Login/LoginView.cs
  9. 8 0
      GameClient/Assets/ResIn/Font/1.meta
  10. 0 0
      GameClient/Assets/ResIn/Font/1/FangZhengHeiTiJianTi-1.ttf
  11. 0 0
      GameClient/Assets/ResIn/Font/1/FangZhengHeiTiJianTi-1.ttf.meta
  12. 8 0
      GameClient/Assets/ResIn/Font/2.meta
  13. 0 0
      GameClient/Assets/ResIn/Font/2/FZKTJW--GB1-0.ttf
  14. 0 0
      GameClient/Assets/ResIn/Font/2/FZKTJW--GB1-0.ttf.meta
  15. 0 0
      GameClient/Assets/ResIn/Font/2/SourceHanSerifCN-Bold-2.otf
  16. 0 0
      GameClient/Assets/ResIn/Font/2/SourceHanSerifCN-Bold-2.otf.meta
  17. 8 0
      GameClient/Assets/ResIn/Font/3.meta
  18. 0 0
      GameClient/Assets/ResIn/Font/3/SourceHanSerifCN-ExtraLight-3.otf
  19. 0 0
      GameClient/Assets/ResIn/Font/3/SourceHanSerifCN-ExtraLight-3.otf.meta
  20. 8 0
      GameClient/Assets/ResIn/Font/4.meta
  21. 0 0
      GameClient/Assets/ResIn/Font/4/SourceHanSerifCN-Heavy-4.otf
  22. 0 0
      GameClient/Assets/ResIn/Font/4/SourceHanSerifCN-Heavy-4.otf.meta
  23. 0 0
      GameClient/Assets/ResIn/Font/4/SourceHanSerifCN-Light-5.otf
  24. 0 0
      GameClient/Assets/ResIn/Font/4/SourceHanSerifCN-Light-5.otf.meta
  25. 0 0
      GameClient/Assets/ResIn/Font/4/SourceHanSerifCN-Medium-6.otf
  26. 0 0
      GameClient/Assets/ResIn/Font/4/SourceHanSerifCN-Medium-6.otf.meta
  27. 8 0
      GameClient/Assets/ResIn/Font/5.meta
  28. 0 0
      GameClient/Assets/ResIn/Font/5/SourceHanSerifCN-Regular-1.otf
  29. 0 0
      GameClient/Assets/ResIn/Font/5/SourceHanSerifCN-Regular-1.otf.meta
  30. 0 0
      GameClient/Assets/ResIn/Font/5/SourceHanSerifCN-SemiBold-7.otf
  31. 0 0
      GameClient/Assets/ResIn/Font/5/SourceHanSerifCN-SemiBold-7.otf.meta
  32. 1 1
      GameClient/Assets/ShaderVariantCollectorSetting.asset

+ 38 - 6
GameClient/Assets/AssetBundleCollectorSetting.asset

@@ -24,7 +24,7 @@ MonoBehaviour:
     Groups:
     - GroupName: game
       GroupDesc: 
-      AssetTags: preload
+      AssetTags: dynamic
       ActiveRuleName: EnableGroup
       Collectors:
       - CollectPath: Assets/ResIn/UI
@@ -124,7 +124,7 @@ MonoBehaviour:
         UserData: 
     - GroupName: shader
       GroupDesc: 
-      AssetTags: preload
+      AssetTags: dynamic
       ActiveRuleName: EnableGroup
       Collectors:
       - CollectPath: Assets/Res/ShaderVariants
@@ -137,7 +137,7 @@ MonoBehaviour:
         UserData: 
     - GroupName: res
       GroupDesc: 
-      AssetTags: preload
+      AssetTags: dynamic
       ActiveRuleName: EnableGroup
       Collectors:
       - CollectPath: Assets/Res
@@ -161,8 +161,8 @@ MonoBehaviour:
         FilterRuleName: CollectAll
         AssetTags: 
         UserData: 
-      - CollectPath: Assets/ResIn/Font
-        CollectorGUID: 1295ceb03b9528244a0d4164f9f414fe
+      - CollectPath: Assets/ResIn/Font/1
+        CollectorGUID: cf1684410a1be93488aa69fb1d60894c
         CollectorType: 0
         AddressRuleName: AddressByFileName
         PackRuleName: PackDirectory
@@ -185,6 +185,38 @@ MonoBehaviour:
         FilterRuleName: CollectAll
         AssetTags: 
         UserData: 
+      - CollectPath: Assets/ResIn/Font/2
+        CollectorGUID: 
+        CollectorType: 0
+        AddressRuleName: AddressByFileName
+        PackRuleName: PackDirectory
+        FilterRuleName: CollectAll
+        AssetTags: 
+        UserData: 
+      - CollectPath: Assets/ResIn/Font/3
+        CollectorGUID: 
+        CollectorType: 0
+        AddressRuleName: AddressByFileName
+        PackRuleName: PackDirectory
+        FilterRuleName: CollectAll
+        AssetTags: 
+        UserData: 
+      - CollectPath: Assets/ResIn/Font/4
+        CollectorGUID: 
+        CollectorType: 0
+        AddressRuleName: AddressByFileName
+        PackRuleName: PackDirectory
+        FilterRuleName: CollectAll
+        AssetTags: 
+        UserData: 
+      - CollectPath: Assets/ResIn/Font/5
+        CollectorGUID: 
+        CollectorType: 0
+        AddressRuleName: AddressByFileName
+        PackRuleName: PackDirectory
+        FilterRuleName: CollectAll
+        AssetTags: 
+        UserData: 
     - GroupName: scene
       GroupDesc: 
       AssetTags: preload
@@ -213,7 +245,7 @@ MonoBehaviour:
         UserData: 
     - GroupName: video
       GroupDesc: 
-      AssetTags: preload
+      AssetTags: dynamic
       ActiveRuleName: EnableGroup
       Collectors:
       - CollectPath: Assets/Res/video

+ 43 - 43
GameClient/Assets/Editor/BuildEditor/PresetAssetHelper.cs

@@ -35,15 +35,15 @@ namespace GFGEditor
 
             //SqliteController.Instance.Init(false, null);
 
-            List<StoryDialogCfg> dataArray = CommonDataManager.Tables.TblStoryDialogCfg.DataList;
-            foreach (var cfg in dataArray)
-            {
-                if (!string.IsNullOrEmpty(cfg.BgRes))
-                {
-                    var resPath = ResPathUtil.GetSceneBgPath(cfg.BgRes);
-                    preloadFiles.Add(resPath);
-                }
-            }
+           // List<StoryDialogCfg> dataArray = CommonDataManager.Tables.TblStoryDialogCfg.DataList;
+            // foreach (var cfg in dataArray)
+            // {
+            //     if (!string.IsNullOrEmpty(cfg.BgRes))
+            //     {
+            //         var resPath = ResPathUtil.GetSceneBgPath(cfg.BgRes);
+            //         preloadFiles.Add(resPath);
+            //     }
+            // }
 
             // 加载构建成功的资源清单对象
             byte[] manifestBytes = FileUtility.ReadAllBytes(selectedFile);
@@ -56,40 +56,40 @@ namespace GFGEditor
                 TryAdd(assetPath, manifest, bundles);
             }
 
-            List<ItemCfg> dressUpItemlist =
-                CommonDataManager.Tables.TblItemCfg.GetGroup1ByItemType(ConstItemType.DRESS_UP);
-
-            foreach (var dressUpCfg in dressUpItemlist)
-            {
-                if (dressUpCfg.LoadType > 0)
-                {
-                    string assetPath = ResPathUtil.GetDressUpLayerSpriteResPath(dressUpCfg, 1);
-                    TryAdd(assetPath, manifest, bundles);
-                    assetPath = ResPathUtil.GetDressUpLayerSpriteResPath(dressUpCfg, 2);
-                    TryAdd(assetPath, manifest, bundles);
-                    assetPath = ResPathUtil.GetDressUpLayerSpriteResPath(dressUpCfg, 3);
-                    TryAdd(assetPath, manifest, bundles);
-                    assetPath = ResPathUtil.GetDressUpLayerAnimationResPath(dressUpCfg, 1);
-                    TryAdd(assetPath, manifest, bundles);
-                    assetPath = ResPathUtil.GetDressUpLayerAnimationResPath(dressUpCfg, 2);
-                    TryAdd(assetPath, manifest, bundles);
-                    assetPath = ResPathUtil.GetDressUpLayerAnimationResPath(dressUpCfg, 3);
-                    TryAdd(assetPath, manifest, bundles);
-                    assetPath = ResPathUtil.GetDressUpLayerEffectResPath(dressUpCfg, 1, false);
-                    TryAdd(assetPath, manifest, bundles);
-                    assetPath = ResPathUtil.GetDressUpLayerEffectResPath(dressUpCfg, 2, false);
-                    TryAdd(assetPath, manifest, bundles);
-                    assetPath = ResPathUtil.GetDressUpLayerEffectResPath(dressUpCfg, 3, false);
-                    TryAdd(assetPath, manifest, bundles);
-                    TryAdd(assetPath, manifest, bundles);
-                    assetPath = ResPathUtil.GetDressUpLayerEffectResPath(dressUpCfg, 1, true);
-                    TryAdd(assetPath, manifest, bundles);
-                    assetPath = ResPathUtil.GetDressUpLayerEffectResPath(dressUpCfg, 2, true);
-                    TryAdd(assetPath, manifest, bundles);
-                    assetPath = ResPathUtil.GetDressUpLayerEffectResPath(dressUpCfg, 3, true);
-                    TryAdd(assetPath, manifest, bundles);
-                }
-            }
+            // List<ItemCfg> dressUpItemlist =
+            //     CommonDataManager.Tables.TblItemCfg.GetGroup1ByItemType(ConstItemType.DRESS_UP);
+
+            // foreach (var dressUpCfg in dressUpItemlist)
+            // {
+            //     if (dressUpCfg.LoadType > 0)
+            //     {
+            //         string assetPath = ResPathUtil.GetDressUpLayerSpriteResPath(dressUpCfg, 1);
+            //         TryAdd(assetPath, manifest, bundles);
+            //         assetPath = ResPathUtil.GetDressUpLayerSpriteResPath(dressUpCfg, 2);
+            //         TryAdd(assetPath, manifest, bundles);
+            //         assetPath = ResPathUtil.GetDressUpLayerSpriteResPath(dressUpCfg, 3);
+            //         TryAdd(assetPath, manifest, bundles);
+            //         assetPath = ResPathUtil.GetDressUpLayerAnimationResPath(dressUpCfg, 1);
+            //         TryAdd(assetPath, manifest, bundles);
+            //         assetPath = ResPathUtil.GetDressUpLayerAnimationResPath(dressUpCfg, 2);
+            //         TryAdd(assetPath, manifest, bundles);
+            //         assetPath = ResPathUtil.GetDressUpLayerAnimationResPath(dressUpCfg, 3);
+            //         TryAdd(assetPath, manifest, bundles);
+            //         assetPath = ResPathUtil.GetDressUpLayerEffectResPath(dressUpCfg, 1, false);
+            //         TryAdd(assetPath, manifest, bundles);
+            //         assetPath = ResPathUtil.GetDressUpLayerEffectResPath(dressUpCfg, 2, false);
+            //         TryAdd(assetPath, manifest, bundles);
+            //         assetPath = ResPathUtil.GetDressUpLayerEffectResPath(dressUpCfg, 3, false);
+            //         TryAdd(assetPath, manifest, bundles);
+            //         TryAdd(assetPath, manifest, bundles);
+            //         assetPath = ResPathUtil.GetDressUpLayerEffectResPath(dressUpCfg, 1, true);
+            //         TryAdd(assetPath, manifest, bundles);
+            //         assetPath = ResPathUtil.GetDressUpLayerEffectResPath(dressUpCfg, 2, true);
+            //         TryAdd(assetPath, manifest, bundles);
+            //         assetPath = ResPathUtil.GetDressUpLayerEffectResPath(dressUpCfg, 3, true);
+            //         TryAdd(assetPath, manifest, bundles);
+            //     }
+            // }
 
             string root =
                 $"{AssetBundleBuilderHelper.GetDefaultStreamingAssetsRoot()}/{VersionController.DefaultPackage}";

+ 5 - 4
GameClient/Assets/Game/HotUpdate/Controller/GameController.cs

@@ -68,13 +68,10 @@ namespace GFGGame
             try
             {
                 // 初始化并加载Luban配置
-                CommonDataManager.InitAsync(() =>
+                CommonDataManager.InitOneAsync(() =>
                 {
                     // 配置加载完成后的回调
                     Debug.Log("Luban配置加载完成!");
-                    // 现在可以安全访问配置表了
-                    var activityCfg = CommonDataManager.Tables.TblTaskCfg;
-                    Debug.Log($"任务配置加载完成,条目数:{activityCfg.DataList.Count}");
                     //界面
                     try
                     {
@@ -92,6 +89,10 @@ namespace GFGGame
                 Debug.LogError($"Luban配置加载失败: {e}");
                 throw;
             }
+            
+            Debug.Log("Init2 加载!");
+            await FontLoader.Instance.Init2();
+            Debug.Log("Init2 加载完成!");
         }
 
         public static bool CheckLoginCache(bool doLogin)

+ 18 - 15
GameClient/Assets/Game/HotUpdate/Controller/LoginController.cs

@@ -299,23 +299,26 @@ namespace GFGGame
                 return;
             }
 
-            errorCode = await LoginHelper.EnterGame(GameGlobal.zoneScene);
-            if (errorCode != ErrorCode.ERR_Success)
+            CommonDataManager.InitAllAsync(async () =>
             {
-                ErrorCodeController.Handler(errorCode);
-                return;
-            }
+                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);
+                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()

+ 14 - 11
GameClient/Assets/Game/HotUpdate/Font/FontLoader.cs

@@ -9,24 +9,27 @@ namespace GFGGame
     {
         public async Task Init()
         {
+            Font font1 = await LoadFontAsync(ResPathUtil.GetFontPath2("FZKTJW--GB1-0", "ttf"));
+            FontManager.RegisterFont(new DynamicFont("FZKTJW--GB1-0", font1));
+        }
 
-            Font font0 = await LoadFontAsync(ResPathUtil.GetFontPath("FangZhengHeiTiJianTi-1", "ttf"));
+        public async Task Init2()
+        {
+            Font font0 = await LoadFontAsync(ResPathUtil.GetFontPath1("FangZhengHeiTiJianTi-1", "ttf"));
             FontManager.RegisterFont(new DynamicFont("FangZhengHeiTiJianTi-1", font0));
-            Font font1 = await LoadFontAsync(ResPathUtil.GetFontPath("FZKTJW--GB1-0", "ttf"));
-            FontManager.RegisterFont(new DynamicFont("FZKTJW--GB1-0", font1));
-            Font font2 = await LoadFontAsync(ResPathUtil.GetFontPath("SourceHanSerifCN-Regular-1", "otf"));
+            Font font2 = await LoadFontAsync(ResPathUtil.GetFontPath5("SourceHanSerifCN-Regular-1", "otf"));
             FontManager.RegisterFont(new DynamicFont("SourceHanSerifCN-Regular-1", font2));
-            Font font3 = await LoadFontAsync(ResPathUtil.GetFontPath("SourceHanSerifCN-Bold-2", "otf"));
+            Font font3 = await LoadFontAsync(ResPathUtil.GetFontPath2("SourceHanSerifCN-Bold-2", "otf"));
             FontManager.RegisterFont(new DynamicFont("SourceHanSerifCN-Bold-2", font3));
-            Font font4 = await LoadFontAsync(ResPathUtil.GetFontPath("SourceHanSerifCN-ExtraLight-3", "otf"));
+            Font font4 = await LoadFontAsync(ResPathUtil.GetFontPath3("SourceHanSerifCN-ExtraLight-3", "otf"));
             FontManager.RegisterFont(new DynamicFont("SourceHanSerifCN-ExtraLight-3", font4));
-            Font font5 = await LoadFontAsync(ResPathUtil.GetFontPath("SourceHanSerifCN-Heavy-4", "otf"));
+            Font font5 = await LoadFontAsync(ResPathUtil.GetFontPath4("SourceHanSerifCN-Heavy-4", "otf"));
             FontManager.RegisterFont(new DynamicFont("SourceHanSerifCN-Heavy-4", font5));
-            Font font6 = await LoadFontAsync(ResPathUtil.GetFontPath("SourceHanSerifCN-Light-5", "otf"));
+            Font font6 = await LoadFontAsync(ResPathUtil.GetFontPath4("SourceHanSerifCN-Light-5", "otf"));
             FontManager.RegisterFont(new DynamicFont("SourceHanSerifCN-Light-5", font6));
-            Font font7 = await LoadFontAsync(ResPathUtil.GetFontPath("SourceHanSerifCN-Medium-6", "otf"));
+            Font font7 = await LoadFontAsync(ResPathUtil.GetFontPath4("SourceHanSerifCN-Medium-6", "otf"));
             FontManager.RegisterFont(new DynamicFont("SourceHanSerifCN-Medium-6", font7));
-            Font font8 = await LoadFontAsync(ResPathUtil.GetFontPath("SourceHanSerifCN-SemiBold-7", "otf"));
+            Font font8 = await LoadFontAsync(ResPathUtil.GetFontPath5("SourceHanSerifCN-SemiBold-7", "otf"));
             FontManager.RegisterFont(new DynamicFont("SourceHanSerifCN-SemiBold-7", font8));
         }
 
@@ -37,4 +40,4 @@ namespace GFGGame
             return handle.AssetObject as Font;
         }
     }
-}
+}

+ 70 - 8
GameClient/Assets/Game/HotUpdate/Utils/ResPathUtil.cs

@@ -5,7 +5,6 @@ namespace GFGGame
 {
     public class ResPathUtil
     {
-
         public const string FONT_DIR_PATH = "Assets/ResIn/Font";
         public static readonly string UI_DIR_PATH = "Assets/ResIn/UI";
         public static readonly string UUI_DIR_PATH = "Assets/ResIn/UUI";
@@ -42,6 +41,7 @@ namespace GFGGame
         {
             return $"{UI_DIR_PATH}/{res}/{res}";
         }
+
         public static string GetUUIPrefabPath(string res)
         {
             return $"{UUI_DIR_PATH}/{res}.prefab";
@@ -51,10 +51,12 @@ namespace GFGGame
         {
             return GetCommonGameResPath("kp_sx_" + score);
         }
+
         public static string GetCommonGameResPath(string res)
         {
             return "ui://CommonGame/" + res;
         }
+
         //===================================↑↑↑UI路径↑↑↑================================
         public static string GetIconPath(string res, string extName)
         {
@@ -62,57 +64,71 @@ namespace GFGGame
             {
                 return GetCardIconPath(res);
             }
+
             return $"{TEXTURE_DIR_PATH}/Icon/{res}.{extName}";
         }
+
         public static string GetIconPath(ItemCfg itemCfg)
         {
             return GetIconPath(itemCfg.Res, ItemUtil.GetItemResExt(itemCfg.ItemType, itemCfg.SubType, true));
         }
+
         public static string GetBgImgPath(string res, string extName = "png")
         {
             return $"{TEXTURE_BGIMG_DIR_PATH}/{res}.{extName}";
         }
+
         public static string GetFightBgImgPath(string res, string extName = "png")
         {
             return $"{TEXTURE_FIGHT_DIR_PATH}/{res}.{extName}";
         }
+
         public static string GetSceneBgPath(string res, string extName = "jpg")
         {
             return $"{TEXTURE_SCENEBG_DIR_PATH}/{res}.{extName}";
         }
+
         public static string GetDressUpLayerSpriteResPath(ItemCfg itemCfg, int layerId)
-{
+        {
             string res = GetDressUpLayerResName(itemCfg, layerId);
-            if(itemCfg.SubType == ConstDressUpItemType.BEI_JING)
+            if (itemCfg.SubType == ConstDressUpItemType.BEI_JING)
             {
                 return GetSceneBgPath(res);
             }
+
             return GetDressUpPath(res);
         }
+
         public static string GetDressUpPath(string res, string extName = "png")
         {
             return $"{TEXTURE_DRESSUP_DIR_PATH}/{res}.{extName}";
         }
+
         public static string GetNpcPicSPath(string res, string extName = "png")
         {
             return $"{TEXTURE_DIR_PATH}/Npc/PicS/{res}.{extName}";
         }
+
         public static string GetNpcPicFPath(string res, string extName = "png")
         {
             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}";
         }
+
         public static string GetFieldGuideIconPath(string res, string extName = "png")
         {
             return $"{TEXTURE_DIR_PATH}/FieldGuide/SuitIcon/{res}.{extName}";
         }
+
         public static string GetChapterGuideIconPath(string res, string extName = "png")
         {
             return $"{TEXTURE_DIR_PATH}/FieldGuide/ChapterIcon/{res}.{extName}";
@@ -122,38 +138,67 @@ namespace GFGGame
         {
             return $"{TEXTURE_DIR_PATH}/Npc/Head/{res}.{extName}";
         }
+
         public static string GetCardPath(string res, string extName = "jpg")
         {
             return $"{TEXTURE_DIR_PATH}/Card/Bg/{res}.{extName}";
         }
+
         public static string GetCardIconPath(string res, string extName = "jpg")
         {
             return $"{TEXTURE_DIR_PATH}/Card/Card/{res}.{extName}";
         }
+
         public static string GetCardSkillPath(string res, string extName = "png")
         {
             return $"{TEXTURE_DIR_PATH}/Card/Skill/{res}.{extName}";
         }
+
         public static string GetCardSoundPath(string res, string extName = "mp3")
         {
             return $"{SOUND_DIR_PATH}/Card/{res}.{extName}";
         }
+
         public static string GetVoicePath(string res, string extName = "wav")
         {
             return $"{Voice_DIR_PATH}/{res}.{extName}";
         }
+
         public static string GetVideoPath(string res, string extName = "mp4")
         {
             return $"{VIDEO_DIR_PATH}/{res}.{extName}";
         }
+
         public static string GetMusicPath(string res, string extName = "mp3")
         {
             return $"{MUSIC_DIR_PATH}/{res}.{extName}";
         }
-        public static string GetFontPath(string res, string extName = "TTF")
+
+        public static string GetFontPath1(string res, string extName = "TTF")
+        {
+            return $"{FONT_DIR_PATH}/1/{res}.{extName}";
+        }
+
+        public static string GetFontPath2(string res, string extName = "TTF")
+        {
+            return $"{FONT_DIR_PATH}/2/{res}.{extName}";
+        }
+
+        public static string GetFontPath3(string res, string extName = "TTF")
         {
-            return $"{FONT_DIR_PATH}/{res}.{extName}";
+            return $"{FONT_DIR_PATH}/3/{res}.{extName}";
         }
+
+        public static string GetFontPath4(string res, string extName = "TTF")
+        {
+            return $"{FONT_DIR_PATH}/4/{res}.{extName}";
+        }
+
+        public static string GetFontPath5(string res, string extName = "TTF")
+        {
+            return $"{FONT_DIR_PATH}/5/{res}.{extName}";
+        }
+
         public static string GetPrefabPath(string res, string extName = "prefab")
         {
             return $"{PREFAB_DIR_PATH}/{res}.{extName}";
@@ -168,6 +213,7 @@ namespace GFGGame
         {
             return $"{LoginRes_DIR_PATH}/{res}.{extName}";
         }
+
         public static string GetDressUpAnimationDirPath(string res)
         {
             return $"{ANIMATION_DIR_PATH}/DressUp/{res}";
@@ -178,6 +224,7 @@ namespace GFGGame
             string res = GetDressUpLayerResName(itemCfg, layerId);
             return GetDressUpAnimationPath(res);
         }
+
         public static string GetDressUpAnimationPath(string res, string extName = "prefab")
         {
             return $"{GetDressUpAnimationDirPath(res)}/{res}.{extName}";
@@ -189,20 +236,23 @@ namespace GFGGame
             {
                 return false;
             }
+
             string resPath = ResPathUtil.GetDressUpAnimationPath(res, extName);
             return YooAssets.CheckResExist(resPath);
         }
 
         public static string GetDressUpLayerEffectResPath(ItemCfg itemCfg, int layerId, bool inAniDir)
         {
-            if(DressUpMenuItemCfg1Array.Instance.CheckIsSceneType(itemCfg.Id))
+            if (DressUpMenuItemCfg1Array.Instance.CheckIsSceneType(itemCfg.Id))
             {
                 //场景类型的物品特效都不分动画和静态
                 inAniDir = false;
             }
+
             string res = GetDressUpLayerResName(itemCfg, layerId);
             return GetDressUpEffectPath(res, inAniDir);
         }
+
         public static string GetDressUpEffectDirPath(string res)
         {
             return $"{EFFECT_DIR_PATH}/DressUp/{res}";
@@ -214,45 +264,56 @@ namespace GFGGame
             {
                 return $"{GetDressUpEffectDirPath(res)}/{res}_2.{extName}";
             }
+
             return $"{GetDressUpEffectDirPath(res)}/{res}.{extName}";
         }
+
         public static string GetViewEffectPath(string uiName, string resName, string extName = "prefab")
         {
             return $"{EFFECT_DIR_PATH}/UI/{uiName}/{resName}.{extName}";
         }
+
         public static string GetCardAnimationPath(string res, string extName = "prefab")
         {
             return $"{ANIMATION_DIR_PATH}/Card/{res}/{res}.{extName}";
         }
+
         public static string GetActivityPath(string res, string extName = "png")
         {
             return $"{TEXTURE_DIR_PATH}/Activity/Activity/{res}.{extName}";
         }
+
         public static string GetActivityShow1Path(string res, string extName = "jpg")
         {
             return $"{TEXTURE_DIR_PATH}/Activity/Show1/{res}.{extName}";
         }
+
         public static string GetActivityShow2Path(string res, string extName = "jpg")
         {
             return $"{TEXTURE_DIR_PATH}/Activity/Show1/{res}.{extName}";
         }
+
         public static string GetTravelBgPath(string res, string extName = "png")
         {
             return $"{TEXTURE_DIR_PATH}/Travel/Bg/{res}.{extName}";
         }
+
         public static string GetTravelRolePath(string res, string extName = "png")
         {
             return $"{TEXTURE_DIR_PATH}/Travel/Role/{res}.{extName}";
         }
+
         public static string GetHeadPath(string res, string extName = "png")
         {
             return $"{TEXTURE_DIR_PATH}/Head/Head/{res}.{extName}";
         }
+
         public static string GetHeadBorderPath(string res, string extName = "png")
         {
             if (string.IsNullOrEmpty(res)) return "";
             return $"{TEXTURE_DIR_PATH}/Head/HeadBorder/{res}.{extName}";
         }
+
         public static string GetShaderPath(string res)
         {
             return $"{Shader_DIR_PATH}/{res}.shader";
@@ -278,6 +339,7 @@ namespace GFGGame
                     res = itemCfg.ResLayer3 == "n" ? res : string.Format("{0}_{1}", res, itemCfg.ResLayer3);
                     break;
             }
+
             return res;
         }
 
@@ -290,7 +352,7 @@ namespace GFGGame
         {
             return $"{STUDIO_FILING_DIR_PATH}{res}.{extName}";
         }
-        
+
         public static string GetStoryDialogCGPath(string dir, string res, string extName = "prefab")
         {
             return $"{ANIMATION_DIR_PATH}/{dir}/{res}.{extName}";
@@ -310,7 +372,7 @@ namespace GFGGame
         {
             return $"{LUCKY_BOX_TITLE_PATH}{res}.{extName}";
         }
-        
+
         public static string GetEmojiResPath(string dir, string res, string extName = "prefab")
         {
             return $"{ANIMATION_DIR_PATH}/{dir}/{res}.{extName}";

+ 34 - 4
GameClient/Assets/Game/HotUpdate/Views/Login/LoginInputView.cs

@@ -4,6 +4,7 @@ using UnityEngine;
 using System.ComponentModel;
 using System;
 using System.Collections.Generic;
+using System.Text;
 
 namespace GFGGame
 {
@@ -18,6 +19,7 @@ namespace GFGGame
                 _ui.Dispose();
                 _ui = null;
             }
+
             base.Dispose();
         }
 
@@ -35,6 +37,7 @@ namespace GFGGame
             _ui.m_btnRegister.onClick.Add(OnClickBtnRegister);
 
             _ui.m_inputAccount.restrict = "[0-9A-Za-z_]";
+            _ui.m_inputAccount.text = GenerateRandomAccount();
             if (LauncherConfig.netType == LauncherConfig.EnumNetType.LOCAL)
             {
                 _ui.m_inputPassword.promptText = "[color=#B8A492]当前支持免密登录[/color]";
@@ -51,6 +54,11 @@ namespace GFGGame
             {
                 _ui.m_inputAccount.text = account;
             }
+            else
+            {
+                _ui.m_inputAccount.text = GenerateRandomAccount();
+            }
+
             UpdateChannelBox(false);
         }
 
@@ -72,15 +80,35 @@ namespace GFGGame
             EventAgent.RemoveEventListener(ConstMessage.LOGIN_FAIL, OnLoginFail);
         }
 
+        public string GenerateRandomAccount(int length = 8)
+        {
+            const string ALLOWED_CHARS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
+            StringBuilder sb = new StringBuilder();
+            System.Random random = new System.Random();
+
+            for (int i = 0; i < length; i++)
+            {
+                int index = random.Next(ALLOWED_CHARS.Length);
+                sb.Append(ALLOWED_CHARS[index]);
+            }
+
+            return sb.ToString();
+        }
+
         private void OnClickBtnSure()
         {
             var account = _ui.m_inputAccount.text;
             var password = _ui.m_inputPassword.text;
             if (string.IsNullOrEmpty(account))
             {
-                PromptController.Instance.ShowFloatTextPrompt("请输入账号");
-                return;
+                //PromptController.Instance.ShowFloatTextPrompt("请输入账号");
+                //return;
+                string tempAccount = GenerateRandomAccount();
+                _ui.m_inputAccount.text = tempAccount;
+                account = tempAccount;
+                Debug.Log($"account:{account}");
             }
+
             if (!string.IsNullOrEmpty(password))
             {
                 LoginController.Login(account, password).Coroutine();
@@ -131,11 +159,13 @@ namespace GFGGame
 
                 if (fieldInfo != null && Attribute.IsDefined(fieldInfo, typeof(DescriptionAttribute)))
                 {
-                    DescriptionAttribute attribute = (DescriptionAttribute)Attribute.GetCustomAttribute(fieldInfo, typeof(DescriptionAttribute));
+                    DescriptionAttribute attribute =
+                        (DescriptionAttribute)Attribute.GetCustomAttribute(fieldInfo, typeof(DescriptionAttribute));
                     items.Add(attribute.Description);
                     numbers.Add(Convert.ToInt32(value).ToString());
                 }
             }
+
             _ui.m_boxChooseCanal.items = items.ToArray();
             _ui.m_boxChooseCanal.values = numbers.ToArray();
             _ui.m_boxChooseCanal.value = LauncherConfig.ChannelId + "";
@@ -163,8 +193,8 @@ namespace GFGGame
             {
                 GameConfig.LoginAddress = "http://10.108.64.127:10005";
             }
+
             ET.Log.Debug($"===选择的渠道=== {_ui.m_boxChooseCanal.value} {GameConfig.LoginAddress}");
         }
-
     }
 }

+ 1 - 0
GameClient/Assets/Game/HotUpdate/Views/Login/LoginView.cs

@@ -75,6 +75,7 @@ namespace GFGGame
         protected override void OnShown()
         {
             base.OnShown();
+            ResetLoginButton();
             Debug.Log($"ShowLogin OnShown");
             MusicManager.Instance.PlayCroutine(ResPathUtil.GetMusicPath(ConstMusicName.DEFAULT));
             Debug.Log($"ShowLogin DEFAULT");

+ 8 - 0
GameClient/Assets/ResIn/Font/1.meta

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

+ 0 - 0
GameClient/Assets/ResIn/Font/FangZhengHeiTiJianTi-1.ttf → GameClient/Assets/ResIn/Font/1/FangZhengHeiTiJianTi-1.ttf


+ 0 - 0
GameClient/Assets/ResIn/Font/FangZhengHeiTiJianTi-1.ttf.meta → GameClient/Assets/ResIn/Font/1/FangZhengHeiTiJianTi-1.ttf.meta


+ 8 - 0
GameClient/Assets/ResIn/Font/2.meta

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

+ 0 - 0
GameClient/Assets/ResIn/Font/FZKTJW--GB1-0.ttf → GameClient/Assets/ResIn/Font/2/FZKTJW--GB1-0.ttf


+ 0 - 0
GameClient/Assets/ResIn/Font/FZKTJW--GB1-0.ttf.meta → GameClient/Assets/ResIn/Font/2/FZKTJW--GB1-0.ttf.meta


+ 0 - 0
GameClient/Assets/ResIn/Font/SourceHanSerifCN-Bold-2.otf → GameClient/Assets/ResIn/Font/2/SourceHanSerifCN-Bold-2.otf


+ 0 - 0
GameClient/Assets/ResIn/Font/SourceHanSerifCN-Bold-2.otf.meta → GameClient/Assets/ResIn/Font/2/SourceHanSerifCN-Bold-2.otf.meta


+ 8 - 0
GameClient/Assets/ResIn/Font/3.meta

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

+ 0 - 0
GameClient/Assets/ResIn/Font/SourceHanSerifCN-ExtraLight-3.otf → GameClient/Assets/ResIn/Font/3/SourceHanSerifCN-ExtraLight-3.otf


+ 0 - 0
GameClient/Assets/ResIn/Font/SourceHanSerifCN-ExtraLight-3.otf.meta → GameClient/Assets/ResIn/Font/3/SourceHanSerifCN-ExtraLight-3.otf.meta


+ 8 - 0
GameClient/Assets/ResIn/Font/4.meta

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

+ 0 - 0
GameClient/Assets/ResIn/Font/SourceHanSerifCN-Heavy-4.otf → GameClient/Assets/ResIn/Font/4/SourceHanSerifCN-Heavy-4.otf


+ 0 - 0
GameClient/Assets/ResIn/Font/SourceHanSerifCN-Heavy-4.otf.meta → GameClient/Assets/ResIn/Font/4/SourceHanSerifCN-Heavy-4.otf.meta


+ 0 - 0
GameClient/Assets/ResIn/Font/SourceHanSerifCN-Light-5.otf → GameClient/Assets/ResIn/Font/4/SourceHanSerifCN-Light-5.otf


+ 0 - 0
GameClient/Assets/ResIn/Font/SourceHanSerifCN-Light-5.otf.meta → GameClient/Assets/ResIn/Font/4/SourceHanSerifCN-Light-5.otf.meta


+ 0 - 0
GameClient/Assets/ResIn/Font/SourceHanSerifCN-Medium-6.otf → GameClient/Assets/ResIn/Font/4/SourceHanSerifCN-Medium-6.otf


+ 0 - 0
GameClient/Assets/ResIn/Font/SourceHanSerifCN-Medium-6.otf.meta → GameClient/Assets/ResIn/Font/4/SourceHanSerifCN-Medium-6.otf.meta


+ 8 - 0
GameClient/Assets/ResIn/Font/5.meta

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

+ 0 - 0
GameClient/Assets/ResIn/Font/SourceHanSerifCN-Regular-1.otf → GameClient/Assets/ResIn/Font/5/SourceHanSerifCN-Regular-1.otf


+ 0 - 0
GameClient/Assets/ResIn/Font/SourceHanSerifCN-Regular-1.otf.meta → GameClient/Assets/ResIn/Font/5/SourceHanSerifCN-Regular-1.otf.meta


+ 0 - 0
GameClient/Assets/ResIn/Font/SourceHanSerifCN-SemiBold-7.otf → GameClient/Assets/ResIn/Font/5/SourceHanSerifCN-SemiBold-7.otf


+ 0 - 0
GameClient/Assets/ResIn/Font/SourceHanSerifCN-SemiBold-7.otf.meta → GameClient/Assets/ResIn/Font/5/SourceHanSerifCN-SemiBold-7.otf.meta


+ 1 - 1
GameClient/Assets/ShaderVariantCollectorSetting.asset

@@ -12,6 +12,6 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 44454e58a49818040a1aef5799e71b30, type: 3}
   m_Name: ShaderVariantCollectorSetting
   m_EditorClassIdentifier: 
-  SavePath: Assets/Res/ShaderVariants/MyShaderVariants.shadervariants
+  SavePath: 7f75a386dd5246cdb81d1caa050401ec
   CollectPackage: GameLogic
   ProcessCapacity: 1000