少年修仙传客户端代码仓库
client_Wu Xijin
2018-10-26 93ab6fe56b327576fcaebbc7caa3ee8ea0fe3ff3
4334 【前端】随包资源支持热更
7个文件已修改
97 ■■■■ 已修改文件
Core/GameEngine/Login/Launch.cs 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/ConfigManager.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/ResModule/AssetBundle/AssetBundleUtility.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/SDK/SDKUtility.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/AssetVersion/AssetVersionUtility.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/ClientVersion/VersionConfig.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/FileExtersion.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Login/Launch.cs
@@ -13,11 +13,9 @@
    static public LaunchStage currentStage { get { return m_CurrentStage; } }
    static float m_Progress = 0f;
    static public float progress
    {
    static public float progress {
        get { return m_Progress; }
        set
        {
        set {
            if (m_Progress != value)
            {
                m_Progress = value;
@@ -56,22 +54,29 @@
        GlobalTimeEvent.Instance.Begin();
#if UNITY_ANDROID && !UNITY_EDITOR
        var files = new List<FileInfo>();
        FileExtersion.GetAllDirectoryFileInfos(StringUtility.Contact(ResourcesPath.Instance.StreamingAssetPath, "builtin"), files);
        foreach (var file in files)
        if (!SDKUtility.Instance.builtinAssetCopyFinished)
        {
            var name = Path.GetFileName(file.FullName);
            SDKUtility.Instance.CopyContent(StringUtility.Contact("builtin/",name ));
        }
            SDKUtility.Instance.CopyContent("builtin_assetbundle");
            SDKUtility.Instance.CopyContent("builtin_assetbundle.manifest");
            SDKUtility.Instance.CopyContent("builtin/music");
            SDKUtility.Instance.CopyContent("builtin/music.manifest");
            SDKUtility.Instance.CopyContent("builtin/prefabs");
            SDKUtility.Instance.CopyContent("builtin/prefabs.manifest");
            SDKUtility.Instance.CopyContent("builtin/sprite");
            SDKUtility.Instance.CopyContent("builtin/sprite.manifest");
            SDKUtility.Instance.CopyContent("config/Contact");
            SDKUtility.Instance.CopyContent("config/HelpInfo");
            SDKUtility.Instance.CopyContent("config/PriorBundle");
            SDKUtility.Instance.CopyContent("config/PriorLanguage");
        SDKUtility.Instance.CopyContent("builtin_assetbundle");
        SDKUtility.Instance.CopyContent("builtin_assetbundle.manifest");
            LocalSave.SetString("BuiltInAssetCopyCompleted_Android", VersionConfig.Get().version);
        }
#endif
#if UNITY_IOS && !UNITY_EDITOR
        if (!VersionUtility.Instance.InIosAuditTime())
        {
            if (!SDKUtility.Instance.AssetCopyFinished)
            if (!SDKUtility.Instance.builtinAssetCopyFinished)
            {
                var targetDirectory = ResourcesPath.Instance.ExternalStorePath;
                if (!Directory.Exists(targetDirectory))
@@ -99,9 +104,14 @@
                }
            }
        }
        LocalSave.SetString("BuiltInAssetCopyCompleted_IOS", VersionConfig.Get().version);
#endif
        AssetBundleUtility.Instance.InitBuiltInAsset();
        if (!AssetSource.builtInFromEditor)
        {
            AssetBundleUtility.Instance.InitBuiltInAsset();
        }
    }
    void Start()
Core/GameEngine/Model/ConfigManager.cs
@@ -522,7 +522,7 @@
        switch (_assetPath)
        {
            case AssetPath.Resource:
                path = AssetVersionUtility.GetAssetFilePath(StringUtility.Contact("config/", fileName, ".txt"));
                path = AssetVersionUtility.GetBuiltInAssetFilePath(StringUtility.Contact("config/", fileName, ".txt"));
                if (File.Exists(path))
                {
                    lines = File.ReadAllLines(path, Encoding.UTF8);
Core/ResModule/AssetBundle/AssetBundleUtility.cs
@@ -16,7 +16,7 @@
    public void InitBuiltInAsset()
    {
        var path = AssetVersionUtility.GetAssetFilePath("builtin_assetbundle");
        var path = AssetVersionUtility.GetBuiltInAssetFilePath("builtin_assetbundle");
        var assetBundle = AssetBundle.LoadFromFile(path);
        if (assetBundle == null)
        {
@@ -142,7 +142,8 @@
            yield return Co_LoadAssetBundleDependenice(_assetBundleInfo);
        }
        var filePath = AssetVersionUtility.GetAssetFilePath(assetBundleName);
        var isBuiltin = assetBundleName.Contains("builtin");
        var filePath = isBuiltin?AssetVersionUtility.GetBuiltInAssetFilePath(assetBundleName) : AssetVersionUtility.GetAssetFilePath(assetBundleName);
        DebugEx.LogFormat("Co_LoadAssetBundle(): 将要加载的assetBundle包路径 => {0}", filePath);
        var assetBundle = AssetBundle.LoadFromFile(filePath);
@@ -316,7 +317,8 @@
        Sync_LoadAssetBundleDependenice(_assetBundleInfo);
        string _path = AssetVersionUtility.GetAssetFilePath(assetBundleName);
        var isBuiltin = assetBundleName.Contains("builtin");
        string _path = isBuiltin ? AssetVersionUtility.GetBuiltInAssetFilePath(assetBundleName) : AssetVersionUtility.GetAssetFilePath(assetBundleName);
        AssetBundle _assetBundle = AssetBundle.LoadFromFile(_path);
        CacheAssetBundle(assetBundleName, _assetBundle);
Core/SDK/SDKUtility.cs
@@ -70,6 +70,8 @@
    /// </summary>
    public UnityAction<NetworkReachability> OnNetworkStatusChanged;
    public bool builtinAssetCopyFinished { get; private set; }
    /// <summary>
    /// 是否已经将StreamingAsset拷贝至目标路径
    /// </summary>
@@ -103,8 +105,27 @@
        {
            return;
        }
#if UNITY_ANDROID
        var builtinAssetsCopyFinishVersion = LocalSave.GetString("BuiltInAssetCopyCompleted_Android");
        if (string.IsNullOrEmpty(builtinAssetsCopyFinishVersion))
        {
            builtinAssetCopyFinished = false;
        }
        else
        {
            builtinAssetCopyFinished = VersionConfig.Get().version == builtinAssetsCopyFinishVersion;
        }
#endif
#if UNITY_IOS
        var builtinAssetsCopyFinishVersion = LocalSave.GetString("BuiltInAssetCopyCompleted_IOS");
        if (string.IsNullOrEmpty(builtinAssetsCopyFinishVersion))
        {
            builtinAssetCopyFinished = false;
        }
        else
        {
            builtinAssetCopyFinished = VersionConfig.Get().version == builtinAssetsCopyFinishVersion;
        }
        var assetsCopyFinishVersion = LocalSave.GetString("AssetCopyCompleted_IOS");
        if (string.IsNullOrEmpty(assetsCopyFinishVersion))
System/AssetVersion/AssetVersionUtility.cs
@@ -184,6 +184,28 @@
        }
        return path;
    }
    public static string GetBuiltInAssetFilePath(string _assetKey)
    {
        var path = string.Empty;
        if (Application.platform == RuntimePlatform.Android)
        {
            path = StringUtility.Contact(ResourcesPath.Instance.ExternalStorePath, _assetKey);
        }
        else
        {
            if (SDKUtility.Instance.builtinAssetCopyFinished)
            {
                path = StringUtility.Contact(ResourcesPath.Instance.ExternalStorePath, _assetKey);
            }
            else
            {
                path = StringUtility.Contact(ResourcesPath.Instance.StreamingAssetPath, _assetKey);
            }
        }
        return path;
    }
    public static bool IsUnpriorAssetDownLoadOk()
System/ClientVersion/VersionConfig.cs
@@ -10,7 +10,7 @@
[CreateAssetMenu(menuName = "Config/VersionConfig")]
public class VersionConfig : ScriptableObject
{
    public const string VERSION_ALTERNATIVE = "0.0.0";
    public const string VERSION_ALTERNATIVE = "99.99.99";
    [SerializeField] public string m_AppId = string.Empty;
    public string appId { get { return m_AppId; } }
Utility/FileExtersion.cs
@@ -29,6 +29,8 @@
    public static void GetAllDirectoryFileInfos(string _path, List<FileInfo> _fileInfos)
    {
        UnityEngine.Debug.Log("GetAllDirectoryFileInfos path  is :" + _path);
        var directoryInfo = new DirectoryInfo(_path);
        var allFileSystemInfos = directoryInfo.GetFileSystemInfos();