少年修仙传客户端基础资源
hch
2025-02-14 9ef2d56705ba49323bbbc12110c7e8c8dadc67df
0312 增加工具检测cdn文件
7个文件已修改
1 文件已重命名
1个文件已删除
1个文件已添加
876 ■■■■■ 已修改文件
Assets/Art @ a08cdc 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/Editor/Tool/CheckCDN.cs 166 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/Editor/Tool/CheckCDN.cs.meta 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/Editor/Tool/CrossServerEditorWindow.cs 181 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/Resources/VersionConfig.asset 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/Resources/VersionConfigEx.txt 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/ResourcesOut @ a6ed78 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/Scripts @ 0e7760 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ProjectSettings/ProjectSettings.asset 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserSettings/Layouts/default-2022.dwlt 495 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/Art
@@ -1 +1 @@
Subproject commit 7f603c5400f549871644e50f7d36c2d7fc3b38be
Subproject commit a08cdc28399c4b127dbb0244bbfcc9aab03ca24f
Assets/Editor/Tool/CheckCDN.cs
New file
@@ -0,0 +1,166 @@
using UnityEngine;
using UnityEditor;
using System.IO;
using LitJson;
using vnxbqy.UI;
using System;
using System.Threading;
using StartAot;
using StartAotSDK;
using UnityEngine.Networking;
using Codice.CM.Client.Differences;
using System.Collections;
using System.Collections.Generic;
public class CheckCDN : EditorWindow
{
    [MenuItem("Tools/检查CDN")]
    public static void ShowWindow()
    {
        EditorWindow.GetWindow<CheckCDN>("检查CDN").Show();
    }
    [SerializeField]
    private string centerUrl;
    VersionUtility.VersionInfo versionInfo { get; set; }
    long remoteLength;
    private System.DateTime remoteLastModified; //远端文件最后修改时间
    private void OnGUI()
    {
        //从version获得CDN地址,检查
        EditorGUILayout.Space();
        EditorGUILayout.BeginHorizontal();
        GUILayout.Label("中心地址");
        EditorGUILayout.EndHorizontal();
        centerUrl = GUILayout.TextField(centerUrl, GUILayout.MinWidth(300));
        GUILayout.BeginHorizontal();
        GUI.color = Color.red;
        GUILayout.Label("必须在游戏运行的情况下才能检测!!!!! ");
        GUILayout.EndHorizontal();
        GUI.color = Color.white;
        GUILayout.BeginHorizontal();
        GUILayout.Label("没有配置默认取本版本代码的中心地址 " + VersionUtility.VERSION_URL[0]);
        GUILayout.EndHorizontal();
        GUILayout.BeginHorizontal();
        if (string.IsNullOrEmpty(centerUrl))
            GUILayout.Label("当前测试地址为:" + VersionUtility.VERSION_URL[0]);
        else
            GUILayout.Label("当前测试地址为:" + centerUrl);
        GUILayout.EndHorizontal();
        GUILayout.BeginHorizontal();
        GUILayout.Label("根据versionsconfig 检查CDN的 AssetsVersion.txt配置文件和资源 1.是否存在文件,2.大小是否一致");
        GUILayout.EndHorizontal();
        if (GUILayout.Button("检测"))
        {
            QueryCDN();
        }
    }
    private void QueryCDN()
    {
        string url = string.IsNullOrEmpty(centerUrl) ? VersionUtility.VERSION_URL[0] : centerUrl;
        var tables = new Dictionary<string, string>();
        tables["channel"] = VersionConfig.Get().appId;
        tables["versioncode"] = VersionConfig.Get().version;
        if (VersionConfig.Get().branch != 0)
        {
            tables["branch"] = VersionConfig.Get().branch.ToString();
        }
        tables["game"] = VersionConfig.Get().gameId;
        url = StringUtility.Contact(url, HttpRequest.HashtablaToString(tables));
        HttpRequest.Instance.RequestHttpGet(url, HttpRequest.defaultHttpContentType, 1, OnVersionCheckResult);
    }
    private void OnVersionCheckResult(bool _ok, string _result)
    {
        if (_ok)
        {
            versionInfo = JsonMapper.ToObject<VersionUtility.VersionInfo>(_result);
            var assetVersionUrl = StringUtility.Contact(GetResourcesURL(), Language.fixPath, "/AssetsVersion.txt");
            Debug.Log("请求CDN的AssetsVersion:" + assetVersionUrl);
            HttpRequest.Instance.RequestHttpGet(assetVersionUrl, HttpRequest.defaultHttpContentType, 3, OnGetAssetVersionFile);
        }
        else
        {
            Debug.Log("请求失败" + _result);
        }
    }
    public string GetResourcesURL()
    {
        int _branch = VersionConfig.Get().branch;
        if (versionInfo.resource_url != null)
        {
            return versionInfo.resource_url[_branch.ToString()].ToString();
        }
        else
        {
            return string.Empty;
        }
    }
    private void OnGetAssetVersionFile(bool ok, string result)
    {
        Debug.LogFormat("获取资源版本文件结果:时间 {0},结果 {1}, 文件大小 {2}", DateTime.Now, ok, result.Length);
        if (ok)
        {
            AssetVersionUtility.UpdateAssetVersions(result);
            BeginCheckAssets();
        }
        else
        {
            Debug.Log("请求CDN的AssetsVersion失败!");
        }
    }
    private void BeginCheckAssets()
    {
        foreach (var assetVersion in AssetVersionUtility.GetVersionsInfo().Values)
        {
            SnxxzGame.Instance.StartCoroutine(Co_GetHeader(assetVersion));
        }
    }
    private IEnumerator Co_GetHeader(AssetVersion assetVersion)
    {
        var remoteUrl = StringUtility.Contact(GetResourcesURL(), Language.fixPath, "/", assetVersion.relativePath);
        using (var www = UnityWebRequest.Head(remoteUrl))
        {
            www.timeout = DownloadMgr.TimeOut;
            yield return www.SendWebRequest();
            if (www.result == UnityWebRequest.Result.ConnectionError || www.result == UnityWebRequest.Result.ProtocolError)
            {
                DebugEx.LogErrorFormat("头信息获取失败:{0};error:{1}", remoteUrl, www.error);
                www.Dispose();
                yield break;
            }
            long.TryParse(www.GetResponseHeader(HttpHeader.ContentLength), out this.remoteLength);
            this.remoteLastModified = DateTime.Parse(www.GetResponseHeader(HttpHeader.LastModified));
            var acceptRange = www.GetResponseHeader(HttpHeader.AcceptRanges);
            DebugEx.LogFormat("头信息获取成功:{0};大小:{1};修改时间:{2};是否支持续传:{3}", remoteUrl, remoteLength, remoteLastModified, acceptRange);
            if (remoteLength != assetVersion.size)
            {
                DebugEx.LogErrorFormat("文件信息不一致:{0};记录大小:{1};远端大小:{2}", remoteUrl, assetVersion.size, remoteLength);
                www.Dispose();
                yield break;
            }
            www.Dispose();
        }
    }
}
Assets/Editor/Tool/CheckCDN.cs.meta
File was renamed from Assets/Editor/Tool/CrossServerEditorWindow.cs.meta
@@ -1,8 +1,7 @@
fileFormatVersion: 2
guid: c70256d8379f60c478d17e71d84fddc2
timeCreated: 1544603498
licenseType: Pro
guid: 1e27278093a91c548aacdb1184a8e01a
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
Assets/Editor/Tool/CrossServerEditorWindow.cs
File was deleted
Assets/Resources/VersionConfig.asset
@@ -12,14 +12,14 @@
  m_Script: {fileID: 11500000, guid: 13959b6aa2c3f5745af1c3f65a400302, type: 3}
  m_Name: VersionConfig
  m_EditorClassIdentifier: 
  m_AppId: test
  m_SpID: test
  m_AppId: btmdb
  m_SpID: btmdb
  m_VersionAuthority: 0
  m_Version: 1.105.1
  m_ClientPackageFlag: 2021
  m_Branch: 1
  m_AssetAccess: 3
  m_PartAssetPackage: 0
  m_PartAssetPackage: 1
  m_ProductName: "Tru Ti\xEAn Quy\u1EBFt"
  m_BundleIdentifier: com.djmxyn.gp
  m_KeystoreFileName: ald_game
