Browse Source

Merge branch 'master' of http://192.168.123.2:3000/ck/XiuXianGame

李桃 1 day ago
parent
commit
bbbaf11cc6
75 changed files with 3810 additions and 740 deletions
  1. 9 0
      Assets/Art/Environment/cj01.prefab
  2. 1 1
      Assets/Art/UIAssets/bg/bg_dongfu2.png.meta
  3. 1 1
      Assets/Art/VFX/Materials/UIMat/ui_ob_yindao_glow_add.mat
  4. 1 1
      Assets/Art/VFX/Materials/UIMat/ui_ob_yindao_quan.mat
  5. 1 0
      Assets/Obfuz/SymbolObfus/symbol-mapping.xml
  6. BIN
      Assets/Plugins/Android/SaaS_TalkingDataSDK_Android_V5.0.35.jar
  7. 0 37
      Assets/Plugins/Android/SaaS_TalkingDataSDK_Android_V5.0.35.jar.meta
  8. 0 371
      Assets/Plugins/iOS/TalkingDataSDK.h
  9. 0 33
      Assets/Plugins/iOS/TalkingDataSDK.h.meta
  10. BIN
      Assets/Plugins/iOS/libTalkingDataSDK.a
  11. 0 33
      Assets/Plugins/iOS/libTalkingDataSDK.a.meta
  12. 8 8
      Assets/Res/Config/DropGroupConfig.json
  13. 1 1
      Assets/Res/UI/BoxPanel/GachaPanel.prefab
  14. 2 2
      Assets/Res/UI/Canvas/Canvas.prefab
  15. 1 1
      Assets/Res/UI/DaoYouPanel/DaoYouInfoPanel.prefab
  16. 2 2
      Assets/Res/UI/LoadingPanel.prefab
  17. 931 0
      Assets/Res/UI/LoginMainPanel.prefab
  18. 7 0
      Assets/Res/UI/LoginMainPanel.prefab.meta
  19. 53 0
      Assets/Res/UI/LoginPanel.prefab
  20. 7 0
      Assets/Res/UI/LoginPanel.prefab.meta
  21. 972 44
      Assets/Res/UI/SettingPanel/SettingPanel.prefab
  22. 826 0
      Assets/Res/UI/SettingPanel/UploadLogPanel.prefab
  23. 7 0
      Assets/Res/UI/SettingPanel/UploadLogPanel.prefab.meta
  24. 1 1
      Assets/Resources/bg_zairu.png.meta
  25. 22 0
      Assets/Scripts/Core/Log/LogServeData.cs
  26. 1 1
      Assets/Scripts/Core/Log/LogServeData.cs.meta
  27. 127 0
      Assets/Scripts/Core/Log/LogServer.cs
  28. 11 0
      Assets/Scripts/Core/Log/LogServer.cs.meta
  29. 2 2
      Assets/Scripts/Core/Utility/Helper/TimeHelper.cs
  30. 6 2
      Assets/Scripts/GameLogic/Bag/BagController.cs
  31. 6 1
      Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/S3301.cs
  32. 2 0
      Assets/Scripts/GameLogic/Combat/Skill/S9013.cs
  33. 5 0
      Assets/Scripts/GameLogic/Combat/Skill/SkillBasic.cs
  34. 6 0
      Assets/Scripts/GameLogic/Paritcle/ParitcleLogic/FxAILogicBasic.cs
  35. 7 0
      Assets/Scripts/GameLogic/Paritcle/ParitcleLogic/FxParabolaBulletLogic.cs
  36. 18 0
      Assets/Scripts/GameLogic/Player/AccountFileInfo.cs
  37. 0 12
      Assets/Scripts/GameLogic/Player/PlayerData.cs
  38. 2 0
      Assets/Scripts/GameLogic/Player/PlayerManager.cs
  39. 91 0
      Assets/Scripts/GameUI/FTPManager.cs
  40. 11 0
      Assets/Scripts/GameUI/FTPManager.cs.meta
  41. 27 26
      Assets/Scripts/GameUI/GameApplction.cs
  42. 16 2
      Assets/Scripts/GameUI/UI/BoxPanel/BoxPanel.cs
  43. 1 1
      Assets/Scripts/GameUI/UI/HeroInformationPanel/HeroBreakthroughPanel.cs
  44. 2 1
      Assets/Scripts/GameUI/UI/LoginPanel.meta
  45. 48 0
      Assets/Scripts/GameUI/UI/LoginPanel/LoginMainPanel.cs
  46. 11 0
      Assets/Scripts/GameUI/UI/LoginPanel/LoginMainPanel.cs.meta
  47. 51 0
      Assets/Scripts/GameUI/UI/LoginPanel/LoginMainPanelData.cs
  48. 11 0
      Assets/Scripts/GameUI/UI/LoginPanel/LoginMainPanelData.cs.meta
  49. 43 0
      Assets/Scripts/GameUI/UI/LoginPanel/LoginPanel.cs
  50. 11 0
      Assets/Scripts/GameUI/UI/LoginPanel/LoginPanel.cs.meta
  51. 18 0
      Assets/Scripts/GameUI/UI/LoginPanel/LoginPanelData.cs
  52. 11 0
      Assets/Scripts/GameUI/UI/LoginPanel/LoginPanelData.cs.meta
  53. 16 2
      Assets/Scripts/GameUI/UI/SettingPanel/SettingPanel.cs
  54. 44 0
      Assets/Scripts/GameUI/UI/SettingPanel/SettingPanelData.cs
  55. 48 0
      Assets/Scripts/GameUI/UI/SettingPanel/UploadLogPanel.cs
  56. 11 0
      Assets/Scripts/GameUI/UI/SettingPanel/UploadLogPanel.cs.meta
  57. 62 0
      Assets/Scripts/GameUI/UI/SettingPanel/UploadLogPanelData.cs
  58. 11 0
      Assets/Scripts/GameUI/UI/SettingPanel/UploadLogPanelData.cs.meta
  59. 2 2
      Assets/Scripts/GameUI/UI/TipMessagePanel/TipMessagePanel.cs
  60. 31 26
      Assets/Scripts/ThirdParty/Crasheye/Crasheye.cs
  61. 2 1
      Assets/Scripts/ThirdParty/Crasheye/CrasheyeForUnityLib.asmdef
  62. 11 0
      Assets/Settings/rpAsset.asset
  63. BIN
      Excel2Json/Excel/ChouKa.xlsx
  64. BIN
      Excel2Json/Excel/Language.xlsx
  65. BIN
      Excel2Json/Excel/修仙游戏数据规划表.xlsx
  66. 7 0
      Packages/com.singularitygroup.hotreload/.gitignore
  67. 1 8
      Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadRunTab.cs
  68. 2 2
      Packages/com.singularitygroup.hotreload/Runtime/PackageConst.cs
  69. 1 1
      Packages/com.singularitygroup.hotreload/package.json
  70. 5 5
      Packages/manifest.json
  71. 49 46
      Packages/packages-lock.json
  72. 3 3
      ProjectSettings/ProjectVersion.txt
  73. 32 0
      ProjectSettings/ThreadInfoSettings.asset
  74. 73 60
      UserSettings/Layouts/default-2022.dwlt
  75. 1 0
      XiuXianGame.sln.DotSettings.user

+ 9 - 0
Assets/Art/Environment/cj01.prefab

@@ -63,6 +63,7 @@ MeshRenderer:
   m_virtualGeometry: 0
   m_virtualGeometryShadow: 0
   m_ShadingRate: 0
+  m_ForceDisableGRD: 0
   m_RenderingLayerMask: 4294967295
   m_RendererPriority: 0
   m_Materials:
@@ -184,6 +185,7 @@ MeshRenderer:
   m_virtualGeometry: 0
   m_virtualGeometryShadow: 0
   m_ShadingRate: 0
+  m_ForceDisableGRD: 0
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
@@ -271,6 +273,7 @@ MeshRenderer:
   m_virtualGeometry: 0
   m_virtualGeometryShadow: 0
   m_ShadingRate: 0
+  m_ForceDisableGRD: 0
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
@@ -391,6 +394,7 @@ MeshRenderer:
   m_virtualGeometry: 0
   m_virtualGeometryShadow: 0
   m_ShadingRate: 0
+  m_ForceDisableGRD: 0
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
@@ -478,6 +482,7 @@ MeshRenderer:
   m_virtualGeometry: 0
   m_virtualGeometryShadow: 0
   m_ShadingRate: 0
+  m_ForceDisableGRD: 0
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
@@ -565,6 +570,7 @@ MeshRenderer:
   m_virtualGeometry: 0
   m_virtualGeometryShadow: 0
   m_ShadingRate: 0
+  m_ForceDisableGRD: 0
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
@@ -644,6 +650,7 @@ MeshRenderer:
   m_virtualGeometry: 0
   m_virtualGeometryShadow: 0
   m_ShadingRate: 0
+  m_ForceDisableGRD: 0
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
@@ -739,6 +746,7 @@ MeshRenderer:
   m_virtualGeometry: 0
   m_virtualGeometryShadow: 0
   m_ShadingRate: 0
+  m_ForceDisableGRD: 0
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
@@ -835,6 +843,7 @@ MeshRenderer:
   m_virtualGeometry: 0
   m_virtualGeometryShadow: 0
   m_ShadingRate: 0
+  m_ForceDisableGRD: 0
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:

+ 1 - 1
Assets/Art/UIAssets/bg/bg_dongfu2.png.meta

@@ -128,7 +128,7 @@ TextureImporter:
     forceMaximumCompressionQuality_BC6H_BC7: 0
   - serializedVersion: 3
     buildTarget: Android
-    maxTextureSize: 1024
+    maxTextureSize: 2048
     maxPlaceholderSize: 32
     resizeAlgorithm: 0
     textureFormat: 50

+ 1 - 1
Assets/Art/VFX/Materials/UIMat/ui_ob_yindao_glow_add.mat

@@ -57,7 +57,7 @@ Material:
         m_Offset: {x: 0, y: 0}
     m_Ints: []
     m_Floats:
-    - _Alpha: 0.64393926
+    - _Alpha: 0
     - _AlphaCutoff: 0.5
     - _ColorMask: 15
     - _EnableExternalAlpha: 0

+ 1 - 1
Assets/Art/VFX/Materials/UIMat/ui_ob_yindao_quan.mat

@@ -57,7 +57,7 @@ Material:
         m_Offset: {x: 0, y: 0}
     m_Ints: []
     m_Floats:
-    - _Alpha: 0.39212424
+    - _Alpha: 0
     - _AlphaCutoff: 0.5
     - _ColorMask: 0
     - _EnableExternalAlpha: 0

+ 1 - 0
Assets/Obfuz/SymbolObfus/symbol-mapping.xml

@@ -2196,6 +2196,7 @@
       <method signature="object $Obfuz$ProxyCall::@$Obfuz$Dispatch_36812_10087402(object, object, int)" newName="$z" oldStackTraceSignature="$Obfuz$ProxyCall:$Obfuz$Dispatch_36812_10087402(Object, Object, Int32)" newStackTraceSignature="$p:$z(Object, Object, Int32)" />
       <method signature="string $Obfuz$ProxyCall::@$Obfuz$Dispatch_11150_11558398(object, int)" newName="$bA" oldStackTraceSignature="$Obfuz$ProxyCall:$Obfuz$Dispatch_11150_11558398(Object, Int32)" newStackTraceSignature="$p:$bA(Object, Int32)" />
       <method signature="string $Obfuz$ProxyCall::@$Obfuz$Dispatch_22824_11558398(int)" newName="$BA" oldStackTraceSignature="$Obfuz$ProxyCall:$Obfuz$Dispatch_22824_11558398(Int32)" newStackTraceSignature="$p:$BA(Int32)" />
+      <method signature="string $Obfuz$ProxyCall::@$Obfuz$Dispatch_59003_11558398(float, int)" newName="$M" oldStackTraceSignature="$Obfuz$ProxyCall:$Obfuz$Dispatch_59003_11558398(Single, Int32)" newStackTraceSignature="$p:$M(Single, Int32)" />
       <method signature="System.Threading.Tasks.Task $Obfuz$ProxyCall::@$Obfuz$Dispatch_50754_13355026(object, object, object, int)" newName="$CA" oldStackTraceSignature="$Obfuz$ProxyCall:$Obfuz$Dispatch_50754_13355026(Object, Object, Object, Int32)" newStackTraceSignature="$p:$CA(Object, Object, Object, Int32)" />
       <method signature="System.Threading.Tasks.Task`1&lt;[System.Net.Http]System.Net.Http.HttpResponseMessage&gt; $Obfuz$ProxyCall::@$Obfuz$Dispatch_50754_4049763(object, object, object, int)" newName="$dA" oldStackTraceSignature="$Obfuz$ProxyCall:$Obfuz$Dispatch_50754_4049763(Object, Object, Object, Int32)" newStackTraceSignature="$p:$dA(Object, Object, Object, Int32)" />
       <method signature="System.Threading.Tasks.Task`1&lt;string&gt; $Obfuz$ProxyCall::@$Obfuz$Dispatch_11150_4396324(object, int)" newName="$DA" oldStackTraceSignature="$Obfuz$ProxyCall:$Obfuz$Dispatch_11150_4396324(Object, Int32)" newStackTraceSignature="$p:$DA(Object, Int32)" />

BIN
Assets/Plugins/Android/SaaS_TalkingDataSDK_Android_V5.0.35.jar


+ 0 - 37
Assets/Plugins/Android/SaaS_TalkingDataSDK_Android_V5.0.35.jar.meta

@@ -1,37 +0,0 @@
-fileFormatVersion: 2
-guid: Dyge4y3/AC1DZuJ5wdNbbYHylxH24wqWLHjAqKZZiJJk2NCow+UXwbD710nW
-PluginImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  iconMap: {}
-  executionOrder: {}
-  defineConstraints: []
-  isPreloaded: 0
-  isOverridable: 0
-  isExplicitlyReferenced: 0
-  validateReferences: 1
-  platformData:
-  - first:
-      Android: Android
-    second:
-      enabled: 1
-      settings: {}
-  - first:
-      Any: 
-    second:
-      enabled: 0
-      settings: {}
-  - first:
-      Editor: Editor
-    second:
-      enabled: 0
-      settings:
-        DefaultValueInitialized: true
-  - first:
-      HMIAndroid: HMIAndroid
-    second:
-      enabled: 1
-      settings: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 0 - 371
Assets/Plugins/iOS/TalkingDataSDK.h

@@ -1,371 +0,0 @@
-//
-//  TalkingDataSDK.h
-//  TalkingData
-//
-//  Created by liweiqiang on 21-03-16.
-//  Copyright (c) 2021年 TendCloud. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-
-
-typedef NS_OPTIONS(NSUInteger, TalkingDataDisable) {
-    TalkingDataDisablePreciseArea           = 1 << 0,
-    TalkingDataDisableAnalyticsIntellignet  = 1 << 1,
-    TalkingDataDisableDeviceIdentification  = 1 << 2,
-    TalkingDataDisableAntiCheating          = 1 << 3,
-};
-
-typedef NS_ENUM(NSUInteger, TalkingDataVendorIdType) {
-    TalkingDataVendorIdTypeZX           = 1,    // 卓信
-    TalkingDataVendorIdTypeGX           = 2,    // 广协
-};
-
-typedef NS_ENUM(NSInteger, TalkingDataSharingFilter) {
-    TalkingDataSharingFilterShare       = 0,    // 可共享
-    TalkingDataSharingFilterOnlyInstall = 1,    // 仅共享Install事件
-    TalkingDataSharingFilterUnshare     = 2,    // 不可共享
-};
-
-typedef NS_ENUM(NSUInteger, TalkingDataProfileType) {
-    TalkingDataProfileTypeAnonymous     = 0,    // 匿名账户
-    TalkingDataProfileTypeRegistered    = 1,    // 显性注册账户
-    TalkingDataProfileTypeSinaWeibo     = 2,    // 新浪微博
-    TalkingDataProfileTypeQQ            = 3,    // QQ账户
-    TalkingDataProfileTypeQQWeibo       = 4,    // 腾讯微博
-    TalkingDataProfileTypeND91          = 5,    // 91账户
-    TalkingDataProfileTypeWeiXin        = 6,    // 微信
-    TalkingDataProfileTypeType1         = 11,   // 自定义类型1
-    TalkingDataProfileTypeType2         = 12,   // 自定义类型2
-    TalkingDataProfileTypeType3         = 13,   // 自定义类型3
-    TalkingDataProfileTypeType4         = 14,   // 自定义类型4
-    TalkingDataProfileTypeType5         = 15,   // 自定义类型5
-    TalkingDataProfileTypeType6         = 16,   // 自定义类型6
-    TalkingDataProfileTypeType7         = 17,   // 自定义类型7
-    TalkingDataProfileTypeType8         = 18,   // 自定义类型8
-    TalkingDataProfileTypeType9         = 19,   // 自定义类型9
-    TalkingDataProfileTypeType10        = 20,   // 自定义类型10
-};
-
-typedef NS_ENUM(NSUInteger, TalkingDataGender) {
-    TalkingDataGenderUnknown            = 0,    // 未知
-    TalkingDataGenderMale               = 1,    // 男
-    TalkingDataGenderFemale             = 2,    // 女
-};
-
-
-@interface TalkingDataProfile : NSObject
-
-+ (TalkingDataProfile *)createProfile;
-
-// 账户名称
-@property (nonatomic, strong) NSString *name;
-// 账户类型
-@property (nonatomic, assign) TalkingDataProfileType type;
-// 用户性别
-@property (nonatomic, assign) TalkingDataGender gender;
-// 用户年龄
-@property (nonatomic, assign) int age;
-
-// 自定义属性1-10,类型为NSString或NSNumber
-@property (nonatomic, strong) id property1;
-@property (nonatomic, strong) id property2;
-@property (nonatomic, strong) id property3;
-@property (nonatomic, strong) id property4;
-@property (nonatomic, strong) id property5;
-@property (nonatomic, strong) id property6;
-@property (nonatomic, strong) id property7;
-@property (nonatomic, strong) id property8;
-@property (nonatomic, strong) id property9;
-@property (nonatomic, strong) id property10;
-
-@end
-
-
-@interface TalkingDataSearch : NSObject
-
-+ (TalkingDataSearch *)createSearch;
-
-// 搜索类别
-@property (nonatomic, strong) NSString *category;
-// 搜索内容
-@property (nonatomic, strong) NSString *content;
-
-
-
-@end
-
-
-
-
-
-
-@interface TalkingDataSDK : NSObject
-
-/**
- *  获取TalkingData分配的设备ID
- *  @return deviceId        设备的ID
- */
-+ (NSString *)getDeviceId;
-
-/**
- *  设置不显示日志。如发布时不需显示日志,应当最先调用该接口。
- */
-+ (void)setVerboseLogDisable;
-
-/**
- *  设置关闭配置
- */
-+ (void)setConfigurationDisable:(TalkingDataDisable)options;
-
-
-
-/**
- *  开启后台使用时长统计,需在SDK初始化之前调用。
- */
-+ (void)backgroundSessionEnabled;
-
-#if TARGET_OS_IOS
-/**
- *  用于精准的追踪以Safari作为资源载体的广告来源,如果需要使用应当在init接口之前调用。
- */
-+ (void)enableSFSafariViewControllerTracking API_DEPRECATED("此接口会影响到用户交互,使用前请确保和产品、业务沟通清楚!", ios(1, 1));
-#endif
-
-/**
- *  此接口已废弃,请调用'initSDK'和'startA'接口,详细说明请见官网集成文档。
- */
-+ (void)init:(NSString *)appId channelId:(NSString *)channelId custom:(NSString *)custom NS_UNAVAILABLE;
-
-/**
- *  SDK初始化接口,仅会执行SDK初始化,不会进行任何信息采集。
- *  请在application:didFinishLaunchingWithOptions:中调用
- *  @param  appId           应用的唯一标识,统计后台注册得到
- *  @param  channelId       渠道名(可选)。如“AppStore”
- *  @param  custom          自定义参数(可选)。
- */
-+ (void)initSDK:(NSString *)appId channelId:(NSString *)channelId custom:(NSString *)custom;
-
-/**
- *  SDK启动分析,基础数据准备。
- */
-+ (void)startA;
-
-/**
- *  设置第三方的ID
- *  @param  vendorId        第三方的ID
- *  @param  type            ID的提供方
- */
-+ (void)setVendorId:(NSString *)vendorId ofType:(TalkingDataVendorIdType)type;
-
-/**
- *  设置位置信息
- *  @param  latitude        纬度
- *  @param  longitude       经度
- */
-+ (void)setLatitude:(double)latitude longitude:(double)longitude;
-
-/**
- *  设置自定义数据是否可共享
- *  @param flag             是否可共享
- */
-+ (void)setCustomDataSwitch:(TalkingDataSharingFilter)flag;
-
-#if TARGET_OS_IOS
-/**
- *  是否捕捉程序崩溃记录
- *  如果需要记录程序崩溃日志,请将值设成YES,并且在初始化后尽早调用
- *  @param  enable          默认NO
- */
-+ (void)setExceptionReportEnabled:(BOOL)enable;
-
-/**
- *  是否捕捉异常信号
- *  如果需要开启异常信号捕捉功能,请将值设成YES,并且在初始化后尽早调用
- *  @param  enable          默认NO
- */
-+ (void)setSignalReportEnabled:(BOOL)enable;
-#endif
-
-/**
- *  开始跟踪某一页面,记录页面打开时间
- *  建议在viewWillAppear或者viewDidAppear中调用
- *  @param  pageName        页面名称
- */
-+ (void)onPageBegin:(NSString *)pageName;
-
-/**
- *  结束某一页面的跟踪,记录页面的关闭时间
- *  此接口与onPageBegin接口结对使用
- *  建议在viewWillDisappear或者viewDidDisappear中调用
- *  @param  pageName        页面名称,请跟onPageBegin接口的页面名称保持一致
- */
-+ (void)onPageEnd:(NSString *)pageName;
-
-/**
- *  获取短链
- *  @param  params          生成短链所参数
- *  @param  callback        返回结果
- */
-+ (void)getShortUrl:(NSDictionary *)params callback:(void (^)(NSString *shortUrl))callback;
-
-#if TARGET_OS_IOS
-/**
- *  获取延时链接
- */
-+ (NSString *)getDeferredLink;
-#endif
-
-/**
- *  处理UniversalLink
- *  @param  userActivity    获取到的NSUserActivity对象
- *  @return deeplink        深度链接
- */
-+ (NSString *)handleUniversalLink:(NSUserActivity *)userActivity;
-
-/**
- *  唤醒事件
- *  @param  link            唤醒链接
- */
-+ (void)onReceiveDeepLink:(NSURL *)link;
-
-/**
- *  注册
- *  @param  profileId       账户ID
- *  @param  profile         账户属性
- *  @param  invitationCode  邀请码
- *  @param  eventValue      用户自定义事件参数
- */
-+ (void)onRegister:(NSString *)profileId profile:(TalkingDataProfile *)profile invitationCode:(NSString *)invitationCode eventValue:(NSDictionary *)eventValue;
-+ (void)onRegister:(NSString *)profileId profile:(TalkingDataProfile *)profile invitationCode:(NSString *)invitationCode;
-
-/**
- *  登录
- *  @param  profileId       账户ID
- *  @param  profile         账户属性
- *  @param  eventValue      用户自定义事件参数
- */
-+ (void)onLogin:(NSString *)profileId profile:(TalkingDataProfile *)profile eventValue:(NSDictionary *)eventValue;
-+ (void)onLogin:(NSString *)profileId profile:(TalkingDataProfile *)profile;
-
-/**
- *  更新账户信息
- *  @param  profile         账户属性
- */
-+ (void)onProfileUpdate:(TalkingDataProfile *)profile;
-
-/**
- *  添加支付信息
- *  @param  profileId       账户ID
- *  @param  method          支付方式
- *  @param  content         支付信息
- */
-+ (void)onCreateCard:(NSString *)profileId method:(NSString *)method content:(NSString *)content;
-
-/**
- *  收藏
- *  @param  category        收藏类别
- *  @param  content         收藏内容
- *  @param  eventValue      用户自定义事件参数
- */
-+ (void)onFavorite:(NSString *)category content:(NSString *)content eventValue:(NSDictionary *)eventValue;
-+ (void)onFavorite:(NSString *)category content:(NSString *)content;
-
-/**
- *  分享
- *  @param  profileId       账户ID
- *  @param  content         分享内容
- *  @param  eventValue      用户自定义事件参数
- */
-+ (void)onShare:(NSString *)profileId content:(NSString *)content eventValue:(NSDictionary *)eventValue;
-+ (void)onShare:(NSString *)profileId content:(NSString *)content;
-
-/**
- *  签到打卡
- *  @param  profileId       账户ID
- *  @param  punchId         签到打卡ID
- */
-+ (void)onPunch:(NSString *)profileId punchId:(NSString *)punchId;
-
-/**
- *  搜索事件
- *  @param  search          搜索信息详情
- */
-+ (void)onSearch:(TalkingDataSearch *)search;
-
-
-/**
- *  付费
- *  @param  profileId       账户ID
- *  @param  orderId         订单ID
- *  @param  amount          订单金额
- *  @param  currencyType    货币类型
- *  @param  paymentType     支付类型
- *  @param  itemId          商品ID
- *  @param  itemCount       商品个数
- */
-+ (void)onPay:(NSString *)profileId orderId:(NSString *)orderId amount:(int)amount currencyType:(NSString *)currencyType paymentType:(NSString *)paymentType itemId:(NSString *)itemId itemCount:(int)itemCount;
-
-
-
-
-
-
-/**
- *  创建角色
- *  @param  name            角色名称
- */
-+ (void)onCreateRole:(NSString *)name;
-
-/**
- *  通过关卡
- *  @param  profileId       账户ID
- *  @param  levelId         关卡ID
- */
-+ (void)onLevelPass:(NSString *)profileId levelId:(NSString *)levelId;
-
-/**
- *  完成新手教程
- *  @param  profileId       账户ID
- *  @param  content         教程信息
- */
-+ (void)onGuideFinished:(NSString *)profileId content:(NSString *)content;
-
-
-
-
-
-/**
- *  解锁成就
- *  @param  profileId       账户ID
- *  @param  achievementId   成就ID
- */
-+ (void)onAchievementUnlock:(NSString *)profileId achievementId:(NSString *)achievementId;
-
-
-
-/**
- *  自定义事件
- *  @param  eventId         事件名称
- *  @param  parameters      事件参数 (key只支持NSString, value支持NSString和NSNumber)
- *  @param  eventValue      用户自定义事件参数
- */
-+ (void)onEvent:(NSString *)eventId parameters:(NSDictionary *)parameters eventValue:(NSDictionary *)eventValue;
-+ (void)onEvent:(NSString *)eventId parameters:(NSDictionary *)parameters;
-+ (void)onEvent:(NSString *)eventId value:(double)eventValue parameters:(NSDictionary *)parameters API_DEPRECATED_WITH_REPLACEMENT("onEvent:parameters", ios(1,1));
-
-/**
- *  添加自定义事件全局参数
- *  @param  key             参数的key
- *  @param  value           参数的value,NSString或NSNumber类型
- */
-+ (void)setGlobalKV:(NSString *)key value:(id)value;
-
-/**
- *  删除自定义事件全局参数
- *  @param  key             参数的key
- */
-+ (void)removeGlobalKV:(NSString *)key;
-
-
-@end

+ 0 - 33
Assets/Plugins/iOS/TalkingDataSDK.h.meta

@@ -1,33 +0,0 @@
-fileFormatVersion: 2
-guid: DClKti77ByieIhHY0YWf82YQDD08sQfDyrhQvjqNsrUCAhr6rVJaNqQ73MZu
-PluginImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  iconMap: {}
-  executionOrder: {}
-  defineConstraints: []
-  isPreloaded: 0
-  isOverridable: 0
-  isExplicitlyReferenced: 0
-  validateReferences: 1
-  platformData:
-  - first:
-      Any: 
-    second:
-      enabled: 0
-      settings: {}
-  - first:
-      Editor: Editor
-    second:
-      enabled: 0
-      settings:
-        DefaultValueInitialized: true
-  - first:
-      iPhone: iOS
-    second:
-      enabled: 1
-      settings:
-        AddToEmbeddedBinaries: false
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

BIN
Assets/Plugins/iOS/libTalkingDataSDK.a


+ 0 - 33
Assets/Plugins/iOS/libTalkingDataSDK.a.meta

@@ -1,33 +0,0 @@
-fileFormatVersion: 2
-guid: Wi9JsyOkWihx5hXyiIHc26HHELpe/4siQfX57B6gPZN10IQ7xP3JZmvyMbvK
-PluginImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  iconMap: {}
-  executionOrder: {}
-  defineConstraints: []
-  isPreloaded: 0
-  isOverridable: 0
-  isExplicitlyReferenced: 0
-  validateReferences: 1
-  platformData:
-  - first:
-      Any: 
-    second:
-      enabled: 0
-      settings: {}
-  - first:
-      Editor: Editor
-    second:
-      enabled: 0
-      settings:
-        DefaultValueInitialized: true
-  - first:
-      iPhone: iOS
-    second:
-      enabled: 1
-      settings:
-        AddToEmbeddedBinaries: true
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 8 - 8
Assets/Res/Config/DropGroupConfig.json

@@ -51,28 +51,28 @@
     },
     {
       "ID": 8,
-      "dropRate": 752,
+      "dropRate": 764,
       "dropItemID": [
         8
       ]
     },
     {
       "ID": 9,
-      "dropRate": 188,
+      "dropRate": 191,
       "dropItemID": [
         9
       ]
     },
     {
       "ID": 10,
-      "dropRate": 40,
+      "dropRate": 30,
       "dropItemID": [
         10
       ]
     },
     {
       "ID": 11,
-      "dropRate": 20,
+      "dropRate": 15,
       "dropItemID": [
         11
       ]
@@ -93,28 +93,28 @@
     },
     {
       "ID": 14,
-      "dropRate": 808,
+      "dropRate": 821,
       "dropItemID": [
         10
       ]
     },
     {
       "ID": 15,
-      "dropRate": 162,
+      "dropRate": 164,
       "dropItemID": [
         11
       ]
     },
     {
       "ID": 16,
-      "dropRate": 20,
+      "dropRate": 10,
       "dropItemID": [
         12
       ]
     },
     {
       "ID": 17,
-      "dropRate": 10,
+      "dropRate": 5,
       "dropItemID": [
         13
       ]

+ 1 - 1
Assets/Res/UI/BoxPanel/GachaPanel.prefab

@@ -1751,7 +1751,7 @@ MonoBehaviour:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 4167220551134749730}
-  m_Enabled: 0
+  m_Enabled: 1
   m_EditorHideFlags: 0
   m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
   m_Name: 

+ 2 - 2
Assets/Res/UI/Canvas/Canvas.prefab

@@ -262,7 +262,7 @@ MonoBehaviour:
   m_ScaleFactor: 1
   m_ReferenceResolution: {x: 750, y: 1624}
   m_ScreenMatchMode: 0
-  m_MatchWidthOrHeight: 0
+  m_MatchWidthOrHeight: 1
   m_PhysicalUnit: 3
   m_FallbackScreenDPI: 96
   m_DefaultSpriteDPI: 96
@@ -427,7 +427,7 @@ MonoBehaviour:
   m_RenderShadows: 0
   m_RequiresDepthTextureOption: 0
   m_RequiresOpaqueTextureOption: 2
-  m_CameraType: 1
+  m_CameraType: 0
   m_Cameras: []
   m_RendererIndex: -1
   m_VolumeLayerMask:

+ 1 - 1
Assets/Res/UI/DaoYouPanel/DaoYouInfoPanel.prefab

@@ -8103,7 +8103,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 1
+  m_IsActive: 0
 --- !u!224 &6226328605185051319
 RectTransform:
   m_ObjectHideFlags: 0

+ 2 - 2
Assets/Res/UI/LoadingPanel.prefab

@@ -73,7 +73,7 @@ MonoBehaviour:
     m_BestFit: 0
     m_MinSize: 10
     m_MaxSize: 40
-    m_Alignment: 0
+    m_Alignment: 4
     m_AlignByGeometry: 0
     m_RichText: 1
     m_HorizontalOverflow: 0
@@ -157,7 +157,7 @@ MonoBehaviour:
   m_UseSpriteMesh: 0
   m_PixelsPerUnitMultiplier: 1
   _icon_name: 
-  isNotLoadDeftIcon: 0
+  isNotLoadDeftIcon: 1
   CurrSpriteAtlas: {fileID: 0}
   packInfo:
     packName: 

+ 931 - 0
Assets/Res/UI/LoginMainPanel.prefab

