extern public static ObjectIdentifier[] GetPlayerDependenciesForObjects(ObjectIdentifier[] objectIDs, BuildTarget target, TypeDB typeDB);
public Factory(TypeDB tp) { this._tp = tp; }
public static extern ObjectIdentifier[] GetPlayerDependenciesForObject(ObjectIdentifier objectID, BuildTarget target, TypeDB typeDB);
/// <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)); }
/// <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)); }
/// <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)); }
/// <summary> /// 上下文 /// </summary> /// <param name="typeDB">数据库类型</param> public ContextBase(TypeDB typeDB = TypeDB.SQLServer) : base() { TDB = typeDB; }
/// <summary> /// 上下文 /// </summary> public ContextBase() : base() { TDB = (TypeDB)Enum.Parse(typeof(TypeDB), GlobalTo.GetValue("TypeDB"), true); }
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); }
/// <summary> /// 上下文 /// </summary> /// <param name="typeDB">数据库类型</param> public ContextBase(TypeDB typeDB = TypeDB.MySQL) : base() { TDB = typeDB; }