Assets/Resources/VersionConfigEx.txt
@@ -1 +1 @@
{"m_AppId":"test","m_SpID":"","m_VersionAuthority":0,"m_Version":"1.105.1","m_ClientPackageFlag":"2021","m_Branch":1,"m_AssetAccess":3,"m_PartAssetPackage":true,"m_ProductName":"Tru Tiên Quyết","m_BundleIdentifier":"com.djmxyn.gp","m_KeystoreFileName":"ald_game","m_KeystorePassword":"aldgame688","m_KeystoreAlias":"ald_alias","m_KeystoreAliasPassword":"aldgame688","m_AppleDeveloperTeamID":"","m_DebugVersion":true,"m_IsBanShu":false,"m_BuildTime":"24/03/14--20:57","m_BuildIndex":6,"m_LogoPosition":{"x":0.0,"y":144.0},"m_BanHao":"1","m_SdkFileName":""}
{"m_AppId":"btmdb","m_SpID":"btmdb","m_VersionAuthority":0,"m_Version":"1.105.1","m_ClientPackageFlag":"2021","m_Branch":1,"m_AssetAccess":3,"m_PartAssetPackage":true,"m_ProductName":"Tru Tiên Quyết","m_BundleIdentifier":"com.djmxyn.gp","m_KeystoreFileName":"ald_game","m_KeystorePassword":"aldgame688","m_KeystoreAlias":"ald_alias","m_KeystoreAliasPassword":"aldgame688","m_AppleDeveloperTeamID":"","m_DebugVersion":true,"m_IsBanShu":false,"m_BuildTime":"24/03/14--20:57","m_BuildIndex":6,"m_LogoPosition":{"x":0.0,"y":144.0},"m_BanHao":"1","m_SdkFileName":""}
Assets/ResourcesOut
@@ -1 +1 @@
Subproject commit 1861cde575fb8e066107f3320869b107548b69dc
Subproject commit a6ed784f4561cc8a9d56e713dfa91b1fd326ff49
Assets/Scripts
@@ -1 +1 @@
Subproject commit 5321b0f74b800601b1bd4f2274e05efbfbdb401a
Subproject commit 0e7760eacdd89f65fe1f4db785ba4380ac6e9ec2
ProjectSettings/ProjectSettings.asset
@@ -954,9 +954,20 @@
  webGLMemoryGeometricGrowthCap: 96
  webGLPowerPreference: 2
  scriptingDefineSymbols:
    Android: SUBSTANCE_PLUGIN_ENABLED
    Standalone: HOTFIX_ENABLE
    Android: SUBSTANCE_PLUGIN_ENABLED;UNITY_POST_PROCESSING_STACK_V2
    EmbeddedLinux: UNITY_POST_PROCESSING_STACK_V2
    GameCoreXboxOne: UNITY_POST_PROCESSING_STACK_V2
    Nintendo Switch: UNITY_POST_PROCESSING_STACK_V2
    PS4: UNITY_POST_PROCESSING_STACK_V2
    PS5: UNITY_POST_PROCESSING_STACK_V2
    QNX: UNITY_POST_PROCESSING_STACK_V2
    Stadia: UNITY_POST_PROCESSING_STACK_V2
    Standalone: HOTFIX_ENABLE;UNITY_POST_PROCESSING_STACK_V2
    VisionOS: UNITY_POST_PROCESSING_STACK_V2
    WebGL: UNITY_POST_PROCESSING_STACK_V2
    XboxOne: UNITY_POST_PROCESSING_STACK_V2
    iPhone: HOTFIX_ENABLE
    tvOS: UNITY_POST_PROCESSING_STACK_V2
  additionalCompilerArguments: {}
  platformArchitecture:
    iPhone: 1
UserSettings/Layouts/default-2022.dwlt
@@ -19,7 +19,7 @@
    width: 1706.6667
    height: 976
  m_ShowMode: 4
  m_Title: Project
  m_Title: Hierarchy
  m_RootView: {fileID: 6}
  m_MinSize: {x: 875, y: 300}
  m_MaxSize: {x: 10000, y: 10000}
@@ -48,7 +48,7 @@
  m_MinSize: {x: 300, y: 100}
  m_MaxSize: {x: 24288, y: 16192}
  vertical: 0
  controlID: 50
  controlID: 92
  draggingID: 0
--- !u!114 &3
MonoBehaviour:
@@ -65,15 +65,15 @@
  m_Children: []
  m_Position:
    serializedVersion: 2
    x: 1166
    x: 1214
    y: 0
    width: 540.6666
    width: 492.66663
    height: 926
  m_MinSize: {x: 275, y: 50}
  m_MaxSize: {x: 4000, y: 4000}
  m_ActualView: {fileID: 13}
  m_ActualView: {fileID: 15}
  m_Panes:
  - {fileID: 13}
  - {fileID: 15}
  m_Selected: 0
  m_LastSelected: 0
--- !u!114 &4
@@ -93,13 +93,13 @@
    serializedVersion: 2
    x: 0
    y: 0
    width: 415.33334
    height: 559.3333
  m_MinSize: {x: 200, y: 200}
  m_MaxSize: {x: 4000, y: 4000}
  m_ActualView: {fileID: 14}
    width: 434.66666
    height: 537.3333
  m_MinSize: {x: 201, y: 221}
  m_MaxSize: {x: 4001, y: 4021}
  m_ActualView: {fileID: 16}
  m_Panes:
  - {fileID: 14}
  - {fileID: 16}
  m_Selected: 0
  m_LastSelected: 0
--- !u!114 &5
@@ -112,23 +112,23 @@
  m_Enabled: 1
  m_EditorHideFlags: 1
  m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
  m_Name: ProjectBrowser
  m_Name: ConsoleWindow
  m_EditorClassIdentifier: 
  m_Children: []
  m_Position:
    serializedVersion: 2
    x: 0
    y: 559.3333
    width: 1166
    height: 366.6667
  m_MinSize: {x: 231, y: 271}
  m_MaxSize: {x: 10001, y: 10021}
  m_ActualView: {fileID: 12}
    y: 537.3333
    width: 1214
    height: 388.6667
  m_MinSize: {x: 100, y: 100}
  m_MaxSize: {x: 4000, y: 4000}
  m_ActualView: {fileID: 19}
  m_Panes:
  - {fileID: 12}
  - {fileID: 17}
  m_Selected: 0
  m_LastSelected: 1
  - {fileID: 14}
  - {fileID: 19}
  m_Selected: 1
  m_LastSelected: 0
--- !u!114 &6
MonoBehaviour:
  m_ObjectHideFlags: 52
@@ -219,7 +219,7 @@
    serializedVersion: 2
    x: 0
    y: 0
    width: 1166
    width: 1214
    height: 926
  m_MinSize: {x: 200, y: 100}
  m_MaxSize: {x: 16192, y: 16192}
@@ -245,8 +245,8 @@
    serializedVersion: 2
    x: 0
    y: 0
    width: 1166
    height: 559.3333
    width: 1214
    height: 537.3333
  m_MinSize: {x: 200, y: 50}
  m_MaxSize: {x: 16192, y: 8096}
  vertical: 0
@@ -267,19 +267,318 @@
  m_Children: []
  m_Position:
    serializedVersion: 2
    x: 415.33334
    x: 434.66666
    y: 0
    width: 750.6666
    height: 559.3333
    width: 779.3334
    height: 537.3333
  m_MinSize: {x: 200, y: 200}
  m_MaxSize: {x: 4000, y: 4000}
  m_ActualView: {fileID: 15}
  m_ActualView: {fileID: 17}
  m_Panes:
  - {fileID: 15}
  - {fileID: 16}
  - {fileID: 17}
  - {fileID: 18}
  - {fileID: 13}
  - {fileID: 12}
  m_Selected: 0
  m_LastSelected: 1
--- !u!114 &12
MonoBehaviour:
  m_ObjectHideFlags: 52
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 0}
  m_Enabled: 1
  m_EditorHideFlags: 0
  m_Script: {fileID: 11500000, guid: 6783bbbd420e56a40b6b1b4f3edbd7d5, type: 3}
  m_Name:
  m_EditorClassIdentifier:
  m_MinSize: {x: 100, y: 100}
  m_MaxSize: {x: 4000, y: 4000}
  m_TitleContent:
    m_Text: AssetBundles
    m_Image: {fileID: 0}
    m_Tooltip:
  m_Pos:
    serializedVersion: 2
    x: 434.6667
    y: 72.66667
    width: 777.3334
    height: 516.3333
  m_SerializedDataModeController:
    m_DataMode: 0
    m_PreferredDataMode: 0
    m_SupportedDataModes:
    isAutomatic: 1
  m_ViewDataDictionary: {fileID: 0}
  m_OverlayCanvas:
    m_LastAppliedPresetName: Default
    m_SaveData: []
    m_OverlaysVisible: 1
  m_Mode: 1
  m_ManageTab:
    m_BundleTreeState:
      scrollPos: {x: 0, y: 0}
      m_SelectedIDs:
      m_LastClickedID: 0
      m_ExpandedIDs:
      m_RenameOverlay:
        m_UserAcceptedRename: 0
        m_Name:
        m_OriginalName:
        m_EditFieldRect:
          serializedVersion: 2
          x: 0
          y: 0
          width: 0
          height: 0
        m_UserData: 0
        m_IsWaitingForDelay: 0
        m_IsRenaming: 0
        m_OriginalEventType: 11
        m_IsRenamingFilename: 0
        m_ClientGUIView: {fileID: 0}
      m_SearchString:
    m_AssetListState:
      scrollPos: {x: 0, y: 0}
      m_SelectedIDs:
      m_LastClickedID: 0
      m_ExpandedIDs:
      m_RenameOverlay:
        m_UserAcceptedRename: 0
        m_Name:
        m_OriginalName:
        m_EditFieldRect:
          serializedVersion: 2
          x: 0
          y: 0
          width: 0
          height: 0
        m_UserData: 0
        m_IsWaitingForDelay: 0
        m_IsRenaming: 0
        m_OriginalEventType: 11
        m_IsRenamingFilename: 0
        m_ClientGUIView: {fileID: 0}
      m_SearchString:
    m_AssetListMCHState:
      m_Columns:
      - width: 100
        sortedAscending: 0
        headerContent:
          m_Text: Asset
          m_Image: {fileID: 0}
          m_Tooltip: Short name of asset. For full name select asset and see message
            below
        contextMenuText:
        headerTextAlignment: 0
        sortingArrowAlignment: 1
        minWidth: 50
        maxWidth: 300
        autoResize: 1
        allowToggleVisibility: 1
        canSort: 1
        userData: 0
      - width: 100
        sortedAscending: 0
        headerContent:
          m_Text: Bundle
          m_Image: {fileID: 0}
          m_Tooltip: Bundle name. 'auto' means asset was pulled in due to dependency
        contextMenuText:
        headerTextAlignment: 0
        sortingArrowAlignment: 1
        minWidth: 50
        maxWidth: 300
        autoResize: 1
        allowToggleVisibility: 1
        canSort: 1
        userData: 0
      - width: 75
        sortedAscending: 0
        headerContent:
          m_Text: Size
          m_Image: {fileID: 0}
          m_Tooltip: Size on disk
        contextMenuText:
        headerTextAlignment: 0
        sortingArrowAlignment: 1
        minWidth: 30
        maxWidth: 100
        autoResize: 1
        allowToggleVisibility: 1
        canSort: 1
        userData: 0
      - width: 16
        sortedAscending: 0
        headerContent:
          m_Text: '!'
          m_Image: {fileID: 0}
          m_Tooltip: Errors, Warnings, or Info
        contextMenuText:
        headerTextAlignment: 0
        sortingArrowAlignment: 1
        minWidth: 16
        maxWidth: 16
        autoResize: 0
        allowToggleVisibility: 1
        canSort: 1
        userData: 0
      m_VisibleColumns: 00000000010000000200000003000000
      m_SortedColumns:
    m_BundleDetailState:
      scrollPos: {x: 0, y: 0}
      m_SelectedIDs:
      m_LastClickedID: 0
      m_ExpandedIDs:
      m_RenameOverlay:
        m_UserAcceptedRename: 0
        m_Name:
        m_OriginalName:
        m_EditFieldRect:
          serializedVersion: 2
          x: 0
          y: 0
          width: 0
          height: 0
        m_UserData: 0
        m_IsWaitingForDelay: 0
        m_IsRenaming: 0
        m_OriginalEventType: 11
        m_IsRenamingFilename: 0
        m_ClientGUIView: {fileID: 0}
      m_SearchString:
    m_HorizontalSplitterPercent: 0.4
    m_VerticalSplitterPercentRight: 0.7
    m_VerticalSplitterPercentLeft: 0.85
  m_BuildTab:
    m_AdvancedSettings: 0
    m_ScrollPosition: {x: 0, y: 0}
    m_UserData:
      m_OnToggles: []
      m_BuildTarget: 5
      m_Compression: 1
      m_OutputPath: AssetBundles/Android
      m_UseDefaultPath: 0
    m_Version: 0
  m_InspectTab:
    m_ScrollPosition: {x: 0, y: 0}
    m_Data:
      m_BundlePath:
    m_BundleTreeState:
      scrollPos: {x: 0, y: 0}
      m_SelectedIDs:
      m_LastClickedID: 0
      m_ExpandedIDs:
      m_RenameOverlay:
        m_UserAcceptedRename: 0
        m_Name:
        m_OriginalName:
        m_EditFieldRect:
          serializedVersion: 2
          x: 0
          y: 0
          width: 0
          height: 0
        m_UserData: 0
        m_IsWaitingForDelay: 0
        m_IsRenaming: 0
        m_OriginalEventType: 11
        m_IsRenamingFilename: 0
        m_ClientGUIView: {fileID: 0}
      m_SearchString:
    m_Editor: {fileID: 0}
  multiDataSource: 0