@@ -0,0 +1,931 @@
+%YAML 1.1
+%TAG !u! tag:yousandi.cn,2023:
+--- !u!1 &995126037019199690
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 7713014406871234025}
+  - component: {fileID: 3103246429897370719}
+  - component: {fileID: 771800208932452465}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: myImage
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &7713014406871234025
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 995126037019199690}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 8771496799497415495}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 0.5}
+  m_AnchorMax: {x: 1, y: 0.5}
+  m_AnchoredPosition: {x: -0.000030517578, y: 0.00001}
+  m_SizeDelta: {x: 211.6228, y: 40}
+  m_Pivot: {x: 1, y: 0.5}
+--- !u!222 &3103246429897370719
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 995126037019199690}
+  m_CullTransparentMesh: 1
+--- !u!114 &771800208932452465
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 995126037019199690}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.47058827, g: 0.6627451, b: 0.82745105, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: c0c46614f24bc234b92e828eae8336c3, type: 3}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!1 &1612647517547546089
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 1272773764688079078}
+  - component: {fileID: 5144410889156354682}
+  - component: {fileID: 6179222237488201700}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: Text_versions
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1272773764688079078
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1612647517547546089}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 8311278189826985699}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 24.9, y: 4.700012}
+  m_SizeDelta: {x: 167.0842, y: 33}
+  m_Pivot: {x: 0, y: 0}
+--- !u!222 &5144410889156354682
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1612647517547546089}
+  m_CullTransparentMesh: 1
+--- !u!114 &6179222237488201700
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1612647517547546089}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: e588d93665211944387ec8c03c8726ae, type: 3}
+    m_FontSize: 30
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 40
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: 0.0.0
+--- !u!1 &4486599056176389083
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 4081330743179339612}
+  - component: {fileID: 4946186619170166794}
+  - component: {fileID: 724498571649078918}
+  - component: {fileID: 2611010534754045306}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: Btn_SettingPanel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4081330743179339612
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4486599056176389083}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 8311278189826985699}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 0}
+  m_AnchorMax: {x: 1, y: 0}
+  m_AnchoredPosition: {x: -24.700012, y: 4.700012}
+  m_SizeDelta: {x: 60, y: 45}
+  m_Pivot: {x: 1, y: 0}
+--- !u!222 &4946186619170166794
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4486599056176389083}
+  m_CullTransparentMesh: 1
+--- !u!114 &724498571649078918
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4486599056176389083}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3c247620ca3a1fd4ab2a2f3a5b287e07, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+  _icon_name: dec_xuanxiang
+  isNotLoadDeftIcon: 0
+  CurrSpriteAtlas: {fileID: 100100200, guid: b02f6b41a7a9fa8458f4226ab6b3ea47, type: 3}
+  packInfo:
+    packName: tongyong
+    packgJsonPath: /Art/UIAssets/TextrueJson\tongyong.txt
+    packgSpritePath: Assets/Res/UIAtlas/tongyong.spriteatlasv2
+    lasetJsonGUID: 9c62e511fc97bc019d716bfc92e68086
+  imageH: 100
+  useGradient: 0
+  topOrLeftColor: {r: 1, g: 1, b: 1, a: 1}
+  bottomOrRightColor: {r: 0, g: 0, b: 0, a: 1}
+  direction: 0
+--- !u!114 &2611010534754045306
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4486599056176389083}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 724498571649078918}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!1 &4993911372966654358
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 1669281409109345828}
+  - component: {fileID: 5060074385960820424}
+  - component: {fileID: 8936581939649475887}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: myImage
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1669281409109345828
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4993911372966654358}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 8311278189826985699}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 1008.9492, y: 1793.6875}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &5060074385960820424
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4993911372966654358}
+  m_CullTransparentMesh: 1
+--- !u!114 &8936581939649475887
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4993911372966654358}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3c247620ca3a1fd4ab2a2f3a5b287e07, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: a7151090b5e39ea43b49260b8b1677d0, type: 3}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+  _icon_name: 
+  isNotLoadDeftIcon: 1
+  CurrSpriteAtlas: {fileID: 0}
+  packInfo:
+    packName: 
+    packgJsonPath: 
+    packgSpritePath: 
+    lasetJsonGUID: 
+  imageH: 100
+  useGradient: 0
+  topOrLeftColor: {r: 1, g: 1, b: 1, a: 1}
+  bottomOrRightColor: {r: 0, g: 0, b: 0, a: 1}
+  direction: 0
+--- !u!1 &5102787882956593370
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 1349582854090367586}
+  - component: {fileID: 6225226684048748017}
+  - component: {fileID: 8794682537542963386}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: Text (Legacy)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1349582854090367586
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5102787882956593370}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 8311278189826985699}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0}
+  m_AnchorMax: {x: 0.5, y: 0}
+  m_AnchoredPosition: {x: 0, y: 113.4}
+  m_SizeDelta: {x: 660.2, y: 33}
+  m_Pivot: {x: 0.5, y: 0}
+--- !u!222 &6225226684048748017
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5102787882956593370}
+  m_CullTransparentMesh: 1
+--- !u!114 &8794682537542963386
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5102787882956593370}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: e588d93665211944387ec8c03c8726ae, type: 3}
+    m_FontSize: 30
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: "\u51C6\u5907\u8D44\u6E90\u4E2D..."
+--- !u!1 &5484466371172864172
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 8311278189826985699}
+  - component: {fileID: 8171916528849988951}
+  - component: {fileID: 8999724834135470386}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: LoginMainPanel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8311278189826985699
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5484466371172864172}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 1669281409109345828}
+  - {fileID: 3062357519343784547}
+  - {fileID: 4081330743179339612}
+  - {fileID: 4348983453015291711}
+  - {fileID: 1349582854090367586}
+  - {fileID: 1272773764688079078}
+  m_Father: {fileID: 0}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 750, y: 1624}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &8171916528849988951
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5484466371172864172}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4810a0857c909354fa00c3aafdeac753, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  data:
+  - key: Btn_SettingPanel
+    gameObject: {fileID: 2611010534754045306}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: gameStartUIPanel
+    gameObject: {fileID: 8999724834135470386}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: Text_versions
+    gameObject: {fileID: 6179222237488201700}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  isAssetBundle: 1
+--- !u!114 &8999724834135470386
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5484466371172864172}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d43f70b9325be3941a54497df8c6ad90, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  massgeText: {fileID: 8794682537542963386}
+  loadSlider: {fileID: 6006827035875193672}
+--- !u!1 &6117413393520633986
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 8771496799497415495}
+  - component: {fileID: 6721237499520566647}
+  - component: {fileID: 327744494065118436}
+  - component: {fileID: 7599468897853215254}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: Fill
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8771496799497415495
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6117413393520633986}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 7713014406871234025}
+  m_Father: {fileID: 2532837177709036705}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &6721237499520566647
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6117413393520633986}
+  m_CullTransparentMesh: 1
+--- !u!114 &327744494065118436
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6117413393520633986}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.41176474, g: 0.5294118, b: 0.6313726, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!114 &7599468897853215254
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6117413393520633986}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_ShowMaskGraphic: 1
+--- !u!1 &6256583385672431352
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 3062357519343784547}
+  - component: {fileID: 2011940515455338190}
+  - component: {fileID: 7145450703204254466}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: myImage (1)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3062357519343784547
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6256583385672431352}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 8311278189826985699}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 1}
+  m_AnchorMax: {x: 0.5, y: 1}
+  m_AnchoredPosition: {x: 5, y: -61}
+  m_SizeDelta: {x: 497, y: 313}
+  m_Pivot: {x: 0.5, y: 1}
+--- !u!222 &2011940515455338190
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6256583385672431352}
+  m_CullTransparentMesh: 1
+--- !u!114 &7145450703204254466
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6256583385672431352}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3c247620ca3a1fd4ab2a2f3a5b287e07, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: c445c0199876d6c4f954649a5f0863a3, type: 3}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+  _icon_name: 
+  isNotLoadDeftIcon: 1
+  CurrSpriteAtlas: {fileID: 0}
+  packInfo:
+    packName: 
+    packgJsonPath: 
+    packgSpritePath: 
+    lasetJsonGUID: 
+  imageH: 100
+  useGradient: 0
+  topOrLeftColor: {r: 1, g: 1, b: 1, a: 1}
+  bottomOrRightColor: {r: 0, g: 0, b: 0, a: 1}
+  direction: 0
+--- !u!1 &6654770035679001245
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 2532837177709036705}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: Fill Area
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2532837177709036705
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6654770035679001245}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 8771496799497415495}
+  m_Father: {fileID: 4348983453015291711}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.25}
+  m_AnchorMax: {x: 1, y: 0.75}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: -6.0000024, y: -6}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &6801242737713637080
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 4348983453015291711}
+  - component: {fileID: 6006827035875193672}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: LoadSlider
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4348983453015291711
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6801242737713637080}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 7532415302158936677}
+  - {fileID: 2532837177709036705}
+  m_Father: {fileID: 8311278189826985699}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0}
+  m_AnchorMax: {x: 0.5, y: 0}
+  m_AnchoredPosition: {x: 0, y: 37.7}
+  m_SizeDelta: {x: 699.8201, y: 66.6589}
+  m_Pivot: {x: 0.5, y: 0}
+--- !u!114 &6006827035875193672
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6801242737713637080}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 0
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 0}
+  m_FillRect: {fileID: 8771496799497415495}
+  m_HandleRect: {fileID: 0}
+  m_Direction: 0
+  m_MinValue: 0
+  m_MaxValue: 1
+  m_WholeNumbers: 0
+  m_Value: 1
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!1 &9022277136314658582
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 7532415302158936677}
+  - component: {fileID: 4650044166536515792}
+  - component: {fileID: 9003601572674195284}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: Background
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &7532415302158936677
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 9022277136314658582}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 4348983453015291711}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.25}
+  m_AnchorMax: {x: 1, y: 0.75}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &4650044166536515792
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 9022277136314658582}
+  m_CullTransparentMesh: 1
+--- !u!114 &9003601572674195284
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 9022277136314658582}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.15686275, g: 0.14901961, b: 0.12941177, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1

+ 7 - 0
Assets/Res/UI/LoginMainPanel.prefab.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: Xi4a5yqkBXLtwCclA4FVoMNVD652Wmsgf/FAeeEhEcGjZlnroJjjy9YuszEc
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: loadingpanel
+  assetBundleVariant: 

+ 53 - 0
Assets/Res/UI/LoginPanel.prefab

@@ -0,0 +1,53 @@
+%YAML 1.1
+%TAG !u! tag:yousandi.cn,2023:
+--- !u!1 &5484466371172864172
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 8311278189826985699}
+  - component: {fileID: 6015648164429520880}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: LoginPanel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8311278189826985699
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5484466371172864172}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 750, y: 1624}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &6015648164429520880
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5484466371172864172}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4810a0857c909354fa00c3aafdeac753, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  data: []
+  isAssetBundle: 1

+ 7 - 0
Assets/Res/UI/LoginPanel.prefab.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: XChNsi2oVy4qrBxQNLVQDExLXEOTe7FqTKxtNGH6kXVNQpY4aZbTgAvjAjlL
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: loadingpanel
+  assetBundleVariant: 

File diff suppressed because it is too large
+ 972 - 44
Assets/Res/UI/SettingPanel/SettingPanel.prefab


+ 826 - 0
Assets/Res/UI/SettingPanel/UploadLogPanel.prefab

@@ -0,0 +1,826 @@
+%YAML 1.1
+%TAG !u! tag:yousandi.cn,2023:
+--- !u!1 &403638407809819782
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 4160643369365326472}
+  - component: {fileID: 7008343222778063613}
+  - component: {fileID: 6071842447484209667}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: myImage
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4160643369365326472
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 403638407809819782}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 3335154821151865286}
+  - {fileID: 2829838969233991924}
+  - {fileID: 8913697450959205694}
+  m_Father: {fileID: 9037135992368401232}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 624, y: 478.6177}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &7008343222778063613
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 403638407809819782}
+  m_CullTransparentMesh: 1
+--- !u!114 &6071842447484209667
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 403638407809819782}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3c247620ca3a1fd4ab2a2f3a5b287e07, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.9058824, g: 0.882353, b: 0.82745105, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+  _icon_name: dec_juxing_fang_hujiao
+  isNotLoadDeftIcon: 0
+  CurrSpriteAtlas: {fileID: 100100200, guid: b02f6b41a7a9fa8458f4226ab6b3ea47, type: 3}
+  packInfo:
+    packName: tongyong
+    packgJsonPath: /Art/UIAssets/TextrueJson\tongyong.txt
+    packgSpritePath: Assets/Res/UIAtlas/tongyong.spriteatlasv2
+    lasetJsonGUID: d570df61e5e429dc2d9169bbaecec167
+  imageH: 100
+  useGradient: 0
+  topOrLeftColor: {r: 1, g: 1, b: 1, a: 1}
+  bottomOrRightColor: {r: 0, g: 0, b: 0, a: 1}
+  direction: 0
+--- !u!1 &2965460640040097079
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 2829838969233991924}
+  - component: {fileID: 3505351788308317489}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: Btn_YinXiao (1)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2829838969233991924
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2965460640040097079}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 1
+  m_Children:
+  - {fileID: 4465562703701704461}
+  - {fileID: 2992885620383388598}
+  m_Father: {fileID: 4160643369365326472}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 69.34328}
+  m_SizeDelta: {x: 476.71, y: 100}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &3505351788308317489
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2965460640040097079}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 0}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!1 &2992072252845435866
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 4465562703701704461}
+  - component: {fileID: 4933128729536331500}
+  - component: {fileID: 2324201114895334489}
+  - component: {fileID: 3892912416871182358}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: txt
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4465562703701704461
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2992072252845435866}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 2829838969233991924}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.5}
+  m_AnchorMax: {x: 0, y: 0.5}
+  m_AnchoredPosition: {x: -56, y: 0}
+  m_SizeDelta: {x: 122.8878, y: 100}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!222 &4933128729536331500
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2992072252845435866}
+  m_CullTransparentMesh: 1
+--- !u!114 &2324201114895334489
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2992072252845435866}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 1, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: e588d93665211944387ec8c03c8726ae, type: 3}
+    m_FontSize: 48
+    m_FontStyle: 1
+    m_BestFit: 1
+    m_MinSize: 4
+    m_MaxSize: 48
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: "\u8BBE\u5907id"
+--- !u!114 &3892912416871182358
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2992072252845435866}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e19747de3f5aca642ab2be37e372fb86, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_EffectColor: {r: 0.41960785, g: 0.31764707, b: 0.16862746, a: 1}
+  m_EffectDistance: {x: 1.4, y: 1.4}
+  m_UseGraphicAlpha: 1
+--- !u!1 &3069451813354621096
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 8913697450959205694}
+  - component: {fileID: 4241911780120012977}
+  - component: {fileID: 8343795687634011450}
+  - component: {fileID: 4586964149638742131}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: Btn_UploadLog
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8913697450959205694
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3069451813354621096}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 2794589414433100854}
+  m_Father: {fileID: 4160643369365326472}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0}
+  m_AnchorMax: {x: 0.5, y: 0}
+  m_AnchoredPosition: {x: 0, y: 73.35211}
+  m_SizeDelta: {x: 315.7455, y: 100}
+  m_Pivot: {x: 0.5, y: 0}
+--- !u!222 &4241911780120012977
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3069451813354621096}
+  m_CullTransparentMesh: 1
+--- !u!114 &8343795687634011450
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3069451813354621096}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3c247620ca3a1fd4ab2a2f3a5b287e07, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 0, b: 0, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+  _icon_name: dec_juxing_fang_hujiao
+  isNotLoadDeftIcon: 0
+  CurrSpriteAtlas: {fileID: 100100200, guid: b02f6b41a7a9fa8458f4226ab6b3ea47, type: 3}
+  packInfo:
+    packName: tongyong
+    packgJsonPath: /Art/UIAssets/TextrueJson\tongyong.txt
+    packgSpritePath: Assets/Res/UIAtlas/tongyong.spriteatlasv2
+    lasetJsonGUID: 9c62e511fc97bc019d716bfc92e68086
+  imageH: 100
+  useGradient: 0
+  topOrLeftColor: {r: 1, g: 1, b: 1, a: 1}
+  bottomOrRightColor: {r: 0, g: 0, b: 0, a: 1}
+  direction: 0
+--- !u!114 &4586964149638742131
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3069451813354621096}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 8343795687634011450}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!1 &5450680752029178968
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 2794589414433100854}
+  - component: {fileID: 8231089540682630800}
+  - component: {fileID: 6880897483825389491}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: Text (Legacy)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2794589414433100854
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5450680752029178968}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 8913697450959205694}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8231089540682630800
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5450680752029178968}
+  m_CullTransparentMesh: 1
+--- !u!114 &6880897483825389491
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5450680752029178968}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: e588d93665211944387ec8c03c8726ae, type: 3}
+    m_FontSize: 65
+    m_FontStyle: 1
+    m_BestFit: 0
+    m_MinSize: 0
+    m_MaxSize: 169
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: "\u4E0A\u4F20\u65E5\u5FD7"
+--- !u!1 &6325889996112339402
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 2354120935780841372}
+  - component: {fileID: 3517552548751133641}
+  - component: {fileID: 9180553255168365292}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: Icon_Marsk
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &2354120935780841372
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6325889996112339402}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 9037135992368401232}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &3517552548751133641
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6325889996112339402}
+  m_CullTransparentMesh: 1
+--- !u!114 &9180553255168365292
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6325889996112339402}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3c247620ca3a1fd4ab2a2f3a5b287e07, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0, g: 0, b: 0, a: 0.003921569}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+  _icon_name: dec_juxing_fang
+  isNotLoadDeftIcon: 0
+  CurrSpriteAtlas: {fileID: 100100200, guid: b02f6b41a7a9fa8458f4226ab6b3ea47, type: 3}
+  packInfo:
+    packName: tongyong
+    packgJsonPath: /Art/UIAssets/TextrueJson\tongyong.txt
+    packgSpritePath: Assets/Res/UIAtlas/tongyong.spriteatlasv2
+    lasetJsonGUID: d570df61e5e429dc2d9169bbaecec167
+  imageH: 100
+  useGradient: 0
+  topOrLeftColor: {r: 1, g: 1, b: 1, a: 1}
+  bottomOrRightColor: {r: 0, g: 0, b: 0, a: 1}
+  direction: 0
+--- !u!1 &6791344915447867474
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 3335154821151865286}
+  - component: {fileID: 1336933346209753520}
+  - component: {fileID: 7915566129711929088}
+  - component: {fileID: 1950754695086212799}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: Text_Title
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3335154821151865286
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6791344915447867474}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 4160643369365326472}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: -7.4744, y: 181.04321}
+  m_SizeDelta: {x: 450.8513, y: 50.4935}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &1336933346209753520
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6791344915447867474}
+  m_CullTransparentMesh: 1
+--- !u!114 &7915566129711929088
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6791344915447867474}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: e588d93665211944387ec8c03c8726ae, type: 3}
+    m_FontSize: 48
+    m_FontStyle: 1
+    m_BestFit: 0
+    m_MinSize: 4
+    m_MaxSize: 49
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: "\u4E0A\u4F20\u65E5\u5FD7"
+--- !u!114 &1950754695086212799
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6791344915447867474}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e19747de3f5aca642ab2be37e372fb86, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_EffectColor: {r: 0.4198112, g: 0.31755278, b: 0.17030072, a: 1}
+  m_EffectDistance: {x: 1, y: -1}
+  m_UseGraphicAlpha: 1
+--- !u!1 &7525949078730949717
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 2992885620383388598}
+  - component: {fileID: 292930128566588381}
+  - component: {fileID: 1059417190865908241}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: Text_PlayerId
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2992885620383388598
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7525949078730949717}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 2829838969233991924}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.5}
+  m_AnchorMax: {x: 0, y: 0.5}
+  m_AnchoredPosition: {x: 138.29251, y: 0}
+  m_SizeDelta: {x: 402.456, y: 100}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!222 &292930128566588381
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7525949078730949717}
+  m_CullTransparentMesh: 1
+--- !u!114 &1059417190865908241
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7525949078730949717}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.20754719, g: 0.203591, b: 0.18111429, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 1, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: e588d93665211944387ec8c03c8726ae, type: 3}
+    m_FontSize: 48
+    m_FontStyle: 1
+    m_BestFit: 0
+    m_MinSize: 4
+    m_MaxSize: 48
+    m_Alignment: 5
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: ID
+--- !u!1 &8994874510214016950
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 9037135992368401232}
+  - component: {fileID: 4159330424245520485}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: UploadLogPanel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &9037135992368401232
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8994874510214016950}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 2354120935780841372}
+  - {fileID: 4160643369365326472}
+  m_Father: {fileID: 0}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 750, y: 1624}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &4159330424245520485
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8994874510214016950}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4810a0857c909354fa00c3aafdeac753, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  data:
+  - key: Text_Title
+    gameObject: {fileID: 7915566129711929088}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: Icon_Marsk
+    gameObject: {fileID: 9180553255168365292}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: Btn_UploadLog
+    gameObject: {fileID: 4586964149638742131}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: Text_PlayerId
+    gameObject: {fileID: 1059417190865908241}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  isAssetBundle: 0

