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