--- !u!114 &13
MonoBehaviour:
  m_ObjectHideFlags: 52
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 0}
  m_Enabled: 1
  m_EditorHideFlags: 0
  m_Script: {fileID: 12914, guid: 0000000000000000e000000000000000, type: 0}
  m_Name:
  m_EditorClassIdentifier:
  m_MinSize: {x: 100, y: 100}
  m_MaxSize: {x: 4000, y: 4000}
  m_TitleContent:
    m_Text: Animator
    m_Image: {fileID: 1711060831702674872, guid: 0000000000000000d000000000000000,
      type: 0}
    m_Tooltip:
  m_Pos:
    serializedVersion: 2
    x: 435.33334
    y: 72.66667
    width: 779.33325
    height: 516.3333
  m_SerializedDataModeController:
    m_DataMode: 0
    m_PreferredDataMode: 0
    m_SupportedDataModes:
    isAutomatic: 1
  m_ViewDataDictionary: {fileID: 0}
  m_OverlayCanvas:
    m_LastAppliedPresetName: Default
    m_SaveData: []
    m_OverlaysVisible: 1
  m_ViewTransforms:
    m_KeySerializationHelper:
    - {fileID: 1107811705223907634, guid: be7cbdde8770b3b4b85be8edaa61d910, type: 2}
    - {fileID: 110791456, guid: 43f2fda5d649b944099cfa3c3c669235, type: 2}
    m_ValueSerializationHelper:
    - e00: 1
      e01: 0
      e02: 0
      e03: 0
      e10: 0
      e11: 1
      e12: 0
      e13: 0
      e20: 0
      e21: 0
      e22: 1
      e23: 0
      e30: 0
      e31: 0
      e32: 0
      e33: 1
    - e00: 1
      e01: 0
      e02: 0
      e03: 0
      e10: 0
      e11: 1
      e12: 0
      e13: 0
      e20: 0
      e21: 0
      e22: 1
      e23: 0
      e30: 0
      e31: 0
      e32: 0
      e33: 1
  m_PreviewAnimator: {fileID: 0}
  m_AnimatorController: {fileID: 9100000, guid: 43f2fda5d649b944099cfa3c3c669235,
    type: 2}
  m_BreadCrumbs:
  - m_Target: {fileID: 110791456, guid: 43f2fda5d649b944099cfa3c3c669235, type: 2}
    m_ScrollPosition: {x: 0, y: 0}
  stateMachineGraph: {fileID: 0}
  stateMachineGraphGUI: {fileID: 0}
  blendTreeGraph: {fileID: 0}
  blendTreeGraphGUI: {fileID: 0}
  m_AutoLiveLink: 1
  m_MiniTool: 0
  m_LockTracker:
    m_IsLocked: 0
  m_CurrentEditor: 0
  m_LayerEditor:
    m_SelectedLayerIndex: 0
--- !u!114 &14
MonoBehaviour:
  m_ObjectHideFlags: 52
  m_CorrespondingSourceObject: {fileID: 0}
@@ -301,9 +600,9 @@
  m_Pos:
    serializedVersion: 2
    x: 0
    y: 632
    width: 1165
    height: 345.6667
    y: 610
    width: 1213
    height: 367.6667
  m_SerializedDataModeController:
    m_DataMode: 0
    m_PreferredDataMode: 0
@@ -315,7 +614,7 @@
    m_SaveData: []
    m_OverlaysVisible: 1
  m_SearchFilter:
    m_NameFilter:
    m_NameFilter: offl
    m_ClassNames: []
    m_AssetLabels: []
    m_AssetBundleNames: []
@@ -325,24 +624,24 @@
    m_SkipHidden: 0
    m_SearchArea: 1
    m_Folders:
    - Assets/ResourcesOut/UI/Sprite
    - Assets/Scripts/System/NewBieGuidance
    m_Globs: []
    m_OriginalText:
    m_OriginalText: offl
    m_ImportLogFlags: 0
    m_FilterByTypeIntersection: 0
  m_ViewMode: 1
  m_StartGridSize: 96
  m_LastFolders:
  - Assets/ResourcesOut/UI/Sprite
  - Assets/Scripts/System/NewBieGuidance
  m_LastFoldersGridSize: 96
  m_LastProjectPath: D:\UnityPro\U3DClient-yn
  m_LastProjectPath: D:\UnityPro\U3DClient-tqbt
  m_LockTracker:
    m_IsLocked: 0
  m_FolderTreeState:
    scrollPos: {x: 0, y: 586.33325}
    m_SelectedIDs: 4a3a0100
    m_LastClickedID: 80458
    m_ExpandedIDs: 000000004239010044390100463901002c3a01004a3a010000ca9a3bffffff7f
    scrollPos: {x: 0, y: 1636.3333}
    m_SelectedIDs: 0e5c0100
    m_LastClickedID: 89102
    m_ExpandedIDs: 00000000285b01006c5b01006e5b0100765b0100faaa0300fcaa0300c8ad030000ca9a3b
    m_RenameOverlay:
      m_UserAcceptedRename: 0
      m_Name: 
@@ -370,7 +669,7 @@
    scrollPos: {x: 0, y: 0}
    m_SelectedIDs: 
    m_LastClickedID: 0
    m_ExpandedIDs: 00000000423901004439010046390100
    m_ExpandedIDs: 00000000285b0100
    m_RenameOverlay:
      m_UserAcceptedRename: 0
      m_Name: 
@@ -397,8 +696,8 @@
  m_ListAreaState:
    m_SelectedInstanceIDs: 
    m_LastClickedInstanceID: 0
    m_HadKeyboardFocusLastEvent: 1
    m_ExpandedInstanceIDs: c62300008e710100
    m_HadKeyboardFocusLastEvent: 0
    m_ExpandedInstanceIDs: c62300008e71010036b60000f6b6000022c70000fab600004e95000074a20000de370100e82f0100723801000e3a01000a380100ee3801004ea20000fc50010068eb0100fce10000
    m_RenameOverlay:
      m_UserAcceptedRename: 0
      m_Name: 
@@ -422,11 +721,11 @@
      m_Icon: {fileID: 0}
      m_ResourceFile: 
    m_NewAssetIndexInList: -1
    m_ScrollPosition: {x: 0, y: 496}
    m_ScrollPosition: {x: 0, y: 0}
    m_GridSize: 96
  m_SkipHiddenPackages: 0
  m_DirectoriesAreaWidth: 321
--- !u!114 &13
--- !u!114 &15
MonoBehaviour:
  m_ObjectHideFlags: 52
  m_CorrespondingSourceObject: {fileID: 0}
@@ -447,9 +746,9 @@
    m_Tooltip: 
  m_Pos:
    serializedVersion: 2
    x: 1166
    x: 1214
    y: 72.66667
    width: 539.6666
    width: 491.66663
    height: 905
  m_SerializedDataModeController:
    m_DataMode: 0
@@ -464,7 +763,7 @@
  m_ObjectsLockedBeforeSerialization: []
  m_InstanceIDsLockedBeforeSerialization: 
  m_PreviewResizer:
    m_CachedPref: 360.00006
    m_CachedPref: 379.33337
    m_ControlHash: -371814159
    m_PrefName: Preview_InspectorPreview
  m_LastInspectedObjectInstanceID: -1
@@ -474,7 +773,7 @@
  m_LockTracker:
    m_IsLocked: 0
  m_PreviewWindow: {fileID: 0}
--- !u!114 &14
--- !u!114 &16
MonoBehaviour:
  m_ObjectHideFlags: 52
  m_CorrespondingSourceObject: {fileID: 0}
@@ -497,8 +796,8 @@
    serializedVersion: 2
    x: 0
    y: 72.66667
    width: 414.33334
    height: 538.3333
    width: 433.66666
    height: 516.3333
  m_SerializedDataModeController:
    m_DataMode: 0
    m_PreferredDataMode: 0
@@ -512,25 +811,25 @@
  m_SceneHierarchy:
    m_TreeViewState:
      scrollPos: {x: 0, y: 0}
      m_SelectedIDs: 56030000
      m_SelectedIDs:
      m_LastClickedID: 0
      m_ExpandedIDs: 6878ffff20fbffff8ad301001ad8010006e00100
      m_ExpandedIDs: 2c6bebff926bebff325cecff6ac0ecffd0c0ecff24b0f3ff2cb0f3ff7cc2f3ff84c2f3ffcef2f3fff2f2f3ff04f3f3ffea78f4ffaa81f4ff2882f4ff6626fdff5609feff6209feffd409fefffafafffff4ffffff
      m_RenameOverlay:
        m_UserAcceptedRename: 0
        m_Name:
        m_OriginalName:
        m_Name: a
        m_OriginalName: a
        m_EditFieldRect:
          serializedVersion: 2
          x: 0
          y: 0
          width: 0
          height: 0
        m_UserData: 0
        m_UserData: 267690
        m_IsWaitingForDelay: 0
        m_IsRenaming: 0
        m_OriginalEventType: 11
        m_OriginalEventType: 0
        m_IsRenamingFilename: 0
        m_ClientGUIView: {fileID: 0}
        m_ClientGUIView: {fileID: 4}
      m_SearchString: 
    m_ExpandedScenes: []
    m_CurrenRootInstanceID: 0
@@ -538,7 +837,7 @@
      m_IsLocked: 0
    m_CurrentSortingName: TransformSorting
  m_WindowGUID: ceab6bd2dab57944c8cb72658a1dd09b
--- !u!114 &15
--- !u!114 &17
MonoBehaviour:
  m_ObjectHideFlags: 52
  m_CorrespondingSourceObject: {fileID: 0}
@@ -559,10 +858,10 @@
    m_Tooltip: 
  m_Pos:
    serializedVersion: 2
    x: 415.33334
    x: 434.6667
    y: 72.66667
    width: 748.6666
    height: 538.3333
    width: 777.3334
    height: 516.3333
  m_SerializedDataModeController:
    m_DataMode: 0
    m_PreferredDataMode: 0
@@ -577,8 +876,8 @@
      floating: 0
      collapsed: 0
      displayed: 1
      snapOffset: {x: -160, y: -24}
      snapOffsetDelta: {x: 0, y: -2.6666565}
      snapOffset: {x: -169.33337, y: -26.666656}
      snapOffsetDelta: {x: 0, y: 0}
      snapCorner: 3
      id: Tool Settings
      index: 0
@@ -1006,7 +1305,7 @@
      floating: 0
      collapsed: 0
      displayed: 0
      snapOffset: {x: 0, y: 0}
      snapOffset: {x: 0, y: 24.666666}
      snapOffsetDelta: {x: 0, y: 0}
      snapCorner: 0
      id: Scene View/TrailRenderer
@@ -1033,14 +1332,14 @@
  m_OverrideSceneCullingMask: 6917529027641081856
  m_SceneIsLit: 1
  m_SceneLighting: 1
  m_2DMode: 0
  m_2DMode: 1
  m_isRotationLocked: 0
  m_PlayAudio: 0
  m_AudioPlay: 0
  m_Position:
    m_Target: {x: 0, y: 0, z: 0}
    m_Target: {x: 1.7197195, y: -0.7732354, z: -0.105481215}
    speed: 2
    m_Value: {x: 0, y: 0, z: 0}
    m_Value: {x: 1.7197195, y: -0.7732354, z: -0.105481215}
  m_RenderMode: 0
  m_CameraMode:
    drawMode: 0
@@ -1068,17 +1367,17 @@
      m_Size: {x: 0, y: 0}
    yGrid:
      m_Fade:
        m_Target: 1
        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}
    zGrid:
      m_Fade:
        m_Target: 0
        m_Target: 1
        speed: 2
        m_Value: 0
        m_Value: 1
      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}
@@ -1086,17 +1385,17 @@
    m_GridAxis: 1
    m_gridOpacity: 0.5
  m_Rotation:
    m_Target: {x: -0.08717229, y: 0.89959055, z: -0.21045254, w: -0.3726226}
    m_Target: {x: 0, y: 0, z: 0, w: 1}
    speed: 2
    m_Value: {x: -0.08717229, y: 0.89959055, z: -0.21045254, w: -0.3726226}
    m_Value: {x: 0, y: 0, z: 0, w: 1}
  m_Size:
    m_Target: 40.899807
    m_Target: 3.3459158
    speed: 2
    m_Value: 39.138573
    m_Value: 3.3459158
  m_Ortho:
    m_Target: 0
    m_Target: 1
    speed: 2
    m_Value: 0
    m_Value: 1
  m_CameraSettings:
    m_Speed: 1
    m_SpeedNormalized: 0.5
@@ -1117,7 +1416,7 @@
  m_SceneVisActive: 1
  m_LastLockedObject: {fileID: 0}
  m_ViewIsLockedToObject: 0
--- !u!114 &16
--- !u!114 &18
MonoBehaviour:
  m_ObjectHideFlags: 52
  m_CorrespondingSourceObject: {fileID: 0}
@@ -1138,10 +1437,10 @@
    m_Tooltip: 
  m_Pos:
    serializedVersion: 2
    x: 415.33334
    x: 434.6667
    y: 72.66667
    width: 748.6666
    height: 538.3333
    width: 777.3334
    height: 516.3333
  m_SerializedDataModeController:
    m_DataMode: 0
    m_PreferredDataMode: 0
@@ -1194,10 +1493,10 @@
      serializedVersion: 2
      x: 0
      y: 21
      width: 748.6666
      height: 517.3333
    m_Scale: {x: 0.841829, y: 0.841829}
    m_Translation: {x: 374.3333, y: 258.66666}
      width: 777.3334
      height: 495.3333
    m_Scale: {x: 0.87406296, y: 0.87406296}
    m_Translation: {x: 388.6667, y: 247.66666}
    m_MarginLeft: 0
    m_MarginRight: 0
    m_MarginTop: 0
@@ -1205,18 +1504,18 @@
    m_LastShownAreaInsideMargins:
      serializedVersion: 2
      x: -444.6667
      y: -307.26746
      y: -283.35104
      width: 889.3334
      height: 614.5349
      height: 566.7021
    m_MinimalGUI: 1
  m_defaultScale: 0.841829
  m_LastWindowPixelSize: {x: 1123, y: 807.5}
  m_defaultScale: 0.87406296
  m_LastWindowPixelSize: {x: 1166, y: 774.5}
  m_ClearInEditMode: 1
  m_NoCameraWarning: 1
  m_LowResolutionForAspectRatios: 00000000000000000000
  m_XRRenderMode: 0
  m_RenderTexture: {fileID: 0}
--- !u!114 &17
--- !u!114 &19
MonoBehaviour:
  m_ObjectHideFlags: 52
  m_CorrespondingSourceObject: {fileID: 0}
@@ -1238,9 +1537,9 @@
  m_Pos:
    serializedVersion: 2
    x: 0
    y: 632
    width: 1165
    height: 345.6667
    y: 610
    width: 1213
    height: 367.6667
  m_SerializedDataModeController:
    m_DataMode: 0
    m_PreferredDataMode: 0