+ 7 - 0
Assets/Res/UI/SettingPanel/UploadLogPanel.prefab.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: DXpLvC2lVCgmwor9FZP8TYKkLJ7TmtrQe/MCRO01uaUxt04qIG2kwDX72yPc
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: settingpanel
+  assetBundleVariant: 

+ 1 - 1
Assets/Resources/bg_zairu.png.meta

@@ -128,7 +128,7 @@ TextureImporter:
     forceMaximumCompressionQuality_BC6H_BC7: 0
   - serializedVersion: 3
     buildTarget: Android
-    maxTextureSize: 1024
+    maxTextureSize: 2048
     maxPlaceholderSize: 32
     resizeAlgorithm: 0
     textureFormat: 48

+ 22 - 0
Assets/Scripts/Core/Log/LogServeData.cs

@@ -0,0 +1,22 @@
+namespace DefaultNamespace.LogTool
+{
+    [System.Serializable]
+    public class LogServeData
+    {
+        public string hash { get; set; }
+        public string title { get; set; }
+        public string content { get; set; }
+        public long time { get; set; }
+        public string playerId { get; set; }
+
+        /// <summary>
+        /// 版本
+        /// </summary>
+        public string v { get; set; }
+
+        public string DeviceID { get; set; }
+        public string operatingSystem { get; set; }
+        public int LogType{ get; set; }
+        public string gameName{ get; set; }
+    }
+}

+ 1 - 1
Assets/Scripts/GameLogic/Player/PlayerData.cs.meta → Assets/Scripts/Core/Log/LogServeData.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: WyhOt3j4ASiPpUh7EN4LLmpENq0IjcLRjaDeW5YFbZduKEwJKSCC/r0=
+guid: W3oc4Xn5BXJurdTwEmNluVYC8M8wlsH92S+pcUf4a09+jeXryul8Q+4iKUTn
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 127 - 0
Assets/Scripts/Core/Log/LogServer.cs

@@ -0,0 +1,127 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Net.Http;
+using System.Text;
+using System.Threading.Tasks;
+using DefaultNamespace.LogTool;
+using UnityEngine;
+using Utility;
+
+public class LogServer : Singleton<LogServer>
+{
+    public string playerID;
+    public string gameName = "Editor";
+    public string version;
+    private string deviceModel;
+    private string operatingSystem;
+
+    public void Init(string gameName)
+    {
+        this.gameName = gameName;
+        version = Application.version;
+        deviceModel = SystemInfo.deviceName + "  " + SystemInfo.deviceModel+"   "+SystemInfo.deviceUniqueIdentifier;
+        operatingSystem = SystemInfo.operatingSystem;
+    }
+
+    public void UpLog(Exception exception)
+    {
+        try
+        {
+            LogServeData logServeData = new LogServeData();
+            logServeData.hash = GetStackTraceHash(exception);
+            logServeData.title = exception.Message;
+            logServeData.content = exception.StackTrace;
+            logServeData.LogType = 1;
+            logServeData.gameName = gameName;
+            // logServeData.time = (long)(CombatTimerManager.Instance.TimeSinceStartUp() * 1000);
+            logServeData.playerId = playerID;
+            logServeData.v = version;
+            logServeData.DeviceID = deviceModel;
+            logServeData.operatingSystem = operatingSystem;
+            UpdatToServer(logServeData);
+        }
+        catch (Exception e)
+        {
+        }
+    }
+
+    public void UpLog(string title, string messge)
+    {
+        try
+        {
+            LogServeData logServeData = new LogServeData();
+            logServeData.hash = GetStackTraceHash(title, messge);
+            logServeData.title = title;
+            logServeData.content = messge;
+            logServeData.LogType = 2;
+            logServeData.gameName = gameName;
+            // logServeData.time = (long)(CombatTimerManager.Instance.TimeSinceStartUp() * 1000);
+            logServeData.playerId = playerID;
+            logServeData.v = version;
+            logServeData.DeviceID = deviceModel;
+            logServeData.operatingSystem = operatingSystem;
+            UpdatToServer(logServeData);
+        }
+        catch (Exception e)
+        {
+        }
+    }
+
+    private async Task UpdatToServer(LogServeData logServeData)
+    {
+        string json = LitJson.JsonMapper.ToJson(logServeData);
+        byte[] logData = Encoding.UTF8.GetBytes(json);
+        using var httpClient = new HttpClient();
+        var content = new ByteArrayContent(logData);
+        content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/octet-stream");
+
+        var response = await httpClient.PostAsync("http://139.155.99.185:5001/api/logserver/upload", content);
+
+        if (response.IsSuccessStatusCode)
+        {
+            var result = await response.Content.ReadAsStringAsync();
+            // UnityEngine.Debug.Log($"上传成功: {result}");
+        }
+        // else
+        // {
+        //     UnityEngine.Debug.Log($"上传失败: {response.StatusCode}");
+        // }
+    }
+
+    private string GetStackTraceHash(string title, string messge)
+    {
+        var sb = new StringBuilder();
+        sb.Append(title);
+        sb.Append(messge);
+        return GetStackTraceHash(sb);
+    }
+
+    private string GetStackTraceHash(Exception ex)
+    {
+        var trace = new StackTrace(ex, true);
+        var sb = new StringBuilder();
+
+        foreach (var frame in trace.GetFrames() ?? Array.Empty<StackFrame>())
+        {
+            var method = frame.GetMethod();
+            if (method?.DeclaringType != null)
+            {
+                sb.Append(method.DeclaringType.FullName)
+                    .Append(".")
+                    .Append(method.Name)
+                    .Append("()");
+            }
+        }
+
+        return GetStackTraceHash(sb);
+    }
+
+    private string GetStackTraceHash(StringBuilder stringBuilder)
+    {
+        using var sha = System.Security.Cryptography.SHA1.Create();
+        byte[] hash = sha.ComputeHash(Encoding.UTF8.GetBytes(stringBuilder.ToString()));
+        return Convert.ToBase64String(hash);
+    }
+}

+ 11 - 0
Assets/Scripts/Core/Log/LogServer.cs.meta

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

+ 2 - 2
Assets/Scripts/Core/Utility/Helper/TimeHelper.cs

@@ -140,9 +140,9 @@ namespace Fort23.Core
             return GetSafeNowMs() + (8 * 60 * 60 * 1000); // 东八区
         }
 
-        public static long ClientNowSeconds()
+        public static int ClientNowSeconds()
         {
-            return ClientNow() / 1000;
+            return (int)(ClientNow() / 1000);
         }
 
         public static DateTime DateTimeNow()

+ 6 - 2
Assets/Scripts/GameLogic/Bag/BagController.cs

@@ -31,7 +31,10 @@ namespace GameLogic.Bag
                 ItemInfo itemInfo = new ItemInfo(itemData);
                 // m_bagList.Add(itemInfo);
                 LogTool.Log(itemInfo.guid);
-                m_allBagDic.Add(itemInfo.guid, itemInfo);
+                if (!m_allBagDic.ContainsKey(itemInfo.guid))
+                {
+                    m_allBagDic.Add(itemInfo.guid, itemInfo);
+                }
                 // PlayerManager.Instance.eqController.Init(itemInfo);
             }
         }
@@ -245,7 +248,8 @@ namespace GameLogic.Bag
             else if (item.config.itemTag == 28)
             {
                 EventManager.Instance.Dispatch(CustomEventType.AddEvent,
-                    new DefaultEventData(){eventData = item.config.associateVlaue[0]});
+                    new DefaultEventData() { eventData = (int)count });
+
                 return true;
             }
 

+ 6 - 1
Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/S3301.cs

@@ -40,8 +40,13 @@ namespace GameLogic.Combat.Skill.MagicSkill
         private void Finish()
         {
             CombatHeroEntity combatHeroEntity = target;
+            if (combatHeroEntity == null)
+            {
+                return;
+            }
+
             ILifetCycleHitPoint lifetCycleHitPoint = target.GetMainHotPoin<ILifetCycleHitPoint>();
-            if (lifetCycleHitPoint == null)
+            if (lifetCycleHitPoint == null||combatHeroEntity.heroMagicWeaponControl==null||CombatMagicWeaponEntity.RootMagicWeaponControl==null)
             {
                 return;
             }

+ 2 - 0
Assets/Scripts/GameLogic/Combat/Skill/S9013.cs

@@ -129,6 +129,8 @@ namespace GameLogic.Combat.Skill
                     for (int i = 0; i < allFxAi.Count; i++)
                     {
                         SkillFeaturesData mySkillFeaturesData = GetSkillFeaturesData();
+                        if(mySkillFeaturesData==null)
+                            continue;
                         FxParabolaBulletLogic fxParabolaBulletLogic = allFxAi[i] as FxParabolaBulletLogic;
                         fxParabolaBulletLogic.PengZhuang(mySkillFeaturesData, CombatHeroEntity);
                     }

+ 5 - 0
Assets/Scripts/GameLogic/Combat/Skill/SkillBasic.cs

@@ -175,6 +175,11 @@ namespace GameLogic.Combat.Skill
 
         public SkillFeaturesData GetSkillFeaturesData()
         {
+            if (SkillFeaturesData == null || CombatHeroEntity.CurrCombatHeroInfo == null)
+            {
+                return null;
+            }
+
             SkillFeaturesData skillFeaturesData = SkillFeaturesData.CapyFeaturesData();
 
             long v = (long)(skillFeaturesData.hp * CombatHeroEntity.CurrCombatHeroInfo.GetWuXingShuXing(wuXingType));

+ 6 - 0
Assets/Scripts/GameLogic/Paritcle/ParitcleLogic/FxAILogicBasic.cs

@@ -141,6 +141,12 @@ namespace Common.Combat.FxAILogic
                     triggerData);
                 SkillBasic skillBasic = trigger as SkillBasic;
                 SkillFeaturesData = skillBasic.GetSkillFeaturesData();
+                if (SkillFeaturesData == null)
+                {
+                    Dispose();
+                    return;
+                }
+
                 SkillFeaturesData.FxAILogicBasic = this;
             }
 

+ 7 - 0
Assets/Scripts/GameLogic/Paritcle/ParitcleLogic/FxParabolaBulletLogic.cs

@@ -244,6 +244,13 @@ namespace Common.Combat.FxAILogic
 
         public void PengZhuang(SkillFeaturesData targetSkillFeaturesData, CombatHeroEntity targetCombatHeroEntity)
         {
+            if (targetSkillFeaturesData == null)
+            {
+                PlayPengZhuangHit();
+                Dispose();
+                return;
+            }
+
             CombatCalculateTool.Instance.GongFaPengZhuang(SkillFeaturesData, targetSkillFeaturesData, CombatHeroEntity,
                 targetCombatHeroEntity);
             if (SkillFeaturesData.hp <= 0)

+ 18 - 0
Assets/Scripts/GameLogic/Player/AccountFileInfo.cs

@@ -170,6 +170,8 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
         public bool MusicEffects = true;
 
         public int totalAds;
+
+        public int todayTotalAds;
     }
 
     [System.Serializable]
@@ -647,6 +649,7 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
         RestoreIndexMap();
     }
 
+
     public void SavePlayerData(bool clean = false)
     {
         if (clean)
@@ -654,6 +657,20 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
             CleanEmptyData();
         }
 
+
+        // if (lasetSaveLocalTime == 0)
+        // {
+        //     lasetSaveLocalTime = System.DateTime.Now.Ticks;
+        // }
+
+        long currTime = System.DateTime.Now.Ticks;
+        // if (currTime - lasetSaveLocalTime < 100000000 && hasFocus)
+        // {
+        //     return;
+        // }
+        //
+        // lasetSaveLocalTime = currTime;
+
         if (!string.IsNullOrEmpty(persistentDataPath))
         {
             string playerSettingJson = JsonManager.ToJson(playerData);
@@ -661,6 +678,7 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
             WXFileSystemManager wxFileSystemManager = WX.GetFileSystemManager();
             wxFileSystemManager.WriteFileSync(persistentDataPath, playerSettingJson, "utf8");
 #else
+
             File.WriteAllText(persistentDataPath, playerSettingJson);
 #endif
         }

+ 0 - 12
Assets/Scripts/GameLogic/Player/PlayerData.cs

@@ -1,12 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-/// <summary>
-/// 玩家数据管理
-/// </summary>
-public class PlayerData : MonoBehaviour
-{
-    public int playerLevel = 1;
-    public int playerExp = 0;
-}

+ 2 - 0
Assets/Scripts/GameLogic/Player/PlayerManager.cs

@@ -79,6 +79,7 @@ public class PlayerManager : Singleton<PlayerManager>
     public void Init()
     {
         AccountFileInfo.Instance.LoadPlayerData();
+        LogServer.Instance.playerID= AccountFileInfo.Instance.playerData.playerId;
         SetConfigs();
 
         InitGameData();
@@ -483,6 +484,7 @@ public class PlayerManager : Singleton<PlayerManager>
     {
         if (TimeHelper.ClientNow() > AccountFileInfo.Instance.playerData.nextRefence)
         {
+            AccountFileInfo.Instance.playerData.todayTotalAds = 0;
             AccountFileInfo.Instance.playerData.nextRefence =
                 TimeHelper.GetBaseRefreshTime(TimeHelper.ClientNow());
             AccountFileInfo.Instance.playerData.todayUseExpElixrPanelCount = 0;

+ 91 - 0
Assets/Scripts/GameUI/FTPManager.cs

@@ -0,0 +1,91 @@
+using System;
+using System.Collections;
+using System.IO;
+using System.IO.Compression;
+using System.Net;
+using System.Threading.Tasks;
+using Fort23.Core;
+using Fort23.UTool;
+using UnityEngine;
+using Utility;
+
+public class FTPManager : Singleton<FTPManager>
+{
+    public string ftpServer = "ftp://139.155.99.185:21";
+    public string ftpUser = "ck";
+    public string ftpPass = "ck44526996"; // 或用私钥
+
+    private string LocalLogPath => Path.Combine(Application.persistentDataPath, "GameLog.txt");
+    private string LocalDataPath => Path.Combine(Application.persistentDataPath, "playerData.txt");
+    private string ZipPath => Path.Combine(Application.persistentDataPath, "upload_logs.zip");
+
+
+    [ContextMenu("asdada")]
+    public async CTask<bool> UploadWithFTP()
+    {
+        try
+        {
+            CreateZipPackage();
+
+            await UploadZipToFTPAsync();
+            if (File.Exists(ZipPath)) File.Delete(ZipPath);
+            Debug.Log("FTP 日志上传成功!");
+            return true;
+        }
+        catch (System.Exception ex)
+        {
+            LogTool.Error($"上传失败: {ex.Message}\n{ex.StackTrace}");
+        }
+
+        return false;
+    }
+
+    private void CreateZipPackage()
+    {
+        if (File.Exists(ZipPath)) File.Delete(ZipPath);
+        using (var zip = ZipFile.Open(ZipPath, ZipArchiveMode.Create))
+        {
+            if (File.Exists(LocalLogPath)) zip.CreateEntryFromFile(LocalLogPath, "GameLog.txt");
+            if (File.Exists(LocalDataPath)) zip.CreateEntryFromFile(LocalDataPath, "playerData.txt");
+        }
+    }
+
+    private async Task UploadZipToFTPAsync()
+    {
+        string fileName =
+            $"logs_{DateTime.Now:yyyyMMdd_HHmmss}_{SystemInfo.deviceUniqueIdentifier}_{AccountFileInfo.Instance.playerData.playerId}.zip";
+        string remoteUrl = new Uri(new Uri(ftpServer), fileName).ToString();
+
+        FtpWebRequest request = (FtpWebRequest)WebRequest.Create(remoteUrl);
+        request.Method = WebRequestMethods.Ftp.UploadFile;
+        request.Credentials = new NetworkCredential(ftpUser, ftpPass);
+        request.UseBinary = true;
+        request.UsePassive = true;
+        request.KeepAlive = false;
+        request.Timeout = 30000;
+
+        byte[] buffer = File.ReadAllBytes(ZipPath);
+        request.ContentLength = buffer.Length;
+
+        using (Stream requestStream = await request.GetRequestStreamAsync())
+        {
+            int offset = 0;
+            int chunkSize = 64 * 1024; // 64KB
+            while (offset < buffer.Length)
+            {
+                int size = Math.Min(chunkSize, buffer.Length - offset);
+                await requestStream.WriteAsync(buffer, offset, size);
+                offset += size;
+
+                // 进度日志(主线程安全)
+                float progress = (float)offset / buffer.Length;
+                LogTool.Log($"[FTP] 上传中: {progress:P1}");
+            }
+        }
+
+        using (FtpWebResponse response = (FtpWebResponse)await request.GetResponseAsync())
+        {
+            LogTool.Log($"[FTP] 服务器响应: {response.StatusDescription}");
+        }
+    }
+}

+ 11 - 0
Assets/Scripts/GameUI/FTPManager.cs.meta

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

+ 27 - 26
Assets/Scripts/GameUI/GameApplction.cs

@@ -1,4 +1,5 @@
 using System;
+using System.Collections.Generic;
 using System.IO;
 using System.Text;
 using Core.AssetLoadTool.Asset;
@@ -55,36 +56,37 @@ public class GameApplction : IGameStart, ILogSend
     public async void StartGame(LoadType LoadType, string h5Url, GameStartUIPanel gameStartUIPanel,
         System.Action LoadFinish)
     {
+        Debug.Log("开始游戏逻辑");
         HotSyncContent.DownloadUI = gameStartUIPanel;
         this.LoadFinish = LoadFinish;
         gameApplction = this;
         Debug.Log("开始游戏逻辑");
         LogTool.LogSend = this;
+        LogServer.Instance.Init("游三界");
         Crasheye.SendScriptException("测试错误", "测试错误", "ZH");
-        // UnityEngine.Screen.SetResolution(Screen.width);
-        // GameUpdateAsset.Instance.Init(h5Url);
         Crasheye.SetRegisterLogFunction(UnityLogic);
         this.gameStartUIPanel = gameStartUIPanel;
         gameStartUIPanel.ShowMassge("开始加载资源");
         gameStartUIPanel.SetSlider(0);
-        this.h5Url = h5Url;
         BundleLoadType = (BundleLoadType)LoadType;
         GameObject gameObject = new GameObject("app");
         gameObject.AddComponent<GameApplctionMono>();
         GameAssetUpdatePanel gameAssetUpdatePanel = new GameAssetUpdatePanel();
         gameAssetUpdatePanel.StartUpdateAsset(AssetUpdateFinish);
-        // await InitGameApplication();
-
-
-        Debug.Log("初始化完成");
     }
 
+    private LoginMainPanel _mainPanel;
 
     private async void AssetUpdateFinish()
     {
         Debug.Log("finish AssetUpdateFinish");
         await InitGameApplication();
+        _mainPanel = await LoginMainPanel.OpenPanel();
         LoadFinish?.Invoke();
+        UIManager.Instance.Canvas.gameObject.SetActive(true);
+        gameStartUIPanel = _mainPanel.gameStartUIPanel;
+        await Login();
+        // DBManager.Instance.SetUserID(AccountFileInfo.Instance.playerData.playerId);
         Debug.Log("初始化完成");
     }
 
@@ -140,32 +142,28 @@ public class GameApplction : IGameStart, ILogSend
 
         await UIManager.Instance.InitUI();
         CustomTweenManager.Init();
-
         RedDotManager.Instance.Init();
-        // await GameNetworkClient.Instance.Connect("127.0.0.1", 1000);
-        await Login();
     }
 
     private async CTask Login()
     {
-        // MemoryResponse memoryResponse = await GameNetworkSendAssemble.SendLogin("123", "123");
-        // if (memoryResponse == null)
-        // {
-        //     LogTool.Error("登陆失败");
-        //     return;
-        // }
+#if UNITY_ANDROID && Taptap
+        //登录
+        CTask<bool> callback = CTask<bool>.Create();
+        LoginPanel.OpenPanel(callback);
+        await callback;
+#else
+        AccountFileInfo.Instance.LoadPlayerData();
+#endif
 
         await TimeHelper.InitNetworkTime();
+        Dictionary<string, object> dict = new Dictionary<string, object>();
+        DBManager.Instance.CustomEvent("StartGame", dict);
 
-        DBManager.Instance.CustomEvent("StartGame", null);
 
         EventManager.Instance.RemoveEventListener(CustomEventType.DialoguePanelOpen, DialoguePanelOpenEvent);
         EventManager.Instance.AddEventListener(CustomEventType.DialoguePanelOpen, DialoguePanelOpenEvent);
-        UIManager.Instance.Canvas.gameObject.SetActive(true);
-        if (PlayerGuideManager.Instance.GuideIsCanDo(1))
-        {
-            await MarskPanel.OpenPanel(255);
-        }
+
 
         PlayerManager.Instance.Init();
         ShopManger.Instance.CustomInit();
@@ -244,18 +242,18 @@ public class GameApplction : IGameStart, ILogSend
 
         gameStartUIPanel.ShowMassge("loadFinish");
         gameStartUIPanel.SetSlider(1f);
+        LoginMainPanel.ClsoePanel();
 
         XinShouCombat();
     }
 
     private void DialoguePanelOpenEvent(IEventData e)
     {
-        MarskPanel.ClosePanel();
+        LoginMainPanel.ClsoePanel();
     }
 
     public async void XinShouCombat()
     {
-        // MarskPanel.ClosePanel();
         if (PlayerGuideManager.Instance.GuideIsCanDo(1))
         {
             AccountFileInfo.EventList eventList2 = EventSystemManager.Instance.AddEvent(9999);
@@ -288,7 +286,7 @@ public class GameApplction : IGameStart, ILogSend
         }
         else
         {
-            MarskPanel.ClosePanel();
+            LoginMainPanel.ClsoePanel();
         }
     }
 
@@ -304,7 +302,8 @@ public class GameApplction : IGameStart, ILogSend
         if (_cache.Length > 100 * 1024 || GetLineCount(_cache.ToString()) > 50)
             Flush();
         Crasheye.SendScriptException(massge, massge, "");
-
+        LogServer.Instance.UpLog(massge, massge);
+        // CrashSightAgent.ReportException(LogType.Error.ToString(), massge, massge);
     }
 
     private void Flush()
@@ -327,6 +326,7 @@ public class GameApplction : IGameStart, ILogSend
     {
         _cache.AppendLine($"{e.Message} {e.StackTrace}");
         Flush();
+        LogServer.Instance.UpLog(e);
         Crasheye.SendScriptException(e);
     }
 
@@ -335,6 +335,7 @@ public class GameApplction : IGameStart, ILogSend
         if (type == LogType.Error || type == LogType.Exception)
         {
             Crasheye.SendScriptException(logString, stackTrace, "");
+            LogServer.Instance.UpLog(logString, stackTrace);
         }
     }
 

+ 16 - 2
Assets/Scripts/GameUI/UI/BoxPanel/BoxPanel.cs

@@ -21,6 +21,7 @@ namespace Fort23.Mono
                 LogTool.Error($"获取网络时间失败,抽卡失败");
                 return null;
             }
+
             AccountFileInfo.SummonData summonData = PlayerManager.Instance.SummonManager.summonDataMap[configId];
             OpenBoxConfig openBoxConfig = ConfigComponent.Instance.Get<OpenBoxConfig>(configId);
             //有免费次数,并且让到时间了就免费抽
@@ -44,6 +45,19 @@ namespace Fort23.Mono
                     return null;
                 }
 
+                //看广告
+                if (openBoxConfig.CostItemID == 1007)
+                {
+                    if (AccountFileInfo.Instance.playerData.todayTotalAds >= 80)
+                    {
+                        TipMessagePanel.OpenTipMessagePanel("今日看广告次数已经达上限!");
+                        return null;
+                    }
+
+                    AccountFileInfo.Instance.playerData.todayTotalAds++;
+                    AccountFileInfo.Instance.SavePlayerData();
+                }
+
                 if (!PlayerManager.Instance.BagController.IsEnough(23002, 1))
                 {
                     await MarskPanel.OpenPanel();
@@ -55,7 +69,7 @@ namespace Fort23.Mono
                     MarskPanel.ClosePanel();
                 }
 
-            
+
                 return itemInfos;
                 // return await PlayerManager.Instance.SummonManager.Summon(configId, 10);
             }
@@ -68,7 +82,7 @@ namespace Fort23.Mono
                 LogTool.Error($"获取网络时间失败,抽卡失败");
                 return null;
             }
-            
+
             AccountFileInfo.SummonData summonData = PlayerManager.Instance.SummonManager.summonDataMap[configId];
             OpenBoxConfig openBoxConfig = ConfigComponent.Instance.Get<OpenBoxConfig>(configId);
             //有免费次数,并且让到时间了就免费抽

+ 1 - 1
Assets/Scripts/GameUI/UI/HeroInformationPanel/HeroBreakthroughPanel.cs

@@ -238,7 +238,7 @@ namespace Fort23.Mono
 
                         CombatDrive.Instance.CombatController.ChangeState(CombatController.update);
                         Dictionary<string, object> dic = new Dictionary<string, object>();
-                        dic.Add("#BattleID", heroPowerUpConfig.DujieLevelbattleID);
+                        dic.Add("#power_id", heroPowerUpConfig.ID);
                         dic.Add("#IsWin", isWin);
                         string gongfa = "[";
                         for (var i = 0; i < PlayerManager.Instance.GongFaControl.allUseSkill.Length; i++)

+ 2 - 1
Assets/StreamingAssets/assetBundle.zip.meta → Assets/Scripts/GameUI/UI/LoginPanel.meta

@@ -1,5 +1,6 @@
 fileFormatVersion: 2
-guid: DSxJ43uoUH8kT0YwMiNbOE+4J0BQp6l+fEMrKmhKdWq4r0S/FEZZQeH4/d3n
+guid: Xn1K4X6lVHKC2BUGngfzvbEly3TjJJSERTT0y3ou4f0FZl4xx5soa1/oOu+t
+folderAsset: yes
 DefaultImporter:
   externalObjects: {}
   userData: 

+ 48 - 0
Assets/Scripts/GameUI/UI/LoginPanel/LoginMainPanel.cs

@@ -0,0 +1,48 @@
+using Fort23.Core;
+using ThirdParty;
+
+namespace Fort23.Mono
+{
+    [UIBinding(prefab = "LoginMainPanel")]
+    public partial class LoginMainPanel : UIPanel
+    {
+        private void Init()
+        {
+        }
+
+        protected override void AddEvent()
+        {
+        }
+
+        protected override void DelEvent()
+        {
+        }
+
+        public override void AddButtonEvent()
+        {
+            Btn_SettingPanel.onClick.AddListener(() => { UploadLogPanel.OpenPanel(); });
+        }
+
+        public async static CTask<LoginMainPanel> OpenPanel()
+        {
+            return await UIManager.Instance.LoadAndOpenPanel<LoginMainPanel>(null, UILayer.Loading);
+        }
+
+        public override CTask<bool> AsyncInit(object[] uiData)
+        {
+            Text_versions.text = HotSyncContent.Currversion;
+            return base.AsyncInit(uiData);
+        }
+
+        public static void ClsoePanel()
+        {
+            UIManager.Instance.HideUIUIPanel<LoginMainPanel>();
+        }
+
+        public override CTask Close()
+        {
+            UIManager.Instance.HideUIUIPanel<UploadLogPanel>();
+            return base.Close();
+        }
+    }
+}

+ 11 - 0
Assets/Scripts/GameUI/UI/LoginPanel/LoginMainPanel.cs.meta

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

+ 51 - 0
Assets/Scripts/GameUI/UI/LoginPanel/LoginMainPanelData.cs

@@ -0,0 +1,51 @@
+using Fort23.Core;
+using Fort23.UTool;
+using UnityEngine.UI;
+using UnityEngine;
+using System.Collections.Generic;
+namespace Fort23.Mono
+{
+	public partial class LoginMainPanel 
+	{
+	  #region 自定义数据 
+	  private Button _Btn_SettingPanel;
+	  public Button Btn_SettingPanel
+	   {
+	   get{
+	      if (_Btn_SettingPanel == null)
+	       {
+	         _Btn_SettingPanel  = GetUIUnit<Button>("Btn_SettingPanel"); 
+	       }
+	      return _Btn_SettingPanel;
+	     }
+	   }
+	  private GameStartUIPanel _gameStartUIPanel;
+	  public GameStartUIPanel gameStartUIPanel
+	   {
+	   get{
+	      if (_gameStartUIPanel == null)
+	       {
+	         _gameStartUIPanel  = GetUIUnit<GameStartUIPanel>("gameStartUIPanel"); 
+	       }
+	      return _gameStartUIPanel;
+	     }
+	   }
+	  private Text _Text_versions;
+	  public Text Text_versions
+	   {
+	   get{
+	      if (_Text_versions == null)
+	       {
+	         _Text_versions  = GetUIUnit<Text>("Text_versions"); 
+	       }
+	      return _Text_versions;
+	     }
+	   }
+	  #endregion 自定义数据结束 
+	 public override async CTask SetUIGameObject(GameObject gObjectPoolInterface)
+	{
+	 await base.SetUIGameObject(gObjectPoolInterface);
+	 Init();
+	}
+	}
+}

+ 11 - 0
Assets/Scripts/GameUI/UI/LoginPanel/LoginMainPanelData.cs.meta

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

+ 43 - 0
Assets/Scripts/GameUI/UI/LoginPanel/LoginPanel.cs

@@ -0,0 +1,43 @@
+using Fort23.Core;
+
+
+namespace Fort23.Mono
+{
+    [UIBinding(prefab = "LoginPanel")]
+    public partial class LoginPanel : UIPanel
+    {
+        private void Init()
+        {
+        }
+
+        protected override void AddEvent()
+        {
+         
+        }
+
+        protected override void DelEvent()
+        {
+        }
+
+        public async static CTask OpenPanel(CTask<bool> callback)
+        {
+            LoginPanel loginPanel = await UIManager.Instance.LoadAndOpenPanel<LoginPanel>(null, UILayer.Loading);
+            loginPanel.CustomInit(callback);
+        }
+
+        private async void CustomInit(CTask<bool> callback)
+        {
+            callback.SetResult(true);
+            UIManager.Instance.HideUIUIPanel(this);
+        }
+
+        public override void AddButtonEvent()
+        {
+        }
+
+        public override CTask Close()
+        {
+            return base.Close();
+        }
+    }
+}

