添加BuildPipelineSettings,支持自定义 LinkXmlProcess和 ObfuscationProcess的 callbackOrder。
parent
59db0dfaab
commit
02ed0608e4
|
@ -0,0 +1,15 @@
|
||||||
|
using System;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Obfuz.Settings
|
||||||
|
{
|
||||||
|
[Serializable]
|
||||||
|
public class BuildPipelineSettings
|
||||||
|
{
|
||||||
|
[Tooltip("callback order of LinkXmlProcessor")]
|
||||||
|
public int linkXmlProcessCallbackOrder = 10000;
|
||||||
|
|
||||||
|
[Tooltip("callback order of ObfuscationProcess")]
|
||||||
|
public int obfuscationProcessCallbackOrder = 10000;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 68737b215ecfe344a93d56007e186432
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -5,11 +5,15 @@ using UnityEngine;
|
||||||
|
|
||||||
namespace Obfuz.Settings
|
namespace Obfuz.Settings
|
||||||
{
|
{
|
||||||
|
|
||||||
public class ObfuzSettings : ScriptableObject
|
public class ObfuzSettings : ScriptableObject
|
||||||
{
|
{
|
||||||
[Tooltip("enable Obfuz")]
|
[Tooltip("enable Obfuz")]
|
||||||
public bool enable = true;
|
public bool enable = true;
|
||||||
|
|
||||||
|
[Tooltip("build pipeline settings")]
|
||||||
|
public BuildPipelineSettings buildPipelineSettings;
|
||||||
|
|
||||||
[Tooltip("assembly settings")]
|
[Tooltip("assembly settings")]
|
||||||
public AssemblySettings assemblySettings;
|
public AssemblySettings assemblySettings;
|
||||||
|
|
||||||
|
|
|
@ -25,6 +25,8 @@ namespace Obfuz.Settings
|
||||||
|
|
||||||
private SerializedObject _serializedObject;
|
private SerializedObject _serializedObject;
|
||||||
private SerializedProperty _enable;
|
private SerializedProperty _enable;
|
||||||
|
private SerializedProperty _buildPipelineSettings;
|
||||||
|
|
||||||
private SerializedProperty _assemblySettings;
|
private SerializedProperty _assemblySettings;
|
||||||
private SerializedProperty _obfuscationPassSettings;
|
private SerializedProperty _obfuscationPassSettings;
|
||||||
private SerializedProperty _secretSettings;
|
private SerializedProperty _secretSettings;
|
||||||
|
@ -61,6 +63,8 @@ namespace Obfuz.Settings
|
||||||
_serializedObject?.Dispose();
|
_serializedObject?.Dispose();
|
||||||
_serializedObject = new SerializedObject(setting);
|
_serializedObject = new SerializedObject(setting);
|
||||||
_enable = _serializedObject.FindProperty("enable");
|
_enable = _serializedObject.FindProperty("enable");
|
||||||
|
_buildPipelineSettings = _serializedObject.FindProperty("buildPipelineSettings");
|
||||||
|
|
||||||
_assemblySettings = _serializedObject.FindProperty("assemblySettings");
|
_assemblySettings = _serializedObject.FindProperty("assemblySettings");
|
||||||
_obfuscationPassSettings = _serializedObject.FindProperty("obfuscationPassSettings");
|
_obfuscationPassSettings = _serializedObject.FindProperty("obfuscationPassSettings");
|
||||||
_secretSettings = _serializedObject.FindProperty("secretSettings");
|
_secretSettings = _serializedObject.FindProperty("secretSettings");
|
||||||
|
@ -88,6 +92,8 @@ namespace Obfuz.Settings
|
||||||
EditorGUI.BeginChangeCheck();
|
EditorGUI.BeginChangeCheck();
|
||||||
|
|
||||||
EditorGUILayout.PropertyField(_enable);
|
EditorGUILayout.PropertyField(_enable);
|
||||||
|
EditorGUILayout.PropertyField(_buildPipelineSettings);
|
||||||
|
|
||||||
EditorGUILayout.PropertyField(_assemblySettings);
|
EditorGUILayout.PropertyField(_assemblySettings);
|
||||||
EditorGUILayout.PropertyField(_obfuscationPassSettings);
|
EditorGUILayout.PropertyField(_obfuscationPassSettings);
|
||||||
EditorGUILayout.PropertyField(_secretSettings);
|
EditorGUILayout.PropertyField(_secretSettings);
|
||||||
|
|
|
@ -16,7 +16,7 @@ namespace Obfuz.Unity
|
||||||
{
|
{
|
||||||
public class LinkXmlProcess : IUnityLinkerProcessor
|
public class LinkXmlProcess : IUnityLinkerProcessor
|
||||||
{
|
{
|
||||||
public int callbackOrder => 10000;
|
public int callbackOrder => ObfuzSettings.Instance.buildPipelineSettings.linkXmlProcessCallbackOrder;
|
||||||
|
|
||||||
public string GenerateAdditionalLinkXmlFile(BuildReport report, UnityLinkerBuildPipelineData data)
|
public string GenerateAdditionalLinkXmlFile(BuildReport report, UnityLinkerBuildPipelineData data)
|
||||||
{
|
{
|
||||||
|
|
|
@ -16,7 +16,7 @@ namespace Obfuz.Unity
|
||||||
#if UNITY_2019_1_OR_NEWER
|
#if UNITY_2019_1_OR_NEWER
|
||||||
public class ObfuscationProcess : IPostBuildPlayerScriptDLLs
|
public class ObfuscationProcess : IPostBuildPlayerScriptDLLs
|
||||||
{
|
{
|
||||||
public int callbackOrder => 10000;
|
public int callbackOrder => ObfuzSettings.Instance.buildPipelineSettings.obfuscationProcessCallbackOrder;
|
||||||
|
|
||||||
public static event Action<ObfuscationBeginEventArgs> OnObfuscationBegin;
|
public static event Action<ObfuscationBeginEventArgs> OnObfuscationBegin;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue