83 lines
2.5 KiB
C#
83 lines
2.5 KiB
C#
using UnityEditor;
|
|
using UnityEditor.Build;
|
|
|
|
namespace GeNa.Core
|
|
{
|
|
[InitializeOnLoad]
|
|
public class GeNaRiverScriptDefine
|
|
{
|
|
static GeNaRiverScriptDefine()
|
|
{
|
|
SetupGeNaPipelineDefine();
|
|
}
|
|
|
|
public static void SetupGeNaPipelineDefine()
|
|
{
|
|
bool updateDefines = false;
|
|
|
|
var buildTargetGroup = EditorUserBuildSettings.selectedBuildTargetGroup;
|
|
|
|
#if UNITY_2023_1_OR_NEWER
|
|
var namedBuildTarget = NamedBuildTarget.FromBuildTargetGroup(buildTargetGroup);
|
|
var symbols = PlayerSettings.GetScriptingDefineSymbols(namedBuildTarget);
|
|
#else
|
|
var symbols = PlayerSettings.GetScriptingDefineSymbolsForGroup(buildTargetGroup);
|
|
#endif
|
|
|
|
switch (GeNaUtility.GetActivePipeline())
|
|
{
|
|
case Constants.RenderPipeline.BuiltIn:
|
|
if (symbols.Contains("GeNa_URP"))
|
|
{
|
|
updateDefines = true;
|
|
symbols = symbols.Replace("GeNa_URP", "");
|
|
}
|
|
|
|
if (symbols.Contains("GeNa_HDRP"))
|
|
{
|
|
updateDefines = true;
|
|
symbols = symbols.Replace("GeNa_HDRP", "");
|
|
}
|
|
|
|
break;
|
|
case Constants.RenderPipeline.Universal:
|
|
if (!symbols.Contains("GeNa_URP"))
|
|
{
|
|
updateDefines = true;
|
|
symbols += ";GeNa_URP";
|
|
}
|
|
|
|
if (symbols.Contains("GeNa_HDRP"))
|
|
{
|
|
updateDefines = true;
|
|
symbols = symbols.Replace("GeNa_HDRP", "");
|
|
}
|
|
|
|
break;
|
|
case Constants.RenderPipeline.HighDefinition:
|
|
if (symbols.Contains("GeNa_URP"))
|
|
{
|
|
updateDefines = true;
|
|
symbols = symbols.Replace("GeNa_URP", "");
|
|
}
|
|
|
|
if (!symbols.Contains("GeNa_HDRP"))
|
|
{
|
|
updateDefines = true;
|
|
symbols += ";GeNa_HDRP";
|
|
}
|
|
|
|
break;
|
|
}
|
|
|
|
if (updateDefines)
|
|
{
|
|
#if UNITY_2023_1_OR_NEWER
|
|
PlayerSettings.SetScriptingDefineSymbols(namedBuildTarget, symbols);
|
|
#else
|
|
PlayerSettings.SetScriptingDefineSymbolsForGroup(buildTargetGroup, symbols);
|
|
#endif
|
|
}
|
|
}
|
|
}
|
|
} |