+ 11 - 0
Assets/Scripts/GameUI/UI/LoginPanel/LoginPanel.cs.meta

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

+ 18 - 0
Assets/Scripts/GameUI/UI/LoginPanel/LoginPanelData.cs

@@ -0,0 +1,18 @@
+using Fort23.Core;
+using Fort23.UTool;
+using UnityEngine.UI;
+using UnityEngine;
+using System.Collections.Generic;
+namespace Fort23.Mono
+{
+	public partial class LoginPanel 
+	{
+	  #region 自定义数据 
+	  #endregion 自定义数据结束 
+	 public override async CTask SetUIGameObject(GameObject gObjectPoolInterface)
+	{
+	 await base.SetUIGameObject(gObjectPoolInterface);
+	 Init();
+	}
+	}
+}

+ 11 - 0
Assets/Scripts/GameUI/UI/LoginPanel/LoginPanelData.cs.meta

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

+ 16 - 2
Assets/Scripts/GameUI/UI/SettingPanel/SettingPanel.cs

@@ -20,6 +20,7 @@ namespace Fort23.Mono
 
         public override CTask<bool> AsyncInit(object[] uiData)
         {
+            Text_PlayerId.text = AccountFileInfo.Instance.playerData.playerId;
             if (AccountFileInfo.Instance.playerData.MusicEffects)
             {
                 AudioManager.Instance.SetAudioValue(1);
@@ -83,11 +84,24 @@ namespace Fort23.Mono
 
                 AccountFileInfo.Instance.SavePlayerData();
             });
+
+            Btn_UploadLog.onClick.AddListener(async () =>
+            {
+                bool isOk = await FTPManager.Instance.UploadWithFTP();
+                if (isOk)
+                {
+                    TipMessagePanel.OpenTipMessagePanel("上传成功!");
+                }
+                else
+                {
+                    TipMessagePanel.OpenTipMessagePanel("上传失败!");
+                }
+            });
         }
 
-        public async static CTask OpenPanel()
+        public async static CTask OpenPanel( UILayer layer = UILayer.Top)
         {
-            await UIManager.Instance.LoadAndOpenPanel<SettingPanel>(null, UILayer.Top, isShowBG: true);
+            await UIManager.Instance.LoadAndOpenPanel<SettingPanel>(null, layer, isShowBG: true);
         }
     }
 }

+ 44 - 0
Assets/Scripts/GameUI/UI/SettingPanel/SettingPanelData.cs

@@ -85,6 +85,50 @@ namespace Fort23.Mono
 	      return _Btn_DelAccount;
 	     }
 	   }
+	  private Button _Btn_UploadLog;
+	  public Button Btn_UploadLog
+	   {
+	   get{
+	      if (_Btn_UploadLog == null)
+	       {
+	         _Btn_UploadLog  = GetUIUnit<Button>("Btn_UploadLog"); 
+	       }
+	      return _Btn_UploadLog;
+	     }
+	   }
+	  private Text _Text_PlayerId;
+	  public Text Text_PlayerId
+	   {
+	   get{
+	      if (_Text_PlayerId == null)
+	       {
+	         _Text_PlayerId  = GetUIUnit<Text>("Text_PlayerId"); 
+	       }
+	      return _Text_PlayerId;
+	     }
+	   }
+	  private Button _Btn_UploadArchive;
+	  public Button Btn_UploadArchive
+	   {
+	   get{
+	      if (_Btn_UploadArchive == null)
+	       {
+	         _Btn_UploadArchive  = GetUIUnit<Button>("Btn_UploadArchive"); 
+	       }
+	      return _Btn_UploadArchive;
+	     }
+	   }
+	  private Button _Btn_DownloadArchive;
+	  public Button Btn_DownloadArchive
+	   {
+	   get{
+	      if (_Btn_DownloadArchive == null)
+	       {
+	         _Btn_DownloadArchive  = GetUIUnit<Button>("Btn_DownloadArchive"); 
+	       }
+	      return _Btn_DownloadArchive;
+	     }
+	   }
 	  #endregion 自定义数据结束 
 	 public override async CTask SetUIGameObject(GameObject gObjectPoolInterface)
 	{

+ 48 - 0
Assets/Scripts/GameUI/UI/SettingPanel/UploadLogPanel.cs

@@ -0,0 +1,48 @@
+using Fort23.Core;
+using UnityEngine;
+
+namespace Fort23.Mono
+{
+    [UIBinding(prefab = "UploadLogPanel")]
+    public partial class UploadLogPanel : UIPanel
+    {
+        private void Init()
+        {
+        }
+
+        protected override void AddEvent()
+        {
+        }
+
+        protected override void DelEvent()
+        {
+        }
+
+        public override void AddButtonEvent()
+        {
+            Btn_UploadLog.onClick.AddListener(async () =>
+            {
+                bool isOk = await FTPManager.Instance.UploadWithFTP();
+                if (isOk)
+                {
+                    TipMessagePanel.OpenTipMessagePanel("上传成功!", layer: UILayer.Loading);
+                }
+                else
+                {
+                    TipMessagePanel.OpenTipMessagePanel("上传失败!", layer:UILayer.Loading);
+                }
+            });
+        }
+
+        public override CTask<bool> AsyncInit(object[] uiData)
+        {
+            Text_PlayerId.text = SystemInfo.deviceUniqueIdentifier;
+            return base.AsyncInit(uiData);
+        }
+
+        public async static CTask OpenPanel()
+        {
+            await UIManager.Instance.LoadAndOpenPanel<UploadLogPanel>(null, UILayer.Loading, isShowBG: true);
+        }
+    }
+}

+ 11 - 0
Assets/Scripts/GameUI/UI/SettingPanel/UploadLogPanel.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: CSsftyOoWy0u+dS3f/QMBoQfpEtSlXNZF73qG1zTdbdagFbJiUZxSsj+7VMC
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 62 - 0
Assets/Scripts/GameUI/UI/SettingPanel/UploadLogPanelData.cs

@@ -0,0 +1,62 @@
+using Fort23.Core;
+using Fort23.UTool;
+using UnityEngine.UI;
+using UnityEngine;
+using System.Collections.Generic;
+namespace Fort23.Mono
+{
+	public partial class UploadLogPanel 
+	{
+	  #region 自定义数据 
+	  private Text _Text_Title;
+	  public Text Text_Title
+	   {
+	   get{
+	      if (_Text_Title == null)
+	       {
+	         _Text_Title  = GetUIUnit<Text>("Text_Title"); 
+	       }
+	      return _Text_Title;
+	     }
+	   }
+	  private MyImage _Icon_Marsk;
+	  public MyImage Icon_Marsk
+	   {
+	   get{
+	      if (_Icon_Marsk == null)
+	       {
+	         _Icon_Marsk  = GetUIUnit<MyImage>("Icon_Marsk"); 
+	       }
+	      return _Icon_Marsk;
+	     }
+	   }
+	  private Button _Btn_UploadLog;
+	  public Button Btn_UploadLog
+	   {
+	   get{
+	      if (_Btn_UploadLog == null)
+	       {
+	         _Btn_UploadLog  = GetUIUnit<Button>("Btn_UploadLog"); 
+	       }
+	      return _Btn_UploadLog;
+	     }
+	   }
+	  private Text _Text_PlayerId;
+	  public Text Text_PlayerId
+	   {
+	   get{
+	      if (_Text_PlayerId == null)
+	       {
+	         _Text_PlayerId  = GetUIUnit<Text>("Text_PlayerId"); 
+	       }
+	      return _Text_PlayerId;
+	     }
+	   }
+	  #endregion 自定义数据结束 
+	 public override async CTask SetUIGameObject(GameObject gObjectPoolInterface)
+	{
+	 await base.SetUIGameObject(gObjectPoolInterface);
+	 Init();
+	}
+	}
+}

+ 11 - 0
Assets/Scripts/GameUI/UI/SettingPanel/UploadLogPanelData.cs.meta

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

+ 2 - 2
Assets/Scripts/GameUI/UI/TipMessagePanel/TipMessagePanel.cs

@@ -8,7 +8,7 @@ namespace Fort23.Mono
     [UIBinding(prefab = "TipMessagePanel")]
     public partial class TipMessagePanel : UIComponent
     {
-        public static async CTask<TipMessagePanel> OpenTipMessagePanel(string meg, Vector2 worldPos = default)
+        public static async CTask<TipMessagePanel> OpenTipMessagePanel(string meg, Vector2 worldPos = default,UILayer layer = UILayer.Top)
         {
             if (PlayerManager.Instance.serverTime - UIManager.Instance.ShowTextTime < 700)
             {
@@ -18,7 +18,7 @@ namespace Fort23.Mono
             UIManager.Instance.ShowTextTime = PlayerManager.Instance.serverTime;
             TipMessagePanel tipMessagePanel =
                 await UIManager.Instance.CreateGComponent<TipMessagePanel>(null,
-                    UIManager.Instance.GetLayer(UILayer.Top));
+                    UIManager.Instance.GetLayer(layer));
             tipMessagePanel.SetTipMessage(meg, worldPos);
             return tipMessagePanel;
         }

+ 31 - 26
Assets/Scripts/ThirdParty/Crasheye/Crasheye.cs

@@ -1,10 +1,11 @@
 /**
  *  Unity Plugins Version   2.2.10
- *  
+ *
  *      android version     2.2.9
  *      iOS version         2.7.3
  *      window version      1.0.0
  */
+
 using System.Text;
 using UnityEngine;
 using System.Collections;
@@ -29,7 +30,7 @@ using com.xsj.Crasheye.U3D.IOS;
 public class Crasheye : MonoBehaviour
 {
     public delegate void FnOnCrashCallback(bool bCaptureSucceed, string cpszCrashReportFile);
-    
+
     public string YourAppKeyForAndroid = "YourAppKeyForAndroid";
     public string YourChannelIdForAndroid = "YourChannelIdForAndroid";
 
@@ -42,7 +43,7 @@ public class Crasheye : MonoBehaviour
 #if UNITY_ANDROID || UNITY_IPHONE || UNITY_IOS
     public static CrasheyeLib crasheyeLib = null;
 #endif
-    
+
 #if UNITY_ANDROID || UNITY_IPHONE || UNITY_IOS || UNITY_STANDALONE_WIN
     private static string YourChannelId = "NA";
 #endif
@@ -113,7 +114,7 @@ public class Crasheye : MonoBehaviour
 #endif
         }
     }
-    
+
     /// <summary>
     ///  设置Dump是否强制上报(忽略玩家在DumpReport界面上的选择)
     ///
@@ -122,18 +123,19 @@ public class Crasheye : MonoBehaviour
     public static void SetForceUpload(bool isForceUpload)
     {
         Debug.Log("SetForceUpload");
-#if UNITY_STANDALONE_WIN  && !UNITY_EDITOR
+#if UNITY_STANDALONE_WIN && !UNITY_EDITOR
         DumpForPC.SetForceUpload(isForceUpload);
 #endif
     }
+
     /// <summary>
     /// 启动Crasheye
     /// </summary>
     /// <param name="Your_AppKey"></param>
     public static void StartInitCrasheye(string Your_AppKey)
-    {        
+    {
         RegisterLogCallback();
-        
+
         if (Application.platform == RuntimePlatform.Android)
         {
 #if UNITY_ANDROID
@@ -148,7 +150,7 @@ public class Crasheye : MonoBehaviour
         }
         else if (Application.platform == RuntimePlatform.WindowsPlayer)
         {
-#if UNITY_STANDALONE_WIN  && !UNITY_EDITOR
+#if UNITY_STANDALONE_WIN && !UNITY_EDITOR
             DumpForPC.Init(Your_AppKey, YourChannelId);
 #endif
         }
@@ -178,7 +180,7 @@ public class Crasheye : MonoBehaviour
         }
         else if (Application.platform == RuntimePlatform.WindowsPlayer)
         {
-#if UNITY_STANDALONE_WIN  && !UNITY_EDITOR
+#if UNITY_STANDALONE_WIN && !UNITY_EDITOR
             Debug.Log("RegisterLogCallback");
             AppDomain.CurrentDomain.UnhandledException += DumpForPC.OnHandleUnresolvedException;
             SetRegisterLogFunction(DumpForPC.OnHandleLogCallback);
@@ -192,14 +194,15 @@ public class Crasheye : MonoBehaviour
             return;
         }
 
-        System.AppDomain.CurrentDomain.UnhandledException += new System.UnhandledExceptionEventHandler(crasheyeLib.OnHandleUnresolvedException);
+        System.AppDomain.CurrentDomain.UnhandledException +=
+            new System.UnhandledExceptionEventHandler(crasheyeLib.OnHandleUnresolvedException);
 
         SetRegisterLogFunction(crasheyeLib.OnHandleLogCallback);
 
 #if UNITY_5
                 Application.logMessageReceived += RegisterLogFunction;
 #else
-                Application.RegisterLogCallback(RegisterLogFunction);
+        Application.RegisterLogCallback(RegisterLogFunction);
 #endif
 #endif
     }
@@ -238,8 +241,9 @@ public class Crasheye : MonoBehaviour
     }
 
     public delegate void RegisterLog(string logString, string stackTrace, LogType type);
+
     private static RegisterLog m_RegisterLog = null;
-   
+
     /// <summary>
     /// 设置用户的脚本回调的函数
     /// </summary>
@@ -249,13 +253,13 @@ public class Crasheye : MonoBehaviour
         Debug.Log("SetRegisterLogFunction");
         m_RegisterLog += registerLogCBFun;
     }
-    
+
     /// <summary>
     /// 发送脚本异常
     /// </summary>
     /// <param name="ex">Excepiton Info</param>
     public static void SendScriptException(Exception ex)
-    {        
+    {
         if (Application.platform == RuntimePlatform.Android)
         {
 #if UNITY_ANDROID
@@ -284,19 +288,20 @@ public class Crasheye : MonoBehaviour
             crasheyeLib.LibSendScriptException(errorTitle, stacktrace, language);
 #endif
         }
-        else if(Application.platform == RuntimePlatform.IPhonePlayer)
+        else if (Application.platform == RuntimePlatform.IPhonePlayer)
         {
 #if UNITY_IPHONE || UNITY_IOS
             crasheyeLib.LibSendScriptException(errorTitle, stacktrace);
 #endif
-        } else if (Application.platform == RuntimePlatform.WindowsPlayer)
+        }
+        else if (Application.platform == RuntimePlatform.WindowsPlayer)
         {
-#if UNITY_STANDALONE_WIN  && !UNITY_EDITOR
+#if UNITY_STANDALONE_WIN && !UNITY_EDITOR
             DumpForPC.SendScriptException(errorTitle, stacktrace, language);
 #endif
         }
     }
-    
+
     /// <summary>
     /// 设置渠道号
     /// </summary>
@@ -398,7 +403,7 @@ public class Crasheye : MonoBehaviour
     /// <param name="setUserIdentifier">用户标识</param>
     public static void SetUserIdentifier(string userIdentifier)
     {
-        if(string.IsNullOrEmpty(userIdentifier))
+        if (string.IsNullOrEmpty(userIdentifier))
         {
             return;
         }
@@ -529,7 +534,7 @@ public class Crasheye : MonoBehaviour
             CrasheyeForAndroid.RemoveExtraData(key);
 #endif
         }
-        else if(Application.platform == RuntimePlatform.IPhonePlayer)
+        else if (Application.platform == RuntimePlatform.IPhonePlayer)
         {
 #if UNITY_IPHONE || UNITY_IOS
             CrasheyeForIOS.RemoveExtraData(key);
@@ -604,7 +609,8 @@ public class Crasheye : MonoBehaviour
 #if UNITY_IPHONE || UNITY_IOS
             CrasheyeForIOS.LeaveBreadcrumb(breadcrumb);
 #endif
-        } else if (Application.platform == RuntimePlatform.WindowsPlayer)
+        }
+        else if (Application.platform == RuntimePlatform.WindowsPlayer)
         {
 #if UNITY_STANDALONE_WIN && !UNITY_EDITOR
             DumpForPC.leaveBreadcrumb(breadcrumb);
@@ -669,7 +675,7 @@ public class Crasheye : MonoBehaviour
             CrasheyeForAndroid.SetLogging(lines, filter);
 #endif
         }
-        else if(Application.platform == RuntimePlatform.IPhonePlayer)
+        else if (Application.platform == RuntimePlatform.IPhonePlayer)
         {
 #if UNITY_IPHONE || UNITY_IOS
             CrasheyeForIOS.SetLogging(lines, filter);
@@ -695,21 +701,20 @@ public class Crasheye : MonoBehaviour
             return CrasheyeForIOS.GetAppVersion();
 #endif
         }
+
         return "NA";
     }
 
     public static bool SetBackgroundUpload(bool isBackgroundUpload)
     {
-        
 #if UNITY_STANDALONE_WIN && !UNITY_EDITOR
         return DumpForPC.SetBackgroundUpload(isBackgroundUpload);
 #endif
         return false;
     }
