Exemplo n.º 1
0
        /// <summary>
        /// 在给定的根目录下,根据组名检查某个扩展包(组)是否有效
        /// </summary>
        /// <param name="packages_root_path"></param>
        /// <param name="group_name"></param>
        /// <returns></returns>
        internal static bool IsValid_ExtensionGroup_InPackages(string packages_root_path, string group_name)
        {
            var arr = VFSUtil.GetValidExtensionGroupNames(VFSUtil.GetExtensionPackageRootFolderInPackages(packages_root_path));

            if (arr == null || arr.Length == 0)
            {
                return(false);
            }
            return(arr.Contains(group_name));
        }
Exemplo n.º 2
0
        /// <summary>
        /// 在给定的目录下,是否有任何一个有效的扩展组
        /// </summary>
        /// <param name="packages_root_path"></param>
        /// <returns></returns>
        internal static bool IsAnyValidExtensionGroup_InPackages(string packages_root_path)
        {
            var arr = VFSUtil.GetValidExtensionGroupNames(VFSUtil.GetExtensionPackageRootFolderInPackages(packages_root_path));

            if (arr == null || arr.Length == 0)
            {
                return(false);
            }
            return(true);
        }
Exemplo n.º 3
0
        private void RefreshData_Left_list()
        {
            if (mLeft_Select_Platform == null)
            {
                return;
            }
            var    platform_name             = XPlatformUtil.GetNameText(mLeft_Select_Platform.Value);
            string source_packages_root_path = VFSEditorUtil.GetSourcePackagesFolderPath(platform_name);
            string package_stream_root_path  = VFSUtil.GetPackagesRootFolderInStreamingAssets(platform_name);

            //检查,StreamingAssets
            if (mDict_MainPackage_SourcePackage[mLeft_Select_Platform.Value] && mDict_MainPackage_StreamingAssets[mLeft_Select_Platform.Value])
            {
                //两边都有,我们来看看两边的build_id是否一致
                string build_info_source_path = VFSUtil.GetMainPackage_BuildInfo_Path(source_packages_root_path);
                string build_info_stream_path = VFSUtil.GetMainPackage_BuildInfo_Path(package_stream_root_path);
                if (File.Exists(build_info_stream_path) && File.Exists(build_info_source_path))
                {
                    try
                    {
                        var build_info_source = JsonUtility.FromJson <TinaX.VFSKitInternal.BuildInfo>(File.ReadAllText(build_info_source_path));
                        var build_info_stream = JsonUtility.FromJson <TinaX.VFSKitInternal.BuildInfo>(File.ReadAllText(build_info_stream_path));

                        if (build_info_source.BuildID != build_info_stream.BuildID)
                        {
                            main_package_not_same = true;
                        }
                    }
                    catch { }
                }
            }
            else
            {
                main_package_not_same = false;
            }

            //扩展组的处理
            mDict_ExtensionGroups_Info.Clear();
            if (mDict_Extensions_SourcePackage[mLeft_Select_Platform.Value])
            {
                string   source_extensions_root_path = VFSUtil.GetExtensionPackageRootFolderInPackages(source_packages_root_path);
                string[] group_names = VFSUtil.GetValidExtensionGroupNames(source_extensions_root_path);
                foreach (var group in group_names)
                {
                    //streamingassets 中存在嘛
                    if (VFSUtil.IsValidExtensionPackage(VFSUtil.GetExtensionGroupFolder(package_stream_root_path, group)))
                    {
                        //存在,检查build_id
                        string build_id_path_source = VFSUtil.GetExtensionGroup_BuildInfo_Path(source_packages_root_path, group);
                        string build_id_path_stream = VFSUtil.GetExtensionGroup_BuildInfo_Path(package_stream_root_path, group);
                        try
                        {
                            var b_info_source = JsonUtility.FromJson <TinaX.VFSKitInternal.BuildInfo>(File.ReadAllText(build_id_path_source));
                            var b_info_stream = JsonUtility.FromJson <TinaX.VFSKitInternal.BuildInfo>(File.ReadAllText(build_id_path_stream));
                            if (b_info_source.BuildID == b_info_stream.BuildID)
                            {
                                mDict_ExtensionGroups_Info.Add(group, 2);
                            }
                            else
                            {
                                mDict_ExtensionGroups_Info.Add(group, 1);
                            }
                        }
                        catch { }
                        if (!mDict_ExtensionGroups_Info.ContainsKey(group))
                        {
                            mDict_ExtensionGroups_Info.Add(group, 2);
                        }
                    }
                    else
                    {
                        // 不存在
                        mDict_ExtensionGroups_Info.Add(group, 0);
                    }
                }
            }


            mFlag_RefreshData_left_platform = mLeft_Select_Platform;
            mFlag_RefreshData_left          = true;
        }
Exemplo n.º 4
0
 /// <summary>
 /// 获取 Source Pakcages 下存放打扩展组资源文件的根目录 (vfs_extension)
 /// </summary>
 /// <param name="platform_name"></param>
 /// <returns></returns>
 public static string Get_ExtensionGroupsRootFolder_InSourcePackages(string platform_name)
 {
     return(VFSUtil.GetExtensionPackageRootFolderInPackages(GetSourcePackagesFolderPath(platform_name)));
 }
Exemplo n.º 5
0
        private bool mCurSaveBinary; //是否保存二进制文件

        private void OnEnable()
        {
            if (VFS_Platform != null)
            {
                flag_platform_from_param = true;
                platform_from_param      = VFS_Platform.Value;

                //如果参数给的是平台,那么要倒推出,当前该平台可用的分支
                string[] main_package_branches = VFSManagerEditor.VersionManager.GetBranchNamesByMainPackage(platform_from_param);
                if (main_package_branches != null && main_package_branches.Length > 0)
                {
                    match_branches_from_param.AddRange(main_package_branches);
                }
                string   platform_name = XPlatformUtil.GetNameText(platform_from_param);
                string   source_packages_folder_path = Path.Combine(VFSEditorConst.PROJECT_VFS_SOURCE_PACKAGES_ROOT_PATH, platform_name);
                string[] extension_groups_in_source_package_folder = VFSUtil.GetValidExtensionGroupNames(VFSUtil.GetExtensionPackageRootFolderInPackages(source_packages_folder_path));
                foreach (var groupName in extension_groups_in_source_package_folder)
                {
                    string[] group_branches = VFSManagerEditor.VersionManager.GetBranchNamesByExtensionGroup(platform_from_param, groupName);
                    if (group_branches != null && group_branches.Length > 0)
                    {
                        match_branches_from_param.AddRange(group_branches);
                    }
                }
                match_branches_from_param_arr = match_branches_from_param.ToArray();
            }

            if (!BranchName.IsNullOrEmpty())
            {
                flag_branchName_from_param = true;
                branchName_from_param      = BranchName;
                isBrancNameFromParamValid  = VFSManagerEditor.VersionManager.TryGetVersionBranch(branchName_from_param, out mCurBranch);
                mCurSelectBranchName       = BranchName;
            }
        }