extern public static ObjectIdentifier[] GetPlayerDependenciesForObjects(ObjectIdentifier[] objectIDs, BuildTarget target, TypeDB typeDB);
 public Factory(TypeDB tp)
 {
     this._tp = tp;
 }
Пример #3
0
 public static extern ObjectIdentifier[] GetPlayerDependenciesForObject(ObjectIdentifier objectID, BuildTarget target, TypeDB typeDB);
Пример #4
0
        /// <summary>
        /// 查找某个资源引用到的资源
        /// </summary>
        /// <param name="typeDB">可以通过<see cref="EditorExtend.CompilePlayerScriptsUtility.CompileCurrentTargetTypeDB"/>获取</param>
        /// <param name="buildTarget">如果为NoTarget 则使用当前的平台</param>
        public static ObjectIdentifier[] SearchAssetDependenciesWithAssetGUID(string assetGUID, TypeDB typeDB = null, BuildTarget buildTarget = BuildTarget.NoTarget)
        {
            if (buildTarget == BuildTarget.NoTarget)
            {
                buildTarget = EditorUserBuildSettings.activeBuildTarget;
            }

            if (typeDB == null)
            {
                CompilePlayerScriptsUtility.GetOrCompileCurrentTargetTypeDB(false, out typeDB);
            }

            ObjectIdentifier[] assetIncludes = ContentBuildInterface.GetPlayerObjectIdentifiersInAsset(new GUID(assetGUID), buildTarget);
            return(ContentBuildInterface.GetPlayerDependenciesForObjects(assetIncludes, buildTarget, typeDB));
        }
Пример #5
0
 /// <summary>
 /// <see cref="SearchAssetDependenciesWithAssetGUID"/>
 /// </summary>
 public static ObjectIdentifier[] SearchAssetDependencies(UnityEngine.Object asset, TypeDB typeDB = null, BuildTarget buildTarget = BuildTarget.NoTarget)
 {
     return(SearchAssetDependenciesWithAssetPath(AssetDatabase.GetAssetPath(asset), typeDB, buildTarget));
 }
Пример #6
0
 /// <summary>
 /// <see cref="SearchAssetDependenciesWithAssetGUID"/>
 /// </summary>
 public static ObjectIdentifier[] SearchAssetDependenciesWithAssetPath(string assetPath, TypeDB typeDB = null, BuildTarget buildTarget = BuildTarget.NoTarget)
 {
     return(SearchAssetDependenciesWithAssetGUID(AssetDatabase.AssetPathToGUID(assetPath), typeDB, buildTarget));
 }
Пример #7
0
 /// <summary>
 /// 上下文
 /// </summary>
 /// <param name="typeDB">数据库类型</param>
 public ContextBase(TypeDB typeDB = TypeDB.SQLServer) : base()
 {
     TDB = typeDB;
 }
Пример #8
0
 /// <summary>
 /// 上下文
 /// </summary>
 public ContextBase() : base()
 {
     TDB = (TypeDB)Enum.Parse(typeof(TypeDB), GlobalTo.GetValue("TypeDB"), true);
 }
Пример #9
0
        static CachedInfo CalculateTargetCachedInfo(CacheEntry entry, BuildTarget target, TypeDB typeDB = null)
        {
            var cache = new BuildCache();
            List <ObjectIdentifier> objects = new List <ObjectIdentifier>();

            objects.AddRange(ContentBuildInterface.GetPlayerObjectIdentifiersInAsset(entry.Guid, target));
            objects.AddRange(ContentBuildInterface.GetPlayerDependenciesForObjects(objects.ToArray(), target, typeDB));

            var cachedInfo = new CachedInfo();

            cachedInfo.Asset = entry;
            cachedInfo.Data  = new[] { objects };

            // TODO: Handle built-in objects, might require some low level build changes like an option to ignore the hideFlags
            var dependencies = objects.Select(x => x.guid).Where(x => !x.Empty() && x != entry.Guid && x != k_UnityBuiltinResources).Distinct();

            cachedInfo.Dependencies = dependencies.Select(cache.GetCacheEntry).ToArray();
            // cache.SaveCachedData(new List<CachedInfo> { cachedInfo }); // TODO: Disabled because we have file contention as "Save" is async only with no wait functionality
            return(cachedInfo);
        }
Пример #10
0
 /// <summary>
 /// 上下文
 /// </summary>
 /// <param name="typeDB">数据库类型</param>
 public ContextBase(TypeDB typeDB = TypeDB.MySQL) : base()
 {
     TDB = typeDB;
 }