-    
+
     public static bool SetCrashCallback(FnOnCrashCallback pCallback)
     {
-
 #if UNITY_STANDALONE_WIN && !UNITY_EDITOR
         return DumpForPC.SetOnMiniDumpCreateCallBack((bCaptureSucceed, cpszCrashReportFile)=>{
             string  szCrashReportFile = Marshal.PtrToStringUni(cpszCrashReportFile);
@@ -718,7 +723,7 @@ public class Crasheye : MonoBehaviour
 #endif
         return false;
     }
-    
+
     public static bool PushLogTrace(string cpszMessage)
     {
 #if UNITY_STANDALONE_WIN && !UNITY_EDITOR

+ 2 - 1
Assets/Scripts/ThirdParty/Crasheye/CrasheyeForUnityLib.asmdef

@@ -1,3 +1,4 @@
 {
-	"name": "CrasheyeForUnityLib"
+	"name": "CrasheyeForUnityLib",
+	"references":[ "ThirdParty" ]
 }

+ 11 - 0
Assets/Settings/rpAsset.asset

@@ -73,6 +73,13 @@ MonoBehaviour:
   m_ColorGradingLutSize: 32
   m_UseFastSRGBLinearConversion: 0
   m_SupportDataDrivenLensFlare: 1
+  m_PostProcessPreserveAlpha: 0
+  m_GPUResidentDrawerStat: 0
+  m_GRDEnableCollectTransform: 1
+  m_GRDEnableCollectLightMap: 0
+  m_GRDEnableCollectLightProbe: 0
+  m_GRDEnableCollectMotionVector: 0
+  m_BRGShaderVariantStorageStripType: 0
   m_ShadowType: 1
   m_LocalShadowsSupported: 0
   m_LocalShadowsAtlasResolution: 256
@@ -82,6 +89,7 @@ MonoBehaviour:
   m_Textures:
     blueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3}
     bayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3}
+  testURPForceGRD: 0
   m_PrefilteringModeMainLightShadows: 3
   m_PrefilteringModeAdditionalLight: 3
   m_PrefilteringModeAdditionalLightShadows: 2
@@ -110,5 +118,8 @@ MonoBehaviour:
   m_PrefilterSoftShadows: 0
   m_PrefilterScreenCoord: 1
   m_PrefilterNativeRenderPass: 1
+  m_PrefilterPreserveAlpha: 1
+  m_PrefilterUseLightmapSingle: 0
+  m_PrefilterBRGVariantStorageStrip: 0
   m_ShaderVariantLogLevel: 0
   m_ShadowCascades: 0

BIN
Excel2Json/Excel/ChouKa.xlsx


BIN
Excel2Json/Excel/Language.xlsx


BIN
Excel2Json/Excel/修仙游戏数据规划表.xlsx


+ 7 - 0
Packages/com.singularitygroup.hotreload/.gitignore

@@ -0,0 +1,7 @@
+# do not include HotReloadSettingsObject inside the upm package.
+#  (needs to be editable by the user)
+#  (only created on first Android build)
+/Resources/HotReloadSettingsObject.asset
+/Resources/HotReloadSettingsObject.asset.meta
+/Resources.meta
+

+ 1 - 8
Packages/com.singularitygroup.hotreload/Editor/Window/GUI/Tabs/HotReloadRunTab.cs

@@ -901,14 +901,7 @@ namespace SingularityGroup.HotReload.Editor {
         }
         
         internal static void RenderIndieLicenseInfo(GUIStyle style) {
-            string message;
-            if (EditorCodePatcher.licenseType == UnityLicenseType.UnityPersonalPlus) {
-                message = "Unity Plus users require an Indie license. Please upgrade your license on our website.";
-            } else if (EditorCodePatcher.licenseType == UnityLicenseType.UnityPro) {
-                message = "Unity Pro/Enterprise users from company with your number of employees require an Indie license. Please upgrade your license on our website.";
-            } else {
-                return;
-            }
+            string message = "Unity Plus users require an Indie license. Please upgrade your license on our website.";
             GUILayout.Space(8);
             using (new EditorGUILayout.HorizontalScope()) {
                 EditorGUILayout.HelpBox(message, MessageType.Info);

+ 2 - 2
Packages/com.singularitygroup.hotreload/Runtime/PackageConst.cs

@@ -8,10 +8,10 @@ namespace SingularityGroup.HotReload {
         public static bool IsAssetStoreBuild => true;
 
         
-        public const string Version = "1.13.7";
+        public const string Version = "1.13.8";
         // Never higher than Version
         // Used for the download
-        public const string ServerVersion = "1.13.7";
+        public const string ServerVersion = "1.13.8";
         public const string PackageName = "com.singularitygroup.hotreload";
         public const string LibraryCachePath = "Library/" + PackageName;
         public const string ConfigFileName = "hot-reload-config.json";

+ 1 - 1
Packages/com.singularitygroup.hotreload/package.json

@@ -12,7 +12,7 @@
     "sg",
     "singularity"
   ],
-  "version": "1.13.7",
+  "version": "1.13.8",
   "dependencies": {
     "com.unity.ugui": "1.0.0",
     "com.unity.modules.unitywebrequest": "1.0.0"

+ 5 - 5
Packages/manifest.json

@@ -16,17 +16,17 @@
     "com.unity.entities": "1.0.16",
     "com.unity.entities.graphics": "1.0.16",
     "com.unity.feature.2d": "2.0.1",
-    "com.unity.ide.rider": "3.0.31",
+    "com.unity.ide.rider": "3.0.35",
     "com.unity.ide.visualstudio": "2.0.22",
     "com.unity.ide.vscode": "1.2.5",
-    "com.unity.memoryprofiler": "1.1.1",
+    "com.unity.memoryprofiler": "1.1.6",
     "com.unity.recorder": "4.0.3",
-    "com.unity.render-pipelines.universal": "14.0.11",
+    "com.unity.render-pipelines.universal": "14.1.0",
     "com.unity.test-framework": "1.1.33",
-    "com.unity.timeline": "1.7.6",
+    "com.unity.timeline": "1.7.7",
     "com.unity.ugui": "1.0.0",
     "com.unity.visualscripting": "1.9.4",
-    "com.unity.xr.legacyinputhelpers": "2.1.10",
+    "com.unity.xr.legacyinputhelpers": "2.1.12",
     "com.unity.modules.ai": "1.0.0",
     "com.unity.modules.androidjni": "1.0.0",
     "com.unity.modules.animation": "1.0.0",

+ 49 - 46
Packages/packages-lock.json

@@ -70,11 +70,11 @@
       }
     },
     "com.unity.2d.animation": {
-      "version": "9.1.2",
+      "version": "9.2.0",
       "depth": 1,
       "source": "registry",
       "dependencies": {
-        "com.unity.2d.common": "8.0.3",
+        "com.unity.2d.common": "8.1.0",
         "com.unity.2d.sprite": "1.0.0",
         "com.unity.collections": "1.1.0",
         "com.unity.modules.animation": "1.0.0",
@@ -83,19 +83,19 @@
       "url": "https://packages.tuanjie.cn"
     },
     "com.unity.2d.aseprite": {
-      "version": "1.1.6",
+      "version": "1.1.8",
       "depth": 1,
       "source": "registry",
       "dependencies": {
-        "com.unity.2d.sprite": "1.0.0",
         "com.unity.2d.common": "6.0.6",
+        "com.unity.2d.sprite": "1.0.0",
         "com.unity.mathematics": "1.2.6",
         "com.unity.modules.animation": "1.0.0"
       },
       "url": "https://packages.tuanjie.cn"
     },
     "com.unity.2d.common": {
-      "version": "8.0.3",
+      "version": "8.1.0",
       "depth": 2,
       "source": "registry",
       "dependencies": {
@@ -108,20 +108,22 @@
       "url": "https://packages.tuanjie.cn"
     },
     "com.unity.2d.pixel-perfect": {
-      "version": "5.0.3",
+      "version": "5.1.0",
       "depth": 1,
       "source": "registry",
-      "dependencies": {},
+      "dependencies": {
+        "com.unity.modules.imgui": "1.0.0"
+      },
       "url": "https://packages.tuanjie.cn"
     },
     "com.unity.2d.psdimporter": {
-      "version": "8.0.5",
+      "version": "8.1.0",
       "depth": 1,
       "source": "registry",
       "dependencies": {
-        "com.unity.2d.animation": "9.1.1",
-        "com.unity.2d.common": "8.0.2",
-        "com.unity.2d.sprite": "1.0.0"
+        "com.unity.2d.common": "8.1.0",
+        "com.unity.2d.sprite": "1.0.0",
+        "com.unity.2d.animation": "9.2.0"
       },
       "url": "https://packages.tuanjie.cn"
     },
@@ -132,12 +134,12 @@
       "dependencies": {}
     },
     "com.unity.2d.spriteshape": {
-      "version": "9.0.4",
+      "version": "9.1.0",
       "depth": 1,
       "source": "registry",
       "dependencies": {
+        "com.unity.2d.common": "8.1.0",
         "com.unity.mathematics": "1.1.0",
-        "com.unity.2d.common": "8.0.3",
         "com.unity.modules.physics2d": "1.0.0"
       },
       "url": "https://packages.tuanjie.cn"
@@ -152,13 +154,13 @@
       }
     },
     "com.unity.2d.tilemap.extras": {
-      "version": "3.1.2",
+      "version": "3.1.3",
       "depth": 1,
       "source": "registry",
       "dependencies": {
-        "com.unity.modules.tilemap": "1.0.0",
-        "com.unity.2d.tilemap": "1.0.0",
         "com.unity.ugui": "1.0.0",
+        "com.unity.2d.tilemap": "1.0.0",
+        "com.unity.modules.tilemap": "1.0.0",
         "com.unity.modules.jsonserialize": "1.0.0"
       },
       "url": "https://packages.tuanjie.cn"
@@ -183,7 +185,7 @@
       "url": "https://packages.tuanjie.cn"
     },
     "com.unity.burst": {
-      "version": "1.8.17",
+      "version": "1.8.19",
       "depth": 1,
       "source": "registry",
       "dependencies": {
@@ -266,18 +268,18 @@
       "depth": 0,
       "source": "builtin",
       "dependencies": {
-        "com.unity.2d.animation": "9.1.2",
-        "com.unity.2d.pixel-perfect": "5.0.3",
-        "com.unity.2d.psdimporter": "8.0.5",
+        "com.unity.2d.animation": "9.2.0",
+        "com.unity.2d.pixel-perfect": "5.1.0",
+        "com.unity.2d.psdimporter": "8.1.0",
         "com.unity.2d.sprite": "1.0.0",
-        "com.unity.2d.spriteshape": "9.0.4",
+        "com.unity.2d.spriteshape": "9.1.0",
         "com.unity.2d.tilemap": "1.0.0",
-        "com.unity.2d.tilemap.extras": "3.1.2",
-        "com.unity.2d.aseprite": "1.1.6"
+        "com.unity.2d.tilemap.extras": "3.1.3",
+        "com.unity.2d.aseprite": "1.1.8"
       }
     },
     "com.unity.ide.rider": {
-      "version": "3.0.31",
+      "version": "3.0.35",
       "depth": 0,
       "source": "registry",
       "dependencies": {
@@ -309,11 +311,15 @@
       "url": "https://packages.tuanjie.cn"
     },
     "com.unity.memoryprofiler": {
-      "version": "1.1.1",
+      "version": "1.1.6",
       "depth": 0,
       "source": "registry",
       "dependencies": {
-        "com.unity.editorcoroutines": "1.0.0"
+        "com.unity.editorcoroutines": "1.0.0",
+        "com.unity.collections": "1.2.3",
+        "com.unity.mathematics": "1.2.1",
+        "com.unity.burst": "1.8.0",
+        "com.unity.profiling.core": "1.0.0"
       },
       "url": "https://packages.tuanjie.cn"
     },
@@ -348,7 +354,7 @@
       "url": "https://packages.tuanjie.cn"
     },
     "com.unity.render-pipelines.core": {
-      "version": "14.0.11",
+      "version": "14.1.0",
       "depth": 1,
       "source": "builtin",
       "dependencies": {
@@ -359,14 +365,14 @@
       }
     },
     "com.unity.render-pipelines.universal": {
-      "version": "14.0.11",
+      "version": "14.1.0",
       "depth": 0,
       "source": "builtin",
       "dependencies": {
         "com.unity.mathematics": "1.2.1",
         "com.unity.burst": "1.8.9",
-        "com.unity.render-pipelines.core": "14.0.11",
-        "com.unity.shadergraph": "14.0.11",
+        "com.unity.render-pipelines.core": "14.1.0",
+        "com.unity.shadergraph": "14.1.0",
         "com.unity.render-pipelines.universal-config": "14.0.9"
       }
     },
@@ -379,7 +385,7 @@
       }
     },
     "com.unity.scriptablebuildpipeline": {
-      "version": "1.21.24",
+      "version": "1.21.25",
       "depth": 1,
       "source": "registry",
       "dependencies": {},
@@ -403,33 +409,33 @@
       "url": "https://packages.tuanjie.cn"
     },
     "com.unity.services.analytics": {
-      "version": "5.0.0",
+      "version": "6.0.3",
       "depth": 1,
       "source": "registry",
       "dependencies": {
         "com.unity.ugui": "1.0.0",
-        "com.unity.modules.jsonserialize": "1.0.0",
-        "com.unity.services.core": "1.10.1"
+        "com.unity.services.core": "1.12.4",
+        "com.unity.modules.jsonserialize": "1.0.0"
       },
       "url": "https://packages.tuanjie.cn"
     },
     "com.unity.services.core": {
-      "version": "1.12.5",
+      "version": "1.14.0",
       "depth": 2,
       "source": "registry",
       "dependencies": {
-        "com.unity.modules.unitywebrequest": "1.0.0",
+        "com.unity.modules.androidjni": "1.0.0",
         "com.unity.nuget.newtonsoft-json": "3.2.1",
-        "com.unity.modules.androidjni": "1.0.0"
+        "com.unity.modules.unitywebrequest": "1.0.0"
       },
       "url": "https://packages.tuanjie.cn"
     },
     "com.unity.shadergraph": {
-      "version": "14.0.11",
+      "version": "14.1.0",
       "depth": 1,
       "source": "builtin",
       "dependencies": {
-        "com.unity.render-pipelines.core": "14.0.11",
+        "com.unity.render-pipelines.core": "14.1.0",
         "com.unity.searcher": "4.9.2"
       }
     },
@@ -464,13 +470,13 @@
       "url": "https://packages.tuanjie.cn"
     },
     "com.unity.timeline": {
-      "version": "1.7.6",
+      "version": "1.7.7",
       "depth": 0,
       "source": "registry",
       "dependencies": {
+        "com.unity.modules.audio": "1.0.0",
         "com.unity.modules.director": "1.0.0",
         "com.unity.modules.animation": "1.0.0",
-        "com.unity.modules.audio": "1.0.0",
         "com.unity.modules.particlesystem": "1.0.0"
       },
       "url": "https://packages.tuanjie.cn"
@@ -495,7 +501,7 @@
       "url": "https://packages.tuanjie.cn"
     },
     "com.unity.xr.legacyinputhelpers": {
-      "version": "2.1.10",
+      "version": "2.1.12",
       "depth": 0,
       "source": "registry",
       "dependencies": {
@@ -526,10 +532,7 @@
       "version": "1.0.0",
       "depth": 0,
       "source": "builtin",
-      "dependencies": {
-        "com.unity.modules.audio": "1.0.0",
-        "com.unity.modules.animation": "1.0.0"
-      }
+      "dependencies": {}
     },
     "com.unity.modules.audio": {
       "version": "1.0.0",

+ 3 - 3
ProjectSettings/ProjectVersion.txt

@@ -1,3 +1,3 @@
-m_EditorVersion: 2022.3.48t6
-m_EditorVersionWithRevision: 2022.3.48t6 (b281c1694403)
-m_TuanjieEditorVersion: 1.4.3
+m_EditorVersion: 2022.3.61t8
+m_EditorVersionWithRevision: 2022.3.61t8 (4d1c4dc33c81)
+m_TuanjieEditorVersion: 1.6.7

+ 32 - 0
ProjectSettings/ThreadInfoSettings.asset

@@ -0,0 +1,32 @@
+%YAML 1.1
+%TAG !u! tag:yousandi.cn,2023:
+--- !u!9625 &1
+ThreadInfoSettings:
+  m_ObjectHideFlags: 0
+  m_TargetPlatform: 0
+  m_HMIAndroidPlatformThreadInfoSettings:
+    m_BasePlatformThreadInfoSettings:
+      m_MainThreadPriority: -2
+      m_JobWorkerThreadPriority: 0
+      m_GFXDeviceWorkerThreadPriority: -2
+      m_MainThreadAffinity: 2
+      m_JobWorkerThreadAffinity: 2
+      m_GFXDeviceWorkerThreadAffinity: 2
+    m_AndroidChoreographerThreadPriority: 0
+    m_AndroidChoreographerThreadAffinity: 0
+  m_EmbeddedLinuxPlatformThreadInfoSettings:
+    m_BasePlatformThreadInfoSettings:
+      m_MainThreadPriority: 0
+      m_JobWorkerThreadPriority: 0
+      m_GFXDeviceWorkerThreadPriority: -2
+      m_MainThreadAffinity: 2
+      m_JobWorkerThreadAffinity: 0
+      m_GFXDeviceWorkerThreadAffinity: 2
+  m_QnxPlatformThreadInfoSettings:
+    m_BasePlatformThreadInfoSettings:
+      m_MainThreadPriority: 10
+      m_JobWorkerThreadPriority: 10
+      m_GFXDeviceWorkerThreadPriority: 50
+      m_MainThreadAffinity: 2
+      m_JobWorkerThreadAffinity: 0
+      m_GFXDeviceWorkerThreadAffinity: 2

+ 73 - 60
UserSettings/Layouts/default-2022.dwlt

@@ -19,7 +19,7 @@ MonoBehaviour:
     width: 2560
     height: 1357
   m_ShowMode: 4
-  m_Title: Game
+  m_Title: Hierarchy
   m_RootView: {fileID: 2}
   m_MinSize: {x: 875, y: 492}
   m_MaxSize: {x: 10000, y: 10000}
@@ -100,7 +100,7 @@ MonoBehaviour:
   m_MinSize: {x: 400, y: 100}
   m_MaxSize: {x: 32384, y: 16192}
   vertical: 0
-  controlID: 29
+  controlID: 180
   draggingID: 0
 --- !u!114 &5
 MonoBehaviour:
@@ -147,7 +147,7 @@ MonoBehaviour:
   m_MinSize: {x: 100, y: 100}
   m_MaxSize: {x: 8096, y: 16192}
   vertical: 1
-  controlID: 30
+  controlID: 29
   draggingID: 0
 --- !u!114 &7
 MonoBehaviour:
@@ -166,7 +166,7 @@ MonoBehaviour:
     serializedVersion: 2
     x: 1209
     y: 0
-    width: 135
+    width: 367
     height: 1307
   m_MinSize: {x: 202, y: 221}
   m_MaxSize: {x: 4002, y: 4021}
@@ -190,9 +190,9 @@ MonoBehaviour:
   m_Children: []
   m_Position:
     serializedVersion: 2
-    x: 1344
+    x: 1576
     y: 0
-    width: 1082
+    width: 354
     height: 1307
   m_MinSize: {x: 232, y: 271}
   m_MaxSize: {x: 10002, y: 10021}
@@ -216,9 +216,9 @@ MonoBehaviour:
   m_Children: []
   m_Position:
     serializedVersion: 2
-    x: 2426
+    x: 1930
     y: 0
-    width: 134
+    width: 630
     height: 1307
   m_MinSize: {x: 276, y: 71}
   m_MaxSize: {x: 4001, y: 4021}
@@ -245,7 +245,7 @@ MonoBehaviour:
     x: 0
     y: 0
     width: 1209
-    height: 670
+    height: 308
   m_MinSize: {x: 201, y: 221}
   m_MaxSize: {x: 4001, y: 4021}
   m_ActualView: {fileID: 16}
@@ -269,9 +269,9 @@ MonoBehaviour:
   m_Position:
     serializedVersion: 2
     x: 0
-    y: 670
+    y: 308
     width: 1209
-    height: 637
+    height: 999
   m_MinSize: {x: 201, y: 221}
   m_MaxSize: {x: 4001, y: 4021}
   m_ActualView: {fileID: 15}
@@ -301,7 +301,7 @@ MonoBehaviour:
     serializedVersion: 2
     x: 1209
     y: 73
-    width: 133
+    width: 365
     height: 1286
   m_SerializedDataModeController:
     m_DataMode: 0
@@ -316,9 +316,9 @@ MonoBehaviour:
   m_SceneHierarchy:
     m_TreeViewState:
       scrollPos: {x: 0, y: 0}
-      m_SelectedIDs: a2870000
+      m_SelectedIDs: 
       m_LastClickedID: 0
-      m_ExpandedIDs: b8faffff62c7000094c70000
+      m_ExpandedIDs: 5efaffff
       m_RenameOverlay:
         m_UserAcceptedRename: 0
         m_Name: 
@@ -334,7 +334,7 @@ MonoBehaviour:
         m_IsRenaming: 0
         m_OriginalEventType: 11
         m_IsRenamingFilename: 0
-        m_ClientGUIView: {fileID: 0}
+        m_ClientGUIView: {fileID: 7}
       m_SearchString: 
     m_ExpandedScenes: []
     m_CurrenRootInstanceID: 0
@@ -362,9 +362,9 @@ MonoBehaviour:
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: 2426
+    x: 1930
     y: 73
-    width: 133
+    width: 629
     height: 1286
   m_SerializedDataModeController:
     m_DataMode: 0
@@ -379,7 +379,7 @@ MonoBehaviour:
   m_ObjectsLockedBeforeSerialization: []
   m_InstanceIDsLockedBeforeSerialization: 
   m_PreviewResizer:
-    m_CachedPref: -160
+    m_CachedPref: 392
     m_ControlHash: -371814159
     m_PrefName: Preview_InspectorPreview
   m_LastInspectedObjectInstanceID: -1
@@ -409,9 +409,9 @@ MonoBehaviour:
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: 1344
+    x: 1576
     y: 73
-    width: 1080
+    width: 352
     height: 1286
   m_SerializedDataModeController:
     m_DataMode: 0
@@ -424,7 +424,7 @@ MonoBehaviour:
     m_SaveData: []
     m_OverlaysVisible: 1
   m_SearchFilter:
-    m_NameFilter: 
+    m_NameFilter: LogT
     m_ClassNames: []
     m_AssetLabels: []
     m_AssetBundleNames: []
@@ -434,24 +434,24 @@ MonoBehaviour:
     m_SkipHidden: 0
     m_SearchArea: 1
     m_Folders:
-    - Assets/Editor/UIAsset
+    - Assets/Scripts/GameUI/UI/MainPanel
     m_Globs: []
-    m_OriginalText: 
+    m_OriginalText: LogT
     m_ImportLogFlags: 0
     m_FilterByTypeIntersection: 0
   m_ViewMode: 1
   m_StartGridSize: 16
   m_LastFolders:
-  - Assets/Editor/UIAsset
+  - Assets/Scripts/GameUI/UI/MainPanel
   m_LastFoldersGridSize: 16
   m_LastProjectPath: D:\Server\NetServer\NetServer\XiuXianGame
   m_LockTracker:
     m_IsLocked: 0
   m_FolderTreeState:
-    scrollPos: {x: 0, y: 223}
-    m_SelectedIDs: 00ce0000
-    m_LastClickedID: 52736
-    m_ExpandedIDs: 000000005ea8000098ca00009aca00009cca00009eca0000a0ca0000a2ca0000a4ca0000a6ca0000a8ca0000aaca0000acca0000aeca0000b0ca0000b2ca0000b4ca0000b6ca0000b8ca0000baca0000bcca0000beca0000c0ca0000c2ca0000c4ca0000c6ca0000e2ca000002cb0000e2cb000000ca9a3bffffff7f
+    scrollPos: {x: 0, y: 1615}
+    m_SelectedIDs: 06cb0000
+    m_LastClickedID: 51974
+    m_ExpandedIDs: 0000000024a800001eca000020ca000022ca000024ca000026ca000028ca00002aca00002cca00002eca000030ca000032ca000034ca000036ca000038ca00003aca00003cca00003eca000040ca000042ca000044ca000046ca000048ca00004aca00004cca000088ca000008cb00000acb000000ca9a3bffffff7f
     m_RenameOverlay:
       m_UserAcceptedRename: 0
       m_Name: 
@@ -479,7 +479,7 @@ MonoBehaviour:
     scrollPos: {x: 0, y: 0}
     m_SelectedIDs: 
     m_LastClickedID: 0
-    m_ExpandedIDs: 000000005ea8000098ca00009aca00009cca00009eca0000a0ca0000a2ca0000a4ca0000a6ca0000a8ca0000aaca0000acca0000aeca0000b0ca0000b2ca0000b4ca0000b6ca0000b8ca0000baca0000bcca0000beca0000c0ca0000c2ca0000c4ca0000c6ca0000
+    m_ExpandedIDs: 0000000024a800001eca000020ca000022ca000024ca000026ca000028ca00002aca00002cca00002eca000030ca000032ca000034ca000036ca000038ca00003aca00003cca00003eca000040ca000042ca000044ca000046ca000048ca00004aca00004cca0000
     m_RenameOverlay:
       m_UserAcceptedRename: 0
       m_Name: 
@@ -506,22 +506,22 @@ MonoBehaviour:
   m_ListAreaState:
     m_SelectedInstanceIDs: 
     m_LastClickedInstanceID: 0
-    m_HadKeyboardFocusLastEvent: 1
+    m_HadKeyboardFocusLastEvent: 0
     m_ExpandedInstanceIDs: 
     m_RenameOverlay:
       m_UserAcceptedRename: 0
-      m_Name: CombatR
-      m_OriginalName: CombatR
+      m_Name: 
+      m_OriginalName: 
       m_EditFieldRect:
         serializedVersion: 2
         x: 0
         y: 0
         width: 0
         height: 0
-      m_UserData: 52118
+      m_UserData: 0
       m_IsWaitingForDelay: 0
       m_IsRenaming: 0
-      m_OriginalEventType: 0
+      m_OriginalEventType: 11
       m_IsRenamingFilename: 1
       m_ClientGUIView: {fileID: 8}
     m_CreateAssetUtility:
@@ -534,7 +534,7 @@ MonoBehaviour:
     m_ScrollPosition: {x: 0, y: 0}
     m_GridSize: 16
   m_SkipHiddenPackages: 0
-  m_DirectoriesAreaWidth: 500
+  m_DirectoriesAreaWidth: 175
 --- !u!114 &15
 MonoBehaviour:
   m_ObjectHideFlags: 52
@@ -556,9 +556,9 @@ MonoBehaviour:
   m_Pos:
     serializedVersion: 2
     x: 0
-    y: 743
+    y: 381
     width: 1208
-    height: 616
+    height: 978
   m_SerializedDataModeController:
     m_DataMode: 0
     m_PreferredDataMode: 0
@@ -575,7 +575,7 @@ MonoBehaviour:
   m_ShowGizmos: 0
   m_TargetDisplay: 0
   m_ClearColor: {r: 0, g: 0, b: 0, a: 0}
-  m_TargetSize: {x: 1208, y: 595}
+  m_TargetSize: {x: 750, y: 1624}
   m_TextureFilterMode: 0
   m_TextureHideFlags: 61
   m_RenderIMGUI: 1
@@ -584,16 +584,16 @@ MonoBehaviour:
   m_VSyncEnabled: 0
   m_Gizmos: 0
   m_Stats: 0
-  m_SelectedSizes: 00000000000000000000000000000000000000000000000000000000000000000000000000000000
+  m_SelectedSizes: 00000000000000000000000013000000000000000000000000000000000000000000000000000000
   m_ZoomArea:
     m_HRangeLocked: 0
     m_VRangeLocked: 0
     hZoomLockedByDefault: 0
     vZoomLockedByDefault: 0
-    m_HBaseRangeMin: -604
-    m_HBaseRangeMax: 604
-    m_VBaseRangeMin: -297.5
-    m_VBaseRangeMax: 297.5
+    m_HBaseRangeMin: -375
+    m_HBaseRangeMax: 375
+    m_VBaseRangeMin: -812
+    m_VBaseRangeMax: 812
     m_HAllowExceedBaseRangeMin: 1
     m_HAllowExceedBaseRangeMax: 1
     m_VAllowExceedBaseRangeMin: 1
@@ -612,25 +612,25 @@ MonoBehaviour:
       x: 0
       y: 21
       width: 1208
-      height: 595
-    m_Scale: {x: 1, y: 1}
-    m_Translation: {x: 604, y: 297.5}
+      height: 957
+    m_Scale: {x: 0.5892857, y: 0.58928573}
+    m_Translation: {x: 604, y: 478.5}
     m_MarginLeft: 0
     m_MarginRight: 0
     m_MarginTop: 0
     m_MarginBottom: 0
     m_LastShownAreaInsideMargins:
       serializedVersion: 2
-      x: -604
-      y: -297.5
-      width: 1208
-      height: 595
+      x: -1024.9697
+      y: -812
+      width: 2049.9395
+      height: 1624
     m_MinimalGUI: 1
-  m_defaultScale: 1
-  m_LastWindowPixelSize: {x: 1208, y: 616}
+  m_defaultScale: 0.58928573
+  m_LastWindowPixelSize: {x: 1208, y: 978}
   m_ClearInEditMode: 1
   m_NoCameraWarning: 1
-  m_LowResolutionForAspectRatios: 01000000000000000000
+  m_LowResolutionForAspectRatios: 01000001000000000000
   m_XRRenderMode: 0
   m_RenderTexture: {fileID: 0}
 --- !u!114 &16
@@ -656,7 +656,7 @@ MonoBehaviour:
     x: 0
     y: 73
     width: 1208
-    height: 649
+    height: 287
   m_SerializedDataModeController:
     m_DataMode: 0
     m_PreferredDataMode: 0
@@ -1004,6 +1004,19 @@ MonoBehaviour:
       layout: 4
       size: {x: 0, y: 0}
       sizeOverriden: 0
+    - dockPosition: 1
+      containerId: overlay-container--right
+      floating: 0
+      collapsed: 0
+      displayed: 1
+      snapOffset: {x: 48, y: 48}
+      snapOffsetDelta: {x: 0, y: 0}
+      snapCorner: 0
+      id: UnityEditor.SceneViewCameraOverlay
+      index: 13
+      layout: 4
+      size: {x: 0, y: 0}
+      sizeOverriden: 0
     m_OverlaysVisible: 1
   m_WindowGUID: e8ca080b221d3f348856e12226052b9f
   m_Gizmos: 1
@@ -1015,9 +1028,9 @@ MonoBehaviour:
   m_PlayAudio: 0
   m_AudioPlay: 0
   m_Position:
-    m_Target: {x: 623.459, y: 250.9672, z: 1.9532926}
+    m_Target: {x: 375, y: 812, z: 0}
     speed: 2
-    m_Value: {x: 617.51685, y: 255.02045, z: 1.7112793}
+    m_Value: {x: 375, y: 812, z: 0}
   m_RenderMode: 0
   m_CameraMode:
     drawMode: 0
@@ -1047,7 +1060,7 @@ MonoBehaviour:
       m_Fade:
         m_Target: 0
         speed: 2
-        m_Value: 1
+        m_Value: 0
       m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 0.4}
       m_Pivot: {x: 0, y: 0, z: 0}
       m_Size: {x: 1, y: 1}
@@ -1065,11 +1078,11 @@ MonoBehaviour:
   m_Rotation:
     m_Target: {x: 0, y: 0, z: 0, w: 1}
     speed: 2
-    m_Value: {x: -0.000000026628507, y: 0.0000002747978, z: -0.00000006428691, w: -1.0000001}
+    m_Value: {x: 0, y: 0, z: 0, w: 1}
   m_Size:
-    m_Target: 513.60815
+    m_Target: 1028.0233
     speed: 2
-    m_Value: 537.8096
+    m_Value: 1028.0233
   m_Ortho:
     m_Target: 1
     speed: 2

+ 1 - 0
XiuXianGame.sln.DotSettings.user

@@ -39,6 +39,7 @@
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AExceptionDispatchInfo_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fe4df6db7850b4c40b72002ff5da8188846ac00_003Fd3_003F4533b7c3_003FExceptionDispatchInfo_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AExceptionDispatchInfo_002Ecs_002Fl_003AC_0021_003FUsers_003Fadmin_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fe4df6db7850b4c40b72002ff5da8188846ac00_003Fd3_003F4533b7c3_003FExceptionDispatchInfo_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AExceptionDispatchInfo_002Ecs_002Fl_003AC_0021_003FUsers_003Fck_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fe4df6db7850b4c40b72002ff5da8188846ac00_003F78_003Fe39b72ca_003FExceptionDispatchInfo_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
+	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AFile_002Ecs_002Fl_003AC_0021_003FUsers_003Fck_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F3789ee403a53437cbb6b5d9ab6311f51573620_003Fce_003Fe010d266_003FFile_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AFunc_00601_002Ecs_002Fl_003AC_0021_003FUsers_003Fck_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fe4df6db7850b4c40b72002ff5da8188846ac00_003F7d_003F1afce2dc_003FFunc_00601_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AGraphicsBuffer_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5c4a01f363eb46748231fc41bd9bdd8517e000_003F3a_003F867eec19_003FGraphicsBuffer_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AIDisposable_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fe4df6db7850b4c40b72002ff5da8188846ac00_003Ff0_003F55936aef_003FIDisposable_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>

Some files were not shown because too many files changed in this diff