[new] HybridCLRSettings新增enableProfilerInReleaseBuild和enableStraceTraceInWebGLReleaseBuild两个选项
parent
3705ca6e1f
commit
08f493ab3e
|
@ -44,7 +44,7 @@ namespace HybridCLR.Editor.BuildProcessors
|
|||
#if UNITY_VISIONOS
|
||||
case BuildTarget.VisionOS:
|
||||
#endif
|
||||
return $"{projectDir}/Library/Bee/artifacts/iOS/ManagedStripped";
|
||||
return $"{projectDir}/Library/Bee/artifacts/iOS/ManagedStripped";
|
||||
case BuildTarget.WebGL:
|
||||
return $"{projectDir}/Library/Bee/artifacts/WebGL/ManagedStripped";
|
||||
case BuildTarget.StandaloneOSX:
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using HybridCLR.Editor.Link;
|
||||
using HybridCLR.Editor.Settings;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
@ -21,6 +22,8 @@ namespace HybridCLR.Editor.Commands
|
|||
HotUpdateAssemblies = SettingsUtil.HotUpdateAssemblyNamesIncludePreserved,
|
||||
OutputFile = $"{SettingsUtil.LocalIl2CppDir}/libil2cpp/hybridclr/generated/UnityVersion.h",
|
||||
OutputFile2 = $"{SettingsUtil.LocalIl2CppDir}/libil2cpp/hybridclr/generated/AssemblyManifest.cpp",
|
||||
EnableProfilerInReleaseBuild = HybridCLRSettings.Instance.enableProfilerInReleaseBuild,
|
||||
EnableStraceTraceInWebGLReleaseBuild = HybridCLRSettings.Instance.enableStraceTraceInWebGLReleaseBuild,
|
||||
};
|
||||
|
||||
var g = new Il2CppDef.Il2CppDefGenerator(options);
|
||||
|
|
|
@ -22,6 +22,10 @@ namespace HybridCLR.Editor.Il2CppDef
|
|||
public string OutputFile2 { get; set; }
|
||||
|
||||
public string UnityVersion { get; set; }
|
||||
|
||||
public bool EnableProfilerInReleaseBuild { get; set; }
|
||||
|
||||
public bool EnableStraceTraceInWebGLReleaseBuild { get; set; }
|
||||
}
|
||||
|
||||
private readonly Options _options;
|
||||
|
@ -77,6 +81,16 @@ namespace HybridCLR.Editor.Il2CppDef
|
|||
lines.Add($"#define HYBRIDCLR_TUANJIE_VERSION 10000");
|
||||
#endif
|
||||
|
||||
if (_options.EnableProfilerInReleaseBuild)
|
||||
{
|
||||
lines.Add("#define HYBRIDCLR_ENABLE_PROFILER_IN_RELEASE_BUILD 1");
|
||||
}
|
||||
|
||||
if (_options.EnableStraceTraceInWebGLReleaseBuild)
|
||||
{
|
||||
lines.Add("#define HYBRIDCLR_ENABLE_STRACE_TRACE_IN_WEBGL_RELEASE_BUILD 1");
|
||||
}
|
||||
|
||||
frr.Replace("UNITY_VERSION", string.Join("\n", lines));
|
||||
|
||||
frr.Commit(_options.OutputFile);
|
||||
|
|
|
@ -25,6 +25,9 @@ namespace HybridCLR.Editor.Settings
|
|||
private SerializedProperty _outputAOTGenericReferenceFile;
|
||||
private SerializedProperty _maxGenericReferenceIteration;
|
||||
private SerializedProperty _maxMethodBridgeGenericIteration;
|
||||
private SerializedProperty _enableProfilerInReleaseBuild;
|
||||
private SerializedProperty enableStraceTraceInWebGLReleaseBuild;
|
||||
|
||||
private GUIStyle buttonStyle;
|
||||
public HybridCLRSettingsProvider() : base("Project/HybridCLR Settings", SettingsScope.Project) { }
|
||||
public override void OnActivate(string searchContext, VisualElement rootElement)
|
||||
|
@ -52,6 +55,8 @@ namespace HybridCLR.Editor.Settings
|
|||
_outputAOTGenericReferenceFile = _serializedObject.FindProperty("outputAOTGenericReferenceFile");
|
||||
_maxGenericReferenceIteration = _serializedObject.FindProperty("maxGenericReferenceIteration");
|
||||
_maxMethodBridgeGenericIteration = _serializedObject.FindProperty("maxMethodBridgeGenericIteration");
|
||||
_enableProfilerInReleaseBuild = _serializedObject.FindProperty("enableProfilerInReleaseBuild");
|
||||
enableStraceTraceInWebGLReleaseBuild = _serializedObject.FindProperty("enableStraceTraceInWebGLReleaseBuild");
|
||||
}
|
||||
private void OnEditorFocused()
|
||||
{
|
||||
|
@ -140,6 +145,8 @@ namespace HybridCLR.Editor.Settings
|
|||
EditorGUILayout.PropertyField(_outputAOTGenericReferenceFile);
|
||||
EditorGUILayout.PropertyField(_maxGenericReferenceIteration);
|
||||
EditorGUILayout.PropertyField(_maxMethodBridgeGenericIteration);
|
||||
EditorGUILayout.PropertyField(_enableProfilerInReleaseBuild);
|
||||
EditorGUILayout.PropertyField(enableStraceTraceInWebGLReleaseBuild);
|
||||
if (EditorGUI.EndChangeCheck())
|
||||
{
|
||||
_serializedObject.ApplyModifiedProperties();
|
||||
|
|
|
@ -50,5 +50,11 @@ namespace HybridCLR.Editor.Settings
|
|||
|
||||
[Header("MethodBridge泛型搜索迭代次数")]
|
||||
public int maxMethodBridgeGenericIteration = 10;
|
||||
|
||||
[Header("Release发布模式下也开启Profiler支持")]
|
||||
public bool enableProfilerInReleaseBuild = false;
|
||||
|
||||
[Header("WebGL平台Release发布模式下也开启StraceTrace支持")]
|
||||
public bool enableStraceTraceInWebGLReleaseBuild = false;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue