initial commit

This commit is contained in:
Jo 2025-01-07 02:06:59 +01:00
parent 6715289efe
commit 788c3389af
37645 changed files with 2526849 additions and 80 deletions

View file

@ -0,0 +1,60 @@
using System.Collections.Generic;
using System.IO;
using System.Linq;
using UnityEditor.SceneManagement;
namespace UnityEditor.Build.Pipeline.Utilities
{
internal static class ValidationMethods
{
internal static System.Func<GUID, Status> ValidAssetFake;
public enum Status
{
Invalid,
Asset,
Scene
}
public static Status ValidAsset(GUID asset)
{
if (ValidAssetFake != null)
return ValidAssetFake(asset);
var path = AssetDatabase.GUIDToAssetPath(asset.ToString());
if (string.IsNullOrEmpty(path) || !File.Exists(path))
return Status.Invalid;
if (path.EndsWith(".unity"))
return Status.Scene;
return Status.Asset;
}
public static bool ValidSceneBundle(List<GUID> assets)
{
return assets.All(x => ValidAsset(x) == Status.Scene);
}
public static bool ValidAssetBundle(List<GUID> assets)
{
return assets.All(x => ValidAsset(x) == Status.Asset);
}
public static bool HasDirtyScenes()
{
var unsavedChanges = false;
var sceneCount = EditorSceneManager.sceneCount;
for (var i = 0; i < sceneCount; ++i)
{
var scene = EditorSceneManager.GetSceneAt(i);
if (!scene.isDirty)
continue;
unsavedChanges = true;
break;
}
return unsavedChanges;
}
}
}