39 lines
1.1 KiB
C#
39 lines
1.1 KiB
C#
using UnityEditor;
|
|
using UnityEditor.Build;
|
|
using UnityEditor.Build.Reporting;
|
|
using UnityEditor.Callbacks;
|
|
using UnityEngine;
|
|
|
|
namespace UnityGLTF
|
|
{
|
|
public class PackageVersionPreprocessBuild : IPreprocessBuildWithReport
|
|
{
|
|
public int callbackOrder
|
|
{
|
|
get => 0;
|
|
}
|
|
|
|
private static void SetPackageVersion(bool resetValue = false)
|
|
{
|
|
var defaultSettings = GLTFSettings.GetOrCreateSettings();
|
|
if (!defaultSettings)
|
|
return;
|
|
|
|
defaultSettings.packageVersion = resetValue ? null : defaultSettings.GetUnityGltfVersion();
|
|
EditorUtility.SetDirty(defaultSettings);
|
|
AssetDatabase.SaveAssets();
|
|
AssetDatabase.Refresh();
|
|
}
|
|
|
|
public void OnPreprocessBuild(BuildReport report)
|
|
{
|
|
SetPackageVersion();
|
|
}
|
|
|
|
[PostProcessBuild(1)]
|
|
public static void OnPostprocessBuild(BuildTarget target, string pathToBuiltProject)
|
|
{
|
|
SetPackageVersion(true);
|
|
}
|
|
}
|
|
} |