mirror of
https://github.com/sinai-dev/UnityExplorer.git
synced 2025-06-15 13:57:31 +08:00
cleanups
This commit is contained in:
parent
5c588e5a03
commit
ade7539fde
14
README.md
14
README.md
@ -44,7 +44,7 @@
|
||||
* <b>Reflection Inspector</b>: Inspect Properties and Fields. Can also set primitive values and evaluate primitive methods.
|
||||
* <b>Search</b>: Search for UnityEngine.Objects with various filters, or use the helpers for static Instances and Classes.
|
||||
* <b>C# Console</b>: Interactive console for evaluating C# methods on the fly, with some basic helpers.
|
||||
* <b>Inspect-under-mouse</b>: Hover over an object with a collider and inspect it by clicking on it.
|
||||
* <b>Inspect-under-mouse</b>: Hover over an object with a collider and inspect it by clicking on it. There's also a UI mode to inspect UI objects.
|
||||
|
||||
## How to install
|
||||
|
||||
@ -68,9 +68,15 @@ Note: You must use version 0.3 of MelonLoader or greater. Version 0.3 is current
|
||||
### Standalone
|
||||
|
||||
0. Load the DLL from your mod or inject it. You must also make sure that the required libraries (Harmony, Unhollower for Il2Cpp, etc) are loaded.
|
||||
1. Create an instance of Unity Explorer with `new ExplorerCore();`
|
||||
2. You will need to call `ExplorerCore.Update()` (static method) from your Update method.
|
||||
3. Subscribe to the `ExplorerCore.OnLog__` methods for logging.
|
||||
1. Create an instance of Unity Explorer with `ExplorerStandalone.CreateInstance();`
|
||||
2. You will need to call `ExplorerStandalone.Update()` from your Update method.
|
||||
3. Subscribe to the `ExplorerStandalone.OnLog` event to handle logging if you wish.
|
||||
|
||||
## Logging
|
||||
|
||||
Explorer saves all logs to disk (only keeps the most recent 10 logs). They can be found in a "UnityExplorer" folder in the same place as where you put the DLL file.
|
||||
|
||||
These logs are also visible in the Debug Console part of the UI.
|
||||
|
||||
## Settings
|
||||
|
||||
|
@ -6,14 +6,14 @@ using IniParser.Parser;
|
||||
|
||||
namespace UnityExplorer.Config
|
||||
{
|
||||
public class ModConfig
|
||||
public class ExplorerConfig
|
||||
{
|
||||
public static ModConfig Instance;
|
||||
public static ExplorerConfig Instance;
|
||||
|
||||
internal static readonly IniDataParser _parser = new IniDataParser();
|
||||
internal static readonly string INI_PATH = Path.Combine(ExplorerCore.EXPLORER_FOLDER, "config.ini");
|
||||
internal static readonly string INI_PATH = Path.Combine(ExplorerCore.Loader.ConfigFolder, "config.ini");
|
||||
|
||||
static ModConfig()
|
||||
static ExplorerConfig()
|
||||
{
|
||||
_parser.Configuration.CommentString = "#";
|
||||
}
|
||||
@ -22,7 +22,7 @@ namespace UnityExplorer.Config
|
||||
public KeyCode Main_Menu_Toggle = KeyCode.F7;
|
||||
public bool Force_Unlock_Mouse = true;
|
||||
public int Default_Page_Limit = 25;
|
||||
public string Default_Output_Path = ExplorerCore.EXPLORER_FOLDER + @"\Output";
|
||||
public string Default_Output_Path = ExplorerCore.ExplorerFolder + @"\Output";
|
||||
public bool Log_Unity_Debug = false;
|
||||
public bool Hide_On_Startup = false;
|
||||
//public bool Save_Logs_To_Disk = true;
|
||||
@ -36,7 +36,7 @@ namespace UnityExplorer.Config
|
||||
|
||||
public static void OnLoad()
|
||||
{
|
||||
Instance = new ModConfig();
|
||||
Instance = new ExplorerConfig();
|
||||
|
||||
if (LoadSettings())
|
||||
return;
|
||||
@ -99,6 +99,9 @@ namespace UnityExplorer.Config
|
||||
sec.AddKey(nameof(Hide_On_Startup), Instance.Hide_On_Startup.ToString());
|
||||
//sec.AddKey("Save_Logs_To_Disk", Instance.Save_Logs_To_Disk.ToString());
|
||||
|
||||
if (!Directory.Exists(ExplorerCore.Loader.ConfigFolder))
|
||||
Directory.CreateDirectory(ExplorerCore.Loader.ConfigFolder);
|
||||
|
||||
File.WriteAllText(INI_PATH, data.ToString());
|
||||
}
|
||||
}
|
@ -1,35 +0,0 @@
|
||||
#if BIE5
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using BepInEx;
|
||||
using BepInEx.Logging;
|
||||
using HarmonyLib;
|
||||
|
||||
namespace UnityExplorer
|
||||
{
|
||||
[BepInPlugin(ExplorerCore.GUID, "UnityExplorer", ExplorerCore.VERSION)]
|
||||
public class ExplorerBepInPlugin : BaseUnityPlugin
|
||||
{
|
||||
public static ExplorerBepInPlugin Instance;
|
||||
|
||||
public static ManualLogSource Logging => Instance?.Logger;
|
||||
|
||||
public static readonly Harmony HarmonyInstance = new Harmony(ExplorerCore.GUID);
|
||||
|
||||
internal void Awake()
|
||||
{
|
||||
Instance = this;
|
||||
|
||||
new ExplorerCore();
|
||||
|
||||
// HarmonyInstance.PatchAll();
|
||||
}
|
||||
|
||||
internal void Update()
|
||||
{
|
||||
ExplorerCore.Update();
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
@ -19,39 +19,19 @@ namespace UnityExplorer
|
||||
public const string AUTHOR = "Sinai";
|
||||
public const string GUID = "com.sinai.unityexplorer";
|
||||
|
||||
#if ML
|
||||
public static string EXPLORER_FOLDER = Path.Combine("Mods", NAME);
|
||||
#elif BIE
|
||||
public static string EXPLORER_FOLDER = Path.Combine(BepInEx.Paths.ConfigPath, NAME);
|
||||
#elif STANDALONE
|
||||
public static string EXPLORER_FOLDER
|
||||
{
|
||||
get
|
||||
{
|
||||
if (s_explorerFolder == null)
|
||||
{
|
||||
s_explorerFolder = (new Uri(Assembly.GetExecutingAssembly().CodeBase)).AbsolutePath;
|
||||
s_explorerFolder = Uri.UnescapeDataString(s_explorerFolder);
|
||||
s_explorerFolder = Path.GetDirectoryName(s_explorerFolder);
|
||||
}
|
||||
|
||||
return s_explorerFolder;
|
||||
}
|
||||
}
|
||||
private static string s_explorerFolder;
|
||||
#endif
|
||||
|
||||
public static ExplorerCore Instance { get; private set; }
|
||||
|
||||
public static bool ShowMenu
|
||||
{
|
||||
get => s_showMenu;
|
||||
set => SetShowMenu(value);
|
||||
}
|
||||
public static bool s_showMenu;
|
||||
private static IExplorerLoader s_loader;
|
||||
public static IExplorerLoader Loader => s_loader
|
||||
#if ML
|
||||
?? (s_loader = ExplorerMelonMod.Instance);
|
||||
#elif BIE
|
||||
?? (s_loader = ExplorerBepInPlugin.Instance);
|
||||
#elif STANDALONE
|
||||
?? (s_loader = ExplorerStandalone.Instance);
|
||||
#endif
|
||||
|
||||
private static bool s_doneUIInit;
|
||||
private static float s_timeSinceStartup;
|
||||
public static string ExplorerFolder => Loader.ExplorerFolder;
|
||||
|
||||
public ExplorerCore()
|
||||
{
|
||||
@ -67,60 +47,29 @@ namespace UnityExplorer
|
||||
ReflectionHelpers.TryLoadGameModules();
|
||||
#endif
|
||||
|
||||
if (!Directory.Exists(EXPLORER_FOLDER))
|
||||
Directory.CreateDirectory(EXPLORER_FOLDER);
|
||||
if (!Directory.Exists(ExplorerFolder))
|
||||
Directory.CreateDirectory(ExplorerFolder);
|
||||
|
||||
ModConfig.OnLoad();
|
||||
ExplorerConfig.OnLoad();
|
||||
|
||||
InputManager.Init();
|
||||
ForceUnlockCursor.Init();
|
||||
|
||||
SetupEvents();
|
||||
|
||||
ShowMenu = true;
|
||||
UIManager.ShowMenu = true;
|
||||
|
||||
Log($"{NAME} {VERSION} initialized.");
|
||||
}
|
||||
|
||||
public static void Update()
|
||||
{
|
||||
if (!s_doneUIInit)
|
||||
CheckUIInit();
|
||||
UIManager.CheckUIInit();
|
||||
|
||||
if (MouseInspector.Enabled)
|
||||
MouseInspector.UpdateInspect();
|
||||
else
|
||||
{
|
||||
if (InputManager.GetKeyDown(ModConfig.Instance.Main_Menu_Toggle))
|
||||
ShowMenu = !ShowMenu;
|
||||
|
||||
if (ShowMenu && s_doneUIInit)
|
||||
UIManager.Update();
|
||||
}
|
||||
}
|
||||
|
||||
private static void CheckUIInit()
|
||||
{
|
||||
s_timeSinceStartup += Time.deltaTime;
|
||||
|
||||
if (s_timeSinceStartup > 0.1f)
|
||||
{
|
||||
s_doneUIInit = true;
|
||||
try
|
||||
{
|
||||
UIManager.Init();
|
||||
Log("Initialized UnityExplorer UI.");
|
||||
|
||||
if (ModConfig.Instance.Hide_On_Startup)
|
||||
ShowMenu = false;
|
||||
|
||||
// InspectorManager.Instance.Inspect(Tests.TestClass.Instance);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
LogWarning($"Exception setting up UI: {e}");
|
||||
}
|
||||
}
|
||||
UIManager.Update();
|
||||
}
|
||||
|
||||
private void SetupEvents()
|
||||
@ -129,10 +78,14 @@ namespace UnityExplorer
|
||||
try
|
||||
{
|
||||
Application.add_logMessageReceived(new Action<string, string, LogType>(OnUnityLog));
|
||||
|
||||
SceneManager.add_sceneLoaded(new Action<Scene, LoadSceneMode>((Scene a, LoadSceneMode b) => { OnSceneLoaded(); }));
|
||||
SceneManager.add_activeSceneChanged(new Action<Scene, Scene>((Scene a, Scene b) => { OnSceneLoaded(); }));
|
||||
}
|
||||
catch { }
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogWarning($"Exception setting up Unity event listeners!\r\n{ex}");
|
||||
}
|
||||
#else
|
||||
Application.logMessageReceived += OnUnityLog;
|
||||
SceneManager.sceneLoaded += (Scene a, LoadSceneMode b) => { OnSceneLoaded(); };
|
||||
@ -145,23 +98,6 @@ namespace UnityExplorer
|
||||
UIManager.OnSceneChange();
|
||||
}
|
||||
|
||||
private static void SetShowMenu(bool show)
|
||||
{
|
||||
s_showMenu = show;
|
||||
|
||||
if (UIManager.CanvasRoot)
|
||||
{
|
||||
UIManager.CanvasRoot.SetActive(show);
|
||||
|
||||
if (show)
|
||||
ForceUnlockCursor.SetEventSystem();
|
||||
else
|
||||
ForceUnlockCursor.ReleaseEventSystem();
|
||||
}
|
||||
|
||||
ForceUnlockCursor.UpdateCursorControl();
|
||||
}
|
||||
|
||||
private void OnUnityLog(string message, string stackTrace, LogType type)
|
||||
{
|
||||
if (!DebugConsole.LogUnity)
|
||||
@ -185,12 +121,6 @@ namespace UnityExplorer
|
||||
}
|
||||
}
|
||||
|
||||
#if STANDALONE
|
||||
public static Action<string> OnLogMessage;
|
||||
public static Action<string> OnLogWarning;
|
||||
public static Action<string> OnLogError;
|
||||
#endif
|
||||
|
||||
public static void Log(object message, bool unity = false)
|
||||
{
|
||||
DebugConsole.Log(message?.ToString());
|
||||
@ -198,13 +128,7 @@ namespace UnityExplorer
|
||||
if (unity)
|
||||
return;
|
||||
|
||||
#if ML
|
||||
MelonLoader.MelonLogger.Msg(message?.ToString());
|
||||
#elif BIE
|
||||
ExplorerBepInPlugin.Logging?.LogMessage(message?.ToString());
|
||||
#elif STANDALONE
|
||||
OnLogMessage?.Invoke(message?.ToString());
|
||||
#endif
|
||||
Loader.OnLogMessage(message);
|
||||
}
|
||||
|
||||
public static void LogWarning(object message, bool unity = false)
|
||||
@ -214,13 +138,7 @@ namespace UnityExplorer
|
||||
if (unity)
|
||||
return;
|
||||
|
||||
#if ML
|
||||
MelonLoader.MelonLogger.Msg(message?.ToString());
|
||||
#elif BIE
|
||||
ExplorerBepInPlugin.Logging?.LogWarning(message?.ToString());
|
||||
#elif STANDALONE
|
||||
OnLogWarning?.Invoke(message?.ToString());
|
||||
#endif
|
||||
Loader.OnLogWarning(message);
|
||||
}
|
||||
|
||||
public static void LogError(object message, bool unity = false)
|
||||
@ -230,24 +148,7 @@ namespace UnityExplorer
|
||||
if (unity)
|
||||
return;
|
||||
|
||||
#if ML
|
||||
MelonLoader.MelonLogger.Msg(message?.ToString());
|
||||
#elif BIE
|
||||
ExplorerBepInPlugin.Logging?.LogError(message?.ToString());
|
||||
#elif STANDALONE
|
||||
OnLogError?.Invoke(message?.ToString());
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
public static string RemoveInvalidFilenameChars(string s)
|
||||
{
|
||||
var invalid = System.IO.Path.GetInvalidFileNameChars();
|
||||
foreach (var c in invalid)
|
||||
{
|
||||
s = s.Replace(c.ToString(), "");
|
||||
}
|
||||
return s;
|
||||
Loader.OnLogError(message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,29 +0,0 @@
|
||||
#if ML
|
||||
using System;
|
||||
using MelonLoader;
|
||||
|
||||
namespace UnityExplorer
|
||||
{
|
||||
public class ExplorerMelonMod : MelonMod
|
||||
{
|
||||
public static ExplorerMelonMod Instance;
|
||||
|
||||
public override void OnApplicationStart()
|
||||
{
|
||||
Instance = this;
|
||||
|
||||
new ExplorerCore();
|
||||
}
|
||||
|
||||
public override void OnUpdate()
|
||||
{
|
||||
ExplorerCore.Update();
|
||||
}
|
||||
|
||||
public override void OnSceneWasLoaded(int buildIndex, string sceneName)
|
||||
{
|
||||
ExplorerCore.Instance.OnSceneLoaded();
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
@ -1,11 +0,0 @@
|
||||
#if STANDALONE
|
||||
using HarmonyLib;
|
||||
|
||||
namespace UnityExplorer
|
||||
{
|
||||
public class ExplorerStandalone
|
||||
{
|
||||
public static readonly Harmony HarmonyInstance = new Harmony(ExplorerCore.GUID);
|
||||
}
|
||||
}
|
||||
#endif
|
@ -251,7 +251,7 @@ namespace UnityExplorer.Inspectors.Reflection
|
||||
if (string.IsNullOrEmpty(name))
|
||||
name = "untitled";
|
||||
|
||||
var savePath = $@"{Config.ModConfig.Instance.Default_Output_Path}\{name}.png";
|
||||
var savePath = $@"{Config.ExplorerConfig.Instance.Default_Output_Path}\{name}.png";
|
||||
inputField.text = savePath;
|
||||
|
||||
saveBtn.onClick.AddListener(() =>
|
||||
|
@ -59,7 +59,7 @@ namespace UnityExplorer.Inspectors.Reflection
|
||||
= new List<KeyValuePair<CachePaired, CachePaired>>();
|
||||
|
||||
internal readonly KeyValuePair<CachePaired, CachePaired>[] m_displayedEntries
|
||||
= new KeyValuePair<CachePaired, CachePaired>[ModConfig.Instance.Default_Page_Limit];
|
||||
= new KeyValuePair<CachePaired, CachePaired>[ExplorerConfig.Instance.Default_Page_Limit];
|
||||
|
||||
internal bool m_recacheWanted = true;
|
||||
|
||||
|
@ -46,7 +46,7 @@ namespace UnityExplorer.Inspectors.Reflection
|
||||
internal readonly Type m_baseEntryType;
|
||||
|
||||
internal readonly List<CacheEnumerated> m_entries = new List<CacheEnumerated>();
|
||||
internal readonly CacheEnumerated[] m_displayedEntries = new CacheEnumerated[ModConfig.Instance.Default_Page_Limit];
|
||||
internal readonly CacheEnumerated[] m_displayedEntries = new CacheEnumerated[ExplorerConfig.Instance.Default_Page_Limit];
|
||||
internal bool m_recacheWanted = true;
|
||||
|
||||
public override void OnValueUpdated()
|
||||
|
@ -69,7 +69,7 @@ namespace UnityExplorer.Inspectors
|
||||
// filtered members based on current filters
|
||||
internal readonly List<CacheMember> m_membersFiltered = new List<CacheMember>();
|
||||
// actual shortlist of displayed members
|
||||
internal readonly CacheMember[] m_displayedMembers = new CacheMember[ModConfig.Instance.Default_Page_Limit];
|
||||
internal readonly CacheMember[] m_displayedMembers = new CacheMember[ExplorerConfig.Instance.Default_Page_Limit];
|
||||
|
||||
internal bool m_autoUpdate;
|
||||
|
||||
|
41
src/Loader/ExplorerBepIn5Plugin.cs
Normal file
41
src/Loader/ExplorerBepIn5Plugin.cs
Normal file
@ -0,0 +1,41 @@
|
||||
#if BIE5
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using BepInEx;
|
||||
using BepInEx.Logging;
|
||||
using HarmonyLib;
|
||||
|
||||
namespace UnityExplorer
|
||||
{
|
||||
[BepInPlugin(ExplorerCore.GUID, "UnityExplorer", ExplorerCore.VERSION)]
|
||||
public class ExplorerBepInPlugin : BaseUnityPlugin, IExplorerLoader
|
||||
{
|
||||
public static ExplorerBepInPlugin Instance;
|
||||
|
||||
public static ManualLogSource Logging => Instance?.Logger;
|
||||
|
||||
public Harmony HarmonyInstance => s_harmony;
|
||||
private static readonly Harmony s_harmony = new Harmony(ExplorerCore.GUID);
|
||||
|
||||
public string ExplorerFolder => Path.Combine(Paths.PluginPath, ExplorerCore.NAME);
|
||||
public string ConfigFolder => Path.Combine(Paths.ConfigPath, ExplorerCore.NAME);
|
||||
|
||||
public Action<object> OnLogMessage => (object log) => { Logging?.LogMessage(log?.ToString() ?? ""); };
|
||||
public Action<object> OnLogWarning => (object log) => { Logging?.LogWarning(log?.ToString() ?? ""); };
|
||||
public Action<object> OnLogError => (object log) => { Logging?.LogError(log?.ToString() ?? ""); };
|
||||
|
||||
internal void Awake()
|
||||
{
|
||||
Instance = this;
|
||||
|
||||
new ExplorerCore();
|
||||
}
|
||||
|
||||
internal void Update()
|
||||
{
|
||||
ExplorerCore.Update();
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
@ -18,13 +18,21 @@ namespace UnityExplorer
|
||||
{
|
||||
#if MONO
|
||||
[BepInPlugin(ExplorerCore.GUID, "UnityExplorer", ExplorerCore.VERSION)]
|
||||
public class ExplorerBepInPlugin : BaseUnityPlugin
|
||||
public class ExplorerBepInPlugin : BaseUnityPlugin, IExplorerLoader
|
||||
{
|
||||
public static ExplorerBepInPlugin Instance;
|
||||
|
||||
public static ManualLogSource Logging => Instance?.Logger;
|
||||
|
||||
public static readonly Harmony HarmonyInstance = new Harmony(ExplorerCore.GUID);
|
||||
public Harmony HarmonyInstance => s_harmony;
|
||||
private static readonly Harmony s_harmony = new Harmony(ExplorerCore.GUID);
|
||||
|
||||
public string ExplorerFolder => Path.Combine(Paths.PluginPath, ExplorerCore.NAME);
|
||||
public string ConfigFolder => Path.Combine(Paths.ConfigPath, ExplorerCore.NAME);
|
||||
|
||||
public Action<object> OnLogMessage => (object log) => { Logging?.LogMessage(log?.ToString() ?? ""); };
|
||||
public Action<object> OnLogWarning => (object log) => { Logging?.LogWarning(log?.ToString() ?? ""); };
|
||||
public Action<object> OnLogError => (object log) => { Logging?.LogError(log?.ToString() ?? ""); };
|
||||
|
||||
internal void Awake()
|
||||
{
|
||||
@ -44,13 +52,21 @@ namespace UnityExplorer
|
||||
|
||||
#if CPP
|
||||
[BepInPlugin(ExplorerCore.GUID, "UnityExplorer", ExplorerCore.VERSION)]
|
||||
public class ExplorerBepInPlugin : BasePlugin
|
||||
public class ExplorerBepInPlugin : BasePlugin, IExplorerLoader
|
||||
{
|
||||
public static ExplorerBepInPlugin Instance;
|
||||
|
||||
public static ManualLogSource Logging => Instance?.Log;
|
||||
|
||||
public static readonly Harmony HarmonyInstance = new Harmony(ExplorerCore.GUID);
|
||||
public Harmony HarmonyInstance => s_harmony;
|
||||
private static readonly Harmony s_harmony = new Harmony(ExplorerCore.GUID);
|
||||
|
||||
public string ExplorerFolder => Path.Combine(Paths.PluginPath, ExplorerCore.NAME);
|
||||
public string ConfigFolder => Path.Combine(Paths.ConfigPath, ExplorerCore.NAME);
|
||||
|
||||
public Action<object> OnLogMessage => (object log) => { Logging?.LogMessage(log?.ToString() ?? ""); };
|
||||
public Action<object> OnLogWarning => (object log) => { Logging?.LogWarning(log?.ToString() ?? ""); };
|
||||
public Action<object> OnLogError => (object log) => { Logging?.LogError(log?.ToString() ?? ""); };
|
||||
|
||||
// Init
|
||||
public override void Load()
|
39
src/Loader/ExplorerMelonMod.cs
Normal file
39
src/Loader/ExplorerMelonMod.cs
Normal file
@ -0,0 +1,39 @@
|
||||
#if ML
|
||||
using System;
|
||||
using System.IO;
|
||||
using MelonLoader;
|
||||
|
||||
namespace UnityExplorer
|
||||
{
|
||||
public class ExplorerMelonMod : MelonMod, IExplorerLoader
|
||||
{
|
||||
public static ExplorerMelonMod Instance;
|
||||
|
||||
public string ExplorerFolder => Path.Combine("Mods", ExplorerCore.NAME);
|
||||
public string ConfigFolder => ExplorerFolder;
|
||||
|
||||
public Action<object> OnLogMessage => (object log) => { MelonLogger.Msg(log?.ToString() ?? ""); };
|
||||
public Action<object> OnLogWarning => (object log) => { MelonLogger.Warning(log?.ToString() ?? ""); };
|
||||
public Action<object> OnLogError => (object log) => { MelonLogger.Error(log?.ToString() ?? ""); };
|
||||
|
||||
public Harmony.HarmonyInstance HarmonyInstance => Instance.Harmony;
|
||||
|
||||
public override void OnApplicationStart()
|
||||
{
|
||||
Instance = this;
|
||||
|
||||
new ExplorerCore();
|
||||
}
|
||||
|
||||
public override void OnUpdate()
|
||||
{
|
||||
ExplorerCore.Update();
|
||||
}
|
||||
|
||||
public override void OnSceneWasLoaded(int buildIndex, string sceneName)
|
||||
{
|
||||
ExplorerCore.Instance.OnSceneLoaded();
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
66
src/Loader/ExplorerStandalone.cs
Normal file
66
src/Loader/ExplorerStandalone.cs
Normal file
@ -0,0 +1,66 @@
|
||||
#if STANDALONE
|
||||
using HarmonyLib;
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
|
||||
namespace UnityExplorer
|
||||
{
|
||||
public class ExplorerStandalone : IExplorerLoader
|
||||
{
|
||||
public static ExplorerStandalone CreateInstance()
|
||||
{
|
||||
if (Instance != null)
|
||||
return Instance;
|
||||
|
||||
return new ExplorerStandalone();
|
||||
}
|
||||
|
||||
private ExplorerStandalone()
|
||||
{
|
||||
Instance = this;
|
||||
new ExplorerCore();
|
||||
}
|
||||
|
||||
public static ExplorerStandalone Instance { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Invoked whenever Explorer logs something. Subscribe to this to handle logging.
|
||||
/// </summary>
|
||||
public static event Action<string, UnityEngine.LogType> OnLog;
|
||||
|
||||
public Harmony HarmonyInstance => s_harmony;
|
||||
public static readonly Harmony s_harmony = new Harmony(ExplorerCore.GUID);
|
||||
|
||||
public string ExplorerFolder
|
||||
{
|
||||
get
|
||||
{
|
||||
if (s_explorerFolder == null)
|
||||
{
|
||||
s_explorerFolder = new Uri(Assembly.GetExecutingAssembly().CodeBase).AbsolutePath;
|
||||
s_explorerFolder = Uri.UnescapeDataString(s_explorerFolder);
|
||||
s_explorerFolder = Path.GetDirectoryName(s_explorerFolder);
|
||||
}
|
||||
|
||||
return s_explorerFolder;
|
||||
}
|
||||
}
|
||||
private static string s_explorerFolder;
|
||||
|
||||
public string ConfigFolder => ExplorerFolder;
|
||||
|
||||
Action<object> IExplorerLoader.OnLogMessage => (object log) => { OnLog?.Invoke(log?.ToString() ?? "", UnityEngine.LogType.Log); };
|
||||
Action<object> IExplorerLoader.OnLogWarning => (object log) => { OnLog?.Invoke(log?.ToString() ?? "", UnityEngine.LogType.Warning); };
|
||||
Action<object> IExplorerLoader.OnLogError => (object log) => { OnLog?.Invoke(log?.ToString() ?? "", UnityEngine.LogType.Error); };
|
||||
|
||||
/// <summary>
|
||||
/// Call this once per frame for Explorer to update.
|
||||
/// </summary>
|
||||
public static void Update()
|
||||
{
|
||||
ExplorerCore.Update();
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
24
src/Loader/IExplorerLoader.cs
Normal file
24
src/Loader/IExplorerLoader.cs
Normal file
@ -0,0 +1,24 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace UnityExplorer
|
||||
{
|
||||
public interface IExplorerLoader
|
||||
{
|
||||
string ExplorerFolder { get; }
|
||||
|
||||
string ConfigFolder { get; }
|
||||
|
||||
Action<object> OnLogMessage { get; }
|
||||
Action<object> OnLogWarning { get; }
|
||||
Action<object> OnLogError { get; }
|
||||
|
||||
#if ML
|
||||
Harmony.HarmonyInstance HarmonyInstance { get; }
|
||||
#else
|
||||
HarmonyLib.Harmony HarmonyInstance { get; }
|
||||
#endif
|
||||
}
|
||||
}
|
@ -28,7 +28,7 @@ namespace UnityExplorer.UI
|
||||
UpdateCursorControl();
|
||||
}
|
||||
|
||||
public static bool ShouldForceMouse => ExplorerCore.ShowMenu && Unlock;
|
||||
public static bool ShouldForceMouse => UIManager.ShowMenu && Unlock;
|
||||
|
||||
private static CursorLockMode m_lastLockMode;
|
||||
private static bool m_lastVisibleState;
|
||||
@ -42,7 +42,7 @@ namespace UnityExplorer.UI
|
||||
|
||||
public static void Init()
|
||||
{
|
||||
ModConfig.OnConfigChanged += ModConfig_OnConfigChanged;
|
||||
ExplorerConfig.OnConfigChanged += ModConfig_OnConfigChanged;
|
||||
|
||||
SetupPatches();
|
||||
|
||||
@ -51,7 +51,7 @@ namespace UnityExplorer.UI
|
||||
|
||||
internal static void ModConfig_OnConfigChanged()
|
||||
{
|
||||
Unlock = ModConfig.Instance.Force_Unlock_Mouse;
|
||||
Unlock = ExplorerConfig.Instance.Force_Unlock_Mouse;
|
||||
}
|
||||
|
||||
private static void SetupPatches()
|
||||
@ -102,14 +102,7 @@ namespace UnityExplorer.UI
|
||||
{
|
||||
try
|
||||
{
|
||||
var harmony =
|
||||
#if ML
|
||||
ExplorerMelonMod.Instance.Harmony;
|
||||
#elif BIE
|
||||
ExplorerBepInPlugin.HarmonyInstance;
|
||||
#elif STANDALONE
|
||||
ExplorerStandalone.HarmonyInstance;
|
||||
#endif
|
||||
var harmony = ExplorerCore.Loader.HarmonyInstance;
|
||||
|
||||
System.Reflection.PropertyInfo prop = type.GetProperty(property);
|
||||
|
||||
@ -208,7 +201,7 @@ namespace UnityExplorer.UI
|
||||
m_lastEventSystem = value;
|
||||
m_lastInputModule = value?.currentInputModule;
|
||||
|
||||
if (ExplorerCore.ShowMenu)
|
||||
if (UIManager.ShowMenu)
|
||||
{
|
||||
value = UIManager.EventSys;
|
||||
}
|
||||
|
@ -208,7 +208,7 @@ namespace UnityExplorer.UI
|
||||
GameObject hideBtnObj = UIFactory.CreateButton(titleBar);
|
||||
|
||||
Button hideBtn = hideBtnObj.GetComponent<Button>();
|
||||
hideBtn.onClick.AddListener(() => { ExplorerCore.ShowMenu = false; });
|
||||
hideBtn.onClick.AddListener(() => { UIManager.ShowMenu = false; });
|
||||
ColorBlock colorBlock = hideBtn.colors;
|
||||
colorBlock.normalColor = new Color(65f / 255f, 23f / 255f, 23f / 255f);
|
||||
colorBlock.pressedColor = new Color(35f / 255f, 10f / 255f, 10f / 255f);
|
||||
@ -224,13 +224,13 @@ namespace UnityExplorer.UI
|
||||
hideText.resizeTextForBestFit = true;
|
||||
hideText.resizeTextMinSize = 8;
|
||||
hideText.resizeTextMaxSize = 14;
|
||||
hideText.text = $"Hide ({ModConfig.Instance.Main_Menu_Toggle})";
|
||||
hideText.text = $"Hide ({ExplorerConfig.Instance.Main_Menu_Toggle})";
|
||||
|
||||
ModConfig.OnConfigChanged += ModConfig_OnConfigChanged;
|
||||
ExplorerConfig.OnConfigChanged += ModConfig_OnConfigChanged;
|
||||
|
||||
void ModConfig_OnConfigChanged()
|
||||
{
|
||||
hideText.text = $"Hide ({ModConfig.Instance.Main_Menu_Toggle})";
|
||||
hideText.text = $"Hide ({ExplorerConfig.Instance.Main_Menu_Toggle})";
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -15,7 +15,7 @@ namespace UnityExplorer.UI.Modules
|
||||
{
|
||||
public static DebugConsole Instance { get; private set; }
|
||||
|
||||
public static bool LogUnity { get; set; } = ModConfig.Instance.Log_Unity_Debug;
|
||||
public static bool LogUnity { get; set; } = ExplorerConfig.Instance.Log_Unity_Debug;
|
||||
//public static bool SaveToDisk { get; set; } = ModConfig.Instance.Save_Logs_To_Disk;
|
||||
|
||||
internal static StreamWriter s_streamWriter;
|
||||
@ -52,7 +52,7 @@ namespace UnityExplorer.UI.Modules
|
||||
//if (!SaveToDisk)
|
||||
// return;
|
||||
|
||||
var path = ExplorerCore.EXPLORER_FOLDER + @"\Logs";
|
||||
var path = ExplorerCore.ExplorerFolder + @"\Logs";
|
||||
|
||||
if (!Directory.Exists(path))
|
||||
Directory.CreateDirectory(path);
|
||||
@ -69,7 +69,7 @@ namespace UnityExplorer.UI.Modules
|
||||
}
|
||||
|
||||
var fileName = "UnityExplorer " + DateTime.Now.ToString("u") + ".txt";
|
||||
fileName = ExplorerCore.RemoveInvalidFilenameChars(fileName);
|
||||
fileName = RemoveInvalidFilenameChars(fileName);
|
||||
|
||||
var stream = File.Create(path + @"\" + fileName);
|
||||
s_streamWriter = new StreamWriter(stream)
|
||||
@ -81,6 +81,16 @@ namespace UnityExplorer.UI.Modules
|
||||
s_streamWriter.WriteLine(msg);
|
||||
}
|
||||
|
||||
public static string RemoveInvalidFilenameChars(string s)
|
||||
{
|
||||
var invalid = Path.GetInvalidFileNameChars();
|
||||
foreach (var c in invalid)
|
||||
{
|
||||
s = s.Replace(c.ToString(), "");
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
||||
public static void Log(string message)
|
||||
{
|
||||
Log(message, null);
|
||||
@ -256,8 +266,8 @@ namespace UnityExplorer.UI.Modules
|
||||
void ToggleLogUnity(bool val)
|
||||
{
|
||||
LogUnity = val;
|
||||
ModConfig.Instance.Log_Unity_Debug = val;
|
||||
ModConfig.SaveSettings();
|
||||
ExplorerConfig.Instance.Log_Unity_Debug = val;
|
||||
ExplorerConfig.SaveSettings();
|
||||
}
|
||||
|
||||
var unityToggleLayout = unityToggleObj.AddComponent<LayoutElement>();
|
||||
|
@ -32,19 +32,19 @@ namespace UnityExplorer.UI.Modules
|
||||
internal void OnApply()
|
||||
{
|
||||
if (!string.IsNullOrEmpty(m_keycodeInput.text) && Enum.Parse(typeof(KeyCode), m_keycodeInput.text) is KeyCode keyCode)
|
||||
ModConfig.Instance.Main_Menu_Toggle = keyCode;
|
||||
ExplorerConfig.Instance.Main_Menu_Toggle = keyCode;
|
||||
|
||||
ModConfig.Instance.Force_Unlock_Mouse = m_unlockMouseToggle.isOn;
|
||||
ExplorerConfig.Instance.Force_Unlock_Mouse = m_unlockMouseToggle.isOn;
|
||||
|
||||
if (!string.IsNullOrEmpty(m_pageLimitInput.text) && int.TryParse(m_pageLimitInput.text, out int lim))
|
||||
ModConfig.Instance.Default_Page_Limit = lim;
|
||||
ExplorerConfig.Instance.Default_Page_Limit = lim;
|
||||
|
||||
ModConfig.Instance.Default_Output_Path = m_defaultOutputInput.text;
|
||||
ExplorerConfig.Instance.Default_Output_Path = m_defaultOutputInput.text;
|
||||
|
||||
ModConfig.Instance.Hide_On_Startup = m_hideOnStartupToggle.isOn;
|
||||
ExplorerConfig.Instance.Hide_On_Startup = m_hideOnStartupToggle.isOn;
|
||||
|
||||
ModConfig.SaveSettings();
|
||||
ModConfig.InvokeConfigChanged();
|
||||
ExplorerConfig.SaveSettings();
|
||||
ExplorerConfig.InvokeConfigChanged();
|
||||
}
|
||||
|
||||
#region UI CONSTRUCTION
|
||||
@ -131,7 +131,7 @@ namespace UnityExplorer.UI.Modules
|
||||
labelLayout.minHeight = 25;
|
||||
|
||||
UIFactory.CreateToggle(rowObj, out m_hideOnStartupToggle, out Text toggleText);
|
||||
m_hideOnStartupToggle.isOn = ModConfig.Instance.Hide_On_Startup;
|
||||
m_hideOnStartupToggle.isOn = ExplorerConfig.Instance.Hide_On_Startup;
|
||||
toggleText.text = "";
|
||||
}
|
||||
|
||||
@ -159,7 +159,7 @@ namespace UnityExplorer.UI.Modules
|
||||
var keycodeInputObj = UIFactory.CreateInputField(rowObj);
|
||||
|
||||
m_keycodeInput = keycodeInputObj.GetComponent<InputField>();
|
||||
m_keycodeInput.text = ModConfig.Instance.Main_Menu_Toggle.ToString();
|
||||
m_keycodeInput.text = ExplorerConfig.Instance.Main_Menu_Toggle.ToString();
|
||||
|
||||
m_keycodeInput.placeholder.gameObject.GetComponent<Text>().text = "KeyCode, eg. F7";
|
||||
}
|
||||
@ -186,7 +186,7 @@ namespace UnityExplorer.UI.Modules
|
||||
labelLayout.minHeight = 25;
|
||||
|
||||
UIFactory.CreateToggle(rowObj, out m_unlockMouseToggle, out Text toggleText);
|
||||
m_unlockMouseToggle.isOn = ModConfig.Instance.Force_Unlock_Mouse;
|
||||
m_unlockMouseToggle.isOn = ExplorerConfig.Instance.Force_Unlock_Mouse;
|
||||
toggleText.text = "";
|
||||
}
|
||||
|
||||
@ -216,7 +216,7 @@ namespace UnityExplorer.UI.Modules
|
||||
var inputObj = UIFactory.CreateInputField(rowObj);
|
||||
|
||||
m_pageLimitInput = inputObj.GetComponent<InputField>();
|
||||
m_pageLimitInput.text = ModConfig.Instance.Default_Page_Limit.ToString();
|
||||
m_pageLimitInput.text = ExplorerConfig.Instance.Default_Page_Limit.ToString();
|
||||
|
||||
m_pageLimitInput.placeholder.gameObject.GetComponent<Text>().text = "Integer, eg. 20";
|
||||
}
|
||||
@ -247,7 +247,7 @@ namespace UnityExplorer.UI.Modules
|
||||
var inputObj = UIFactory.CreateInputField(rowObj);
|
||||
|
||||
m_defaultOutputInput = inputObj.GetComponent<InputField>();
|
||||
m_defaultOutputInput.text = ModConfig.Instance.Default_Output_Path.ToString();
|
||||
m_defaultOutputInput.text = ExplorerConfig.Instance.Default_Output_Path.ToString();
|
||||
|
||||
m_defaultOutputInput.placeholder.gameObject.GetComponent<Text>().text = @"Directory, eg. Mods\UnityExplorer";
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ namespace UnityExplorer.UI.Shared
|
||||
{
|
||||
public PageHandler(SliderScrollbar scroll)
|
||||
{
|
||||
ItemsPerPage = ModConfig.Instance?.Default_Page_Limit ?? 20;
|
||||
ItemsPerPage = ExplorerConfig.Instance?.Default_Page_Limit ?? 20;
|
||||
m_scrollbar = scroll;
|
||||
}
|
||||
|
||||
|
@ -8,6 +8,8 @@ using System.Reflection;
|
||||
using UnityExplorer.Helpers;
|
||||
using UnityExplorer.UI.Shared;
|
||||
using UnityExplorer.Input;
|
||||
using System;
|
||||
using UnityExplorer.Config;
|
||||
#if CPP
|
||||
using UnityExplorer.Unstrip;
|
||||
#endif
|
||||
@ -24,6 +26,43 @@ namespace UnityExplorer.UI
|
||||
internal static Sprite ResizeCursor { get; private set; }
|
||||
internal static Shader BackupShader { get; private set; }
|
||||
|
||||
public static bool ShowMenu
|
||||
{
|
||||
get => s_showMenu;
|
||||
set => SetShowMenu(value);
|
||||
}
|
||||
public static bool s_showMenu;
|
||||
|
||||
private static bool s_doneUIInit;
|
||||
private static float s_timeSinceStartup;
|
||||
|
||||
internal static void CheckUIInit()
|
||||
{
|
||||
if (s_doneUIInit)
|
||||
return;
|
||||
|
||||
s_timeSinceStartup += Time.deltaTime;
|
||||
|
||||
if (s_timeSinceStartup > 0.1f)
|
||||
{
|
||||
s_doneUIInit = true;
|
||||
try
|
||||
{
|
||||
Init();
|
||||
ExplorerCore.Log("Initialized UnityExplorer UI.");
|
||||
|
||||
if (ExplorerConfig.Instance.Hide_On_Startup)
|
||||
ShowMenu = false;
|
||||
|
||||
// InspectorManager.Instance.Inspect(Tests.TestClass.Instance);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
ExplorerCore.LogWarning($"Exception setting up UI: {e}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void Init()
|
||||
{
|
||||
LoadBundle();
|
||||
@ -40,13 +79,40 @@ namespace UnityExplorer.UI
|
||||
Canvas.ForceUpdateCanvases();
|
||||
}
|
||||
|
||||
private static void SetShowMenu(bool show)
|
||||
{
|
||||
if (s_showMenu == show)
|
||||
return;
|
||||
|
||||
s_showMenu = show;
|
||||
|
||||
if (CanvasRoot)
|
||||
{
|
||||
CanvasRoot.SetActive(show);
|
||||
|
||||
if (show)
|
||||
ForceUnlockCursor.SetEventSystem();
|
||||
else
|
||||
ForceUnlockCursor.ReleaseEventSystem();
|
||||
}
|
||||
|
||||
ForceUnlockCursor.UpdateCursorControl();
|
||||
}
|
||||
|
||||
public static void OnSceneChange()
|
||||
{
|
||||
SceneExplorer.Instance?.OnSceneChange();
|
||||
SearchPage.Instance?.OnSceneChange();
|
||||
}
|
||||
|
||||
public static void Update()
|
||||
{
|
||||
if (InputManager.GetKeyDown(ExplorerConfig.Instance.Main_Menu_Toggle))
|
||||
ShowMenu = !ShowMenu;
|
||||
|
||||
if (!ShowMenu || !s_doneUIInit || !CanvasRoot)
|
||||
return;
|
||||
|
||||
MainMenu.Instance?.Update();
|
||||
|
||||
if (EventSys)
|
||||
|
@ -1,364 +1,365 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Release_ML_Cpp</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{B21DBDE3-5D6F-4726-93AB-CC3CC68BAE7D}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<!--<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>-->
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<Deterministic>true</Deterministic>
|
||||
<TargetFrameworkProfile />
|
||||
<OutputPath>..\Release\UnityExplorer.MelonLoader.Il2Cpp\</OutputPath>
|
||||
<DefineConstants>
|
||||
</DefineConstants>
|
||||
<IsCpp>false</IsCpp>
|
||||
<IsMelonLoader>false</IsMelonLoader>
|
||||
<DebugSymbols>false</DebugSymbols>
|
||||
<DebugType>none</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
<RootNamespace>UnityExplorer</RootNamespace>
|
||||
<!-- Set this to the BepInEx Il2Cpp Game folder, without the ending '\' character. -->
|
||||
<BIECppGameFolder>E:\source\Unity Projects\Test\_BUILD</BIECppGameFolder>
|
||||
<!-- Set this to the MelonLoader Il2Cpp Game folder, without the ending '\' character. -->
|
||||
<MLCppGameFolder>E:\source\Unity Projects\Test\_BUILD</MLCppGameFolder>
|
||||
<NuGetPackageImportStamp>
|
||||
</NuGetPackageImportStamp>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release_ML_Cpp|AnyCPU' ">
|
||||
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
||||
<OutputPath>..\Release\UnityExplorer.MelonLoader.Il2Cpp\</OutputPath>
|
||||
<DefineConstants>CPP,ML</DefineConstants>
|
||||
<AssemblyName>UnityExplorer.ML.IL2CPP</AssemblyName>
|
||||
<IsCpp>true</IsCpp>
|
||||
<IsMelonLoader>true</IsMelonLoader>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release_ML_Mono|AnyCPU' ">
|
||||
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
|
||||
<OutputPath>..\Release\UnityExplorer.MelonLoader.Mono\</OutputPath>
|
||||
<DefineConstants>MONO,ML</DefineConstants>
|
||||
<AssemblyName>UnityExplorer.ML.Mono</AssemblyName>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
<IsCpp>false</IsCpp>
|
||||
<IsMelonLoader>true</IsMelonLoader>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release_BIE_Cpp|AnyCPU' ">
|
||||
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
||||
<OutputPath>..\Release\UnityExplorer.BepInEx.Il2Cpp\</OutputPath>
|
||||
<DefineConstants>CPP,BIE,BIE6</DefineConstants>
|
||||
<AssemblyName>UnityExplorer.BIE.IL2CPP</AssemblyName>
|
||||
<IsCpp>true</IsCpp>
|
||||
<IsMelonLoader>false</IsMelonLoader>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release_BIE6_Mono|AnyCPU' ">
|
||||
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
|
||||
<OutputPath>..\Release\UnityExplorer.BepInEx6.Mono\</OutputPath>
|
||||
<DefineConstants>MONO,BIE,BIE6</DefineConstants>
|
||||
<AssemblyName>UnityExplorer.BIE6.Mono</AssemblyName>
|
||||
<IsCpp>false</IsCpp>
|
||||
<IsMelonLoader>false</IsMelonLoader>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release_BIE5_Mono|AnyCPU'">
|
||||
<OutputPath>..\Release\UnityExplorer.BepInEx5.Mono\</OutputPath>
|
||||
<DefineConstants>MONO,BIE,BIE5</DefineConstants>
|
||||
<AssemblyName>UnityExplorer.BIE5.Mono</AssemblyName>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<LangVersion>7.3</LangVersion>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release_STANDALONE_Mono|AnyCPU'">
|
||||
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
|
||||
<OutputPath>..\Release\UnityExplorer.Standalone.Mono\</OutputPath>
|
||||
<DefineConstants>MONO,STANDALONE</DefineConstants>
|
||||
<AssemblyName>UnityExplorer.STANDALONE.Mono</AssemblyName>
|
||||
<IsCpp>false</IsCpp>
|
||||
<IsMelonLoader>false</IsMelonLoader>
|
||||
<IsStandalone>true</IsStandalone>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release_STANDALONE_Cpp|AnyCPU'">
|
||||
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
||||
<OutputPath>..\Release\UnityExplorer.Standalone.Il2Cpp\</OutputPath>
|
||||
<DefineConstants>CPP,STANDALONE</DefineConstants>
|
||||
<AssemblyName>UnityExplorer.STANDALONE.IL2CPP</AssemblyName>
|
||||
<IsCpp>true</IsCpp>
|
||||
<IsMelonLoader>false</IsMelonLoader>
|
||||
<IsStandalone>true</IsStandalone>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="INIFileParser, Version=2.5.2.0, Culture=neutral, PublicKeyToken=79af7b307b65cf3c, processorArchitecture=MSIL">
|
||||
<HintPath>packages\ini-parser.2.5.2\lib\net20\INIFileParser.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
<!-- MCS ref -->
|
||||
<Reference Include="mcs">
|
||||
<HintPath>..\lib\mcs.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<!-- Universal Mono UnityEngine.dll ref (v5.3) -->
|
||||
<ItemGroup Condition="'$(IsCpp)'=='false'">
|
||||
<Reference Include="UnityEngine">
|
||||
<HintPath>..\lib\UnityEngine.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UI">
|
||||
<HintPath>..\lib\UnityEngine.UI.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<!-- MelonLoader Mono refs -->
|
||||
<ItemGroup Condition="'$(IsMelonLoader)|$(IsCpp)'=='true|false'">
|
||||
<Reference Include="MelonLoader">
|
||||
<HintPath>..\lib\MelonLoader.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<!-- BepInEx 5 Mono refs -->
|
||||
<ItemGroup Condition="'$(IsMelonLoader)|$(IsCpp)|$(Configuration)'=='false|false|Release_BIE5_Mono'">
|
||||
<Reference Include="BepInEx">
|
||||
<HintPath>..\lib\BepInEx.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="0Harmony">
|
||||
<HintPath>..\lib\0Harmony.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<!-- BepInEx 6 Mono refs -->
|
||||
<ItemGroup Condition="'$(IsMelonLoader)|$(IsCpp)|$(Configuration)'=='false|false|Release_BIE6_Mono'">
|
||||
<Reference Include="BepInEx">
|
||||
<HintPath>..\lib\BepInEx.Core.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="BepInEx.Unity">
|
||||
<HintPath>..\lib\BepInEx.Unity.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="0Harmony">
|
||||
<HintPath>..\lib\0Harmony.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<!-- Standalone refs -->
|
||||
<ItemGroup Condition="'$(IsStandalone)'=='true'">
|
||||
<Reference Include="0Harmony">
|
||||
<HintPath>..\lib\0Harmony.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<!-- MelonLoader Il2Cpp refs -->
|
||||
<ItemGroup Condition="'$(IsMelonLoader)|$(IsCpp)'=='true|true'">
|
||||
<Reference Include="MelonLoader">
|
||||
<HintPath>$(MLCppGameFolder)\MelonLoader\MelonLoader.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnhollowerBaseLib">
|
||||
<HintPath>$(MLCppGameFolder)\MelonLoader\Managed\UnhollowerBaseLib.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="Il2Cppmscorlib">
|
||||
<HintPath>$(MLCppGameFolder)\MelonLoader\Managed\Il2Cppmscorlib.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="Il2CppSystem.Core">
|
||||
<HintPath>$(MLCppGameFolder)\MelonLoader\Managed\Il2CppSystem.Core.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine">
|
||||
<HintPath>$(MLCppGameFolder)\MelonLoader\Managed\UnityEngine.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.CoreModule">
|
||||
<HintPath>$(MLCppGameFolder)\MelonLoader\Managed\UnityEngine.CoreModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.PhysicsModule">
|
||||
<HintPath>$(MLCppGameFolder)\MelonLoader\Managed\UnityEngine.PhysicsModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.TextRenderingModule">
|
||||
<HintPath>$(MLCppGameFolder)\MelonLoader\Managed\UnityEngine.TextRenderingModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UI">
|
||||
<HintPath>$(MLCppGameFolder)\MelonLoader\Managed\UnityEngine.UI.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UIModule">
|
||||
<HintPath>$(MLCppGameFolder)\MelonLoader\Managed\UnityEngine.UIModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.IMGUIModule">
|
||||
<HintPath>$(MLCppGameFolder)\MelonLoader\Managed\UnityEngine.IMGUIModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<!-- BepInEx Il2Cpp refs -->
|
||||
<ItemGroup Condition="'$(IsMelonLoader)|$(IsCpp)'=='false|true'">
|
||||
<Reference Include="BepInEx">
|
||||
<HintPath>$(BIECppGameFolder)\BepInEx\core\BepInEx.Core.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="0Harmony">
|
||||
<HintPath>$(BIECppGameFolder)\BepInEx\core\0Harmony.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="BepInEx.IL2CPP">
|
||||
<HintPath>$(BIECppGameFolder)\BepInEx\core\BepInEx.IL2CPP.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnhollowerBaseLib">
|
||||
<HintPath>$(BIECppGameFolder)\BepInEx\core\UnhollowerBaseLib.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="Il2Cppmscorlib">
|
||||
<HintPath>$(BIECppGameFolder)\BepInEx\unhollowed\Il2Cppmscorlib.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="Il2CppSystem.Core">
|
||||
<HintPath>$(BIECppGameFolder)\BepInEx\unhollowed\Il2CppSystem.Core.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine">
|
||||
<HintPath>$(BIECppGameFolder)\BepInEx\unhollowed\UnityEngine.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.CoreModule">
|
||||
<HintPath>$(BIECppGameFolder)\BepInEx\unhollowed\UnityEngine.CoreModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.PhysicsModule">
|
||||
<HintPath>$(BIECppGameFolder)\BepInEx\unhollowed\UnityEngine.PhysicsModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.TextRenderingModule">
|
||||
<HintPath>$(BIECppGameFolder)\BepInEx\unhollowed\UnityEngine.TextRenderingModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UI">
|
||||
<HintPath>$(BIECppGameFolder)\BepInEx\unhollowed\UnityEngine.UI.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UIModule">
|
||||
<HintPath>$(BIECppGameFolder)\BepInEx\unhollowed\UnityEngine.UIModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.IMGUIModule">
|
||||
<HintPath>$(BIECppGameFolder)\BepInEx\unhollowed\UnityEngine.IMGUIModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Loader\ExplorerBepIn6Plugin.cs" />
|
||||
<Compile Include="Loader\ExplorerStandalone.cs" />
|
||||
<Compile Include="Helpers\EventHelper.cs" />
|
||||
<Compile Include="Inspectors\MouseInspector.cs" />
|
||||
<Compile Include="Inspectors\Reflection\CacheObject\CacheEnumerated.cs" />
|
||||
<Compile Include="Inspectors\Reflection\CacheObject\CacheField.cs" />
|
||||
<Compile Include="Inspectors\Reflection\CacheObject\CachePaired.cs" />
|
||||
<Compile Include="Inspectors\Reflection\CacheObject\CacheMember.cs" />
|
||||
<Compile Include="Inspectors\Reflection\CacheObject\CacheMethod.cs" />
|
||||
<Compile Include="Inspectors\Reflection\CacheObject\CacheProperty.cs" />
|
||||
<Compile Include="Inspectors\Reflection\CacheObject\CacheObjectBase.cs" />
|
||||
<Compile Include="Helpers\Texture2DHelpers.cs" />
|
||||
<Compile Include="Config\ExplorerConfig.cs" />
|
||||
<Compile Include="ExplorerCore.cs" />
|
||||
<Compile Include="Loader\ExplorerBepIn5Plugin.cs" />
|
||||
<Compile Include="Loader\ExplorerMelonMod.cs" />
|
||||
<Compile Include="Helpers\ReflectionHelpers.cs" />
|
||||
<Compile Include="Helpers\UnityHelpers.cs" />
|
||||
<Compile Include="Inspectors\GameObjects\ChildList.cs" />
|
||||
<Compile Include="Inspectors\GameObjects\ComponentList.cs" />
|
||||
<Compile Include="Inspectors\GameObjects\GameObjectControls.cs" />
|
||||
<Compile Include="Inspectors\Reflection\InteractiveValue\InteractiveBool.cs" />
|
||||
<Compile Include="Inspectors\Reflection\InteractiveValue\InteractiveDictionary.cs" />
|
||||
<Compile Include="Inspectors\Reflection\InteractiveValue\InteractiveEnum.cs" />
|
||||
<Compile Include="Inspectors\Reflection\InteractiveValue\InteractiveEnumerable.cs" />
|
||||
<Compile Include="Inspectors\Reflection\InteractiveValue\InteractiveFlags.cs" />
|
||||
<Compile Include="Inspectors\Reflection\InteractiveValue\InteractiveNumber.cs" />
|
||||
<Compile Include="Inspectors\Reflection\InteractiveValue\InteractiveString.cs" />
|
||||
<Compile Include="Inspectors\Reflection\InteractiveValue\InteractiveUnityStruct.cs" />
|
||||
<Compile Include="Loader\IExplorerLoader.cs" />
|
||||
<Compile Include="UI\ForceUnlockCursor.cs" />
|
||||
<Compile Include="Input\IHandleInput.cs" />
|
||||
<Compile Include="Tests\Tests.cs" />
|
||||
<Compile Include="Input\InputManager.cs" />
|
||||
<Compile Include="Input\InputSystem.cs" />
|
||||
<Compile Include="Input\LegacyInput.cs" />
|
||||
<Compile Include="Input\NoInput.cs" />
|
||||
<Compile Include="UI\Modules\DebugConsole.cs" />
|
||||
<Compile Include="Inspectors\InspectorManager.cs" />
|
||||
<Compile Include="Inspectors\Reflection\ReflectionInspector.cs" />
|
||||
<Compile Include="UI\MainMenu.cs" />
|
||||
<Compile Include="UI\Modules\CSConsolePage.cs" />
|
||||
<Compile Include="CSConsole\AutoCompleter.cs" />
|
||||
<Compile Include="CSConsole\CodeEditor.cs" />
|
||||
<Compile Include="CSConsole\Lexer\CommentMatch.cs" />
|
||||
<Compile Include="CSConsole\CSharpLexer.cs" />
|
||||
<Compile Include="CSConsole\Lexer\KeywordMatch.cs" />
|
||||
<Compile Include="CSConsole\Lexer\StringMatch.cs" />
|
||||
<Compile Include="CSConsole\Lexer\Matcher.cs" />
|
||||
<Compile Include="CSConsole\Lexer\NumberMatch.cs" />
|
||||
<Compile Include="CSConsole\Lexer\SymbolMatch.cs" />
|
||||
<Compile Include="CSConsole\Suggestion.cs" />
|
||||
<Compile Include="CSConsole\ScriptEvaluator.cs" />
|
||||
<Compile Include="CSConsole\ScriptInteraction.cs" />
|
||||
<Compile Include="UI\Modules\HomePage.cs" />
|
||||
<Compile Include="Inspectors\GameObjects\GameObjectInspector.cs" />
|
||||
<Compile Include="Inspectors\InspectorBase.cs" />
|
||||
<Compile Include="Inspectors\Reflection\InstanceInspector.cs" />
|
||||
<Compile Include="Inspectors\Reflection\StaticInspector.cs" />
|
||||
<Compile Include="UI\Modules\OptionsPage.cs" />
|
||||
<Compile Include="Inspectors\SceneExplorer.cs" />
|
||||
<Compile Include="UI\Modules\SearchPage.cs" />
|
||||
<Compile Include="UI\PanelDragger.cs" />
|
||||
<Compile Include="Inspectors\Reflection\InteractiveValue\InteractiveValue.cs" />
|
||||
<Compile Include="UI\Shared\InputFieldScroller.cs" />
|
||||
<Compile Include="UI\Shared\ScrollRectEx.cs" />
|
||||
<Compile Include="UI\Shared\SliderScrollbar.cs" />
|
||||
<Compile Include="UI\Shared\PageHandler.cs" />
|
||||
<Compile Include="UI\UISyntaxHighlight.cs" />
|
||||
<Compile Include="UI\UIManager.cs" />
|
||||
<Compile Include="Unstrip\AssetBundleUnstrip.cs" />
|
||||
<Compile Include="Unstrip\ColorUtilityUnstrip.cs" />
|
||||
<Compile Include="Unstrip\ImageConversionUnstrip.cs" />
|
||||
<Compile Include="Helpers\ICallHelper.cs" />
|
||||
<Compile Include="Unstrip\LayerMaskUnstrip.cs" />
|
||||
<Compile Include="Unstrip\ResourcesUnstrip.cs" />
|
||||
<Compile Include="Unstrip\SceneUnstrip.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="UI\UIFactory.cs" />
|
||||
<EmbeddedResource Include="Resources\*" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="ILRepack.targets" />
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="packages\ILRepack.Lib.MSBuild.Task.2.0.18.1\build\ILRepack.Lib.MSBuild.Task.targets" Condition="Exists('packages\ILRepack.Lib.MSBuild.Task.2.0.18.1\build\ILRepack.Lib.MSBuild.Task.targets')" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Release_ML_Cpp</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{B21DBDE3-5D6F-4726-93AB-CC3CC68BAE7D}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<!--<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>-->
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<Deterministic>true</Deterministic>
|
||||
<TargetFrameworkProfile />
|
||||
<OutputPath>..\Release\UnityExplorer.MelonLoader.Il2Cpp\</OutputPath>
|
||||
<DefineConstants>
|
||||
</DefineConstants>
|
||||
<IsCpp>false</IsCpp>
|
||||
<IsMelonLoader>false</IsMelonLoader>
|
||||
<DebugSymbols>false</DebugSymbols>
|
||||
<DebugType>none</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
<RootNamespace>UnityExplorer</RootNamespace>
|
||||
<!-- Set this to the BepInEx Il2Cpp Game folder, without the ending '\' character. -->
|
||||
<BIECppGameFolder>E:\source\Unity Projects\Test\_BUILD</BIECppGameFolder>
|
||||
<!-- Set this to the MelonLoader Il2Cpp Game folder, without the ending '\' character. -->
|
||||
<MLCppGameFolder>E:\source\Unity Projects\Test\_BUILD</MLCppGameFolder>
|
||||
<NuGetPackageImportStamp>
|
||||
</NuGetPackageImportStamp>
|
||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release_ML_Cpp|AnyCPU' ">
|
||||
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
||||
<OutputPath>..\Release\UnityExplorer.MelonLoader.Il2Cpp\</OutputPath>
|
||||
<DefineConstants>CPP,ML</DefineConstants>
|
||||
<AssemblyName>UnityExplorer.ML.IL2CPP</AssemblyName>
|
||||
<IsCpp>true</IsCpp>
|
||||
<IsMelonLoader>true</IsMelonLoader>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release_ML_Mono|AnyCPU' ">
|
||||
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
|
||||
<OutputPath>..\Release\UnityExplorer.MelonLoader.Mono\</OutputPath>
|
||||
<DefineConstants>MONO,ML</DefineConstants>
|
||||
<AssemblyName>UnityExplorer.ML.Mono</AssemblyName>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
<IsCpp>false</IsCpp>
|
||||
<IsMelonLoader>true</IsMelonLoader>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release_BIE_Cpp|AnyCPU' ">
|
||||
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
||||
<OutputPath>..\Release\UnityExplorer.BepInEx.Il2Cpp\</OutputPath>
|
||||
<DefineConstants>CPP,BIE,BIE6</DefineConstants>
|
||||
<AssemblyName>UnityExplorer.BIE.IL2CPP</AssemblyName>
|
||||
<IsCpp>true</IsCpp>
|
||||
<IsMelonLoader>false</IsMelonLoader>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release_BIE6_Mono|AnyCPU' ">
|
||||
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
|
||||
<OutputPath>..\Release\UnityExplorer.BepInEx6.Mono\</OutputPath>
|
||||
<DefineConstants>MONO,BIE,BIE6</DefineConstants>
|
||||
<AssemblyName>UnityExplorer.BIE6.Mono</AssemblyName>
|
||||
<IsCpp>false</IsCpp>
|
||||
<IsMelonLoader>false</IsMelonLoader>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release_BIE5_Mono|AnyCPU'">
|
||||
<OutputPath>..\Release\UnityExplorer.BepInEx5.Mono\</OutputPath>
|
||||
<DefineConstants>MONO,BIE,BIE5</DefineConstants>
|
||||
<AssemblyName>UnityExplorer.BIE5.Mono</AssemblyName>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<LangVersion>7.3</LangVersion>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release_STANDALONE_Mono|AnyCPU'">
|
||||
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
|
||||
<OutputPath>..\Release\UnityExplorer.Standalone.Mono\</OutputPath>
|
||||
<DefineConstants>MONO,STANDALONE</DefineConstants>
|
||||
<AssemblyName>UnityExplorer.STANDALONE.Mono</AssemblyName>
|
||||
<IsCpp>false</IsCpp>
|
||||
<IsMelonLoader>false</IsMelonLoader>
|
||||
<IsStandalone>true</IsStandalone>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release_STANDALONE_Cpp|AnyCPU'">
|
||||
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
||||
<OutputPath>..\Release\UnityExplorer.Standalone.Il2Cpp\</OutputPath>
|
||||
<DefineConstants>CPP,STANDALONE</DefineConstants>
|
||||
<AssemblyName>UnityExplorer.STANDALONE.IL2CPP</AssemblyName>
|
||||
<IsCpp>true</IsCpp>
|
||||
<IsMelonLoader>false</IsMelonLoader>
|
||||
<IsStandalone>true</IsStandalone>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="INIFileParser, Version=2.5.2.0, Culture=neutral, PublicKeyToken=79af7b307b65cf3c, processorArchitecture=MSIL">
|
||||
<HintPath>packages\ini-parser.2.5.2\lib\net20\INIFileParser.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
<!-- MCS ref -->
|
||||
<Reference Include="mcs">
|
||||
<HintPath>..\lib\mcs.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<!-- Universal Mono UnityEngine.dll ref (v5.3) -->
|
||||
<ItemGroup Condition="'$(IsCpp)'=='false'">
|
||||
<Reference Include="UnityEngine">
|
||||
<HintPath>..\lib\UnityEngine.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UI">
|
||||
<HintPath>..\lib\UnityEngine.UI.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<!-- MelonLoader Mono refs -->
|
||||
<ItemGroup Condition="'$(IsMelonLoader)|$(IsCpp)'=='true|false'">
|
||||
<Reference Include="MelonLoader">
|
||||
<HintPath>..\lib\MelonLoader.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<!-- BepInEx 5 Mono refs -->
|
||||
<ItemGroup Condition="'$(IsMelonLoader)|$(IsCpp)|$(Configuration)'=='false|false|Release_BIE5_Mono'">
|
||||
<Reference Include="BepInEx">
|
||||
<HintPath>..\lib\BepInEx.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="0Harmony">
|
||||
<HintPath>..\lib\0Harmony.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<!-- BepInEx 6 Mono refs -->
|
||||
<ItemGroup Condition="'$(IsMelonLoader)|$(IsCpp)|$(Configuration)'=='false|false|Release_BIE6_Mono'">
|
||||
<Reference Include="BepInEx">
|
||||
<HintPath>..\lib\BepInEx.Core.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="BepInEx.Unity">
|
||||
<HintPath>..\lib\BepInEx.Unity.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="0Harmony">
|
||||
<HintPath>..\lib\0Harmony.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<!-- Standalone refs -->
|
||||
<ItemGroup Condition="'$(IsStandalone)'=='true'">
|
||||
<Reference Include="0Harmony">
|
||||
<HintPath>..\lib\0Harmony.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<!-- MelonLoader Il2Cpp refs -->
|
||||
<ItemGroup Condition="'$(IsMelonLoader)|$(IsCpp)'=='true|true'">
|
||||
<Reference Include="MelonLoader">
|
||||
<HintPath>$(MLCppGameFolder)\MelonLoader\MelonLoader.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnhollowerBaseLib">
|
||||
<HintPath>$(MLCppGameFolder)\MelonLoader\Managed\UnhollowerBaseLib.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="Il2Cppmscorlib">
|
||||
<HintPath>$(MLCppGameFolder)\MelonLoader\Managed\Il2Cppmscorlib.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="Il2CppSystem.Core">
|
||||
<HintPath>$(MLCppGameFolder)\MelonLoader\Managed\Il2CppSystem.Core.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine">
|
||||
<HintPath>$(MLCppGameFolder)\MelonLoader\Managed\UnityEngine.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.CoreModule">
|
||||
<HintPath>$(MLCppGameFolder)\MelonLoader\Managed\UnityEngine.CoreModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.PhysicsModule">
|
||||
<HintPath>$(MLCppGameFolder)\MelonLoader\Managed\UnityEngine.PhysicsModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.TextRenderingModule">
|
||||
<HintPath>$(MLCppGameFolder)\MelonLoader\Managed\UnityEngine.TextRenderingModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UI">
|
||||
<HintPath>$(MLCppGameFolder)\MelonLoader\Managed\UnityEngine.UI.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UIModule">
|
||||
<HintPath>$(MLCppGameFolder)\MelonLoader\Managed\UnityEngine.UIModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.IMGUIModule">
|
||||
<HintPath>$(MLCppGameFolder)\MelonLoader\Managed\UnityEngine.IMGUIModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<!-- BepInEx Il2Cpp refs -->
|
||||
<ItemGroup Condition="'$(IsMelonLoader)|$(IsCpp)'=='false|true'">
|
||||
<Reference Include="BepInEx">
|
||||
<HintPath>$(BIECppGameFolder)\BepInEx\core\BepInEx.Core.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="0Harmony">
|
||||
<HintPath>$(BIECppGameFolder)\BepInEx\core\0Harmony.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="BepInEx.IL2CPP">
|
||||
<HintPath>$(BIECppGameFolder)\BepInEx\core\BepInEx.IL2CPP.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnhollowerBaseLib">
|
||||
<HintPath>$(BIECppGameFolder)\BepInEx\core\UnhollowerBaseLib.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="Il2Cppmscorlib">
|
||||
<HintPath>$(BIECppGameFolder)\BepInEx\unhollowed\Il2Cppmscorlib.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="Il2CppSystem.Core">
|
||||
<HintPath>$(BIECppGameFolder)\BepInEx\unhollowed\Il2CppSystem.Core.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine">
|
||||
<HintPath>$(BIECppGameFolder)\BepInEx\unhollowed\UnityEngine.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.CoreModule">
|
||||
<HintPath>$(BIECppGameFolder)\BepInEx\unhollowed\UnityEngine.CoreModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.PhysicsModule">
|
||||
<HintPath>$(BIECppGameFolder)\BepInEx\unhollowed\UnityEngine.PhysicsModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.TextRenderingModule">
|
||||
<HintPath>$(BIECppGameFolder)\BepInEx\unhollowed\UnityEngine.TextRenderingModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UI">
|
||||
<HintPath>$(BIECppGameFolder)\BepInEx\unhollowed\UnityEngine.UI.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UIModule">
|
||||
<HintPath>$(BIECppGameFolder)\BepInEx\unhollowed\UnityEngine.UIModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.IMGUIModule">
|
||||
<HintPath>$(BIECppGameFolder)\BepInEx\unhollowed\UnityEngine.IMGUIModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="ExplorerBepIn6Plugin.cs" />
|
||||
<Compile Include="ExplorerStandalone.cs" />
|
||||
<Compile Include="Helpers\EventHelper.cs" />
|
||||
<Compile Include="Inspectors\MouseInspector.cs" />
|
||||
<Compile Include="Inspectors\Reflection\CacheObject\CacheEnumerated.cs" />
|
||||
<Compile Include="Inspectors\Reflection\CacheObject\CacheField.cs" />
|
||||
<Compile Include="Inspectors\Reflection\CacheObject\CachePaired.cs" />
|
||||
<Compile Include="Inspectors\Reflection\CacheObject\CacheMember.cs" />
|
||||
<Compile Include="Inspectors\Reflection\CacheObject\CacheMethod.cs" />
|
||||
<Compile Include="Inspectors\Reflection\CacheObject\CacheProperty.cs" />
|
||||
<Compile Include="Inspectors\Reflection\CacheObject\CacheObjectBase.cs" />
|
||||
<Compile Include="Helpers\Texture2DHelpers.cs" />
|
||||
<Compile Include="Config\ModConfig.cs" />
|
||||
<Compile Include="ExplorerCore.cs" />
|
||||
<Compile Include="ExplorerBepIn5Plugin.cs" />
|
||||
<Compile Include="ExplorerMelonMod.cs" />
|
||||
<Compile Include="Helpers\ReflectionHelpers.cs" />
|
||||
<Compile Include="Helpers\UnityHelpers.cs" />
|
||||
<Compile Include="Inspectors\GameObjects\ChildList.cs" />
|
||||
<Compile Include="Inspectors\GameObjects\ComponentList.cs" />
|
||||
<Compile Include="Inspectors\GameObjects\GameObjectControls.cs" />
|
||||
<Compile Include="Inspectors\Reflection\InteractiveValue\InteractiveBool.cs" />
|
||||
<Compile Include="Inspectors\Reflection\InteractiveValue\InteractiveDictionary.cs" />
|
||||
<Compile Include="Inspectors\Reflection\InteractiveValue\InteractiveEnum.cs" />
|
||||
<Compile Include="Inspectors\Reflection\InteractiveValue\InteractiveEnumerable.cs" />
|
||||
<Compile Include="Inspectors\Reflection\InteractiveValue\InteractiveFlags.cs" />
|
||||
<Compile Include="Inspectors\Reflection\InteractiveValue\InteractiveNumber.cs" />
|
||||
<Compile Include="Inspectors\Reflection\InteractiveValue\InteractiveString.cs" />
|
||||
<Compile Include="Inspectors\Reflection\InteractiveValue\InteractiveUnityStruct.cs" />
|
||||
<Compile Include="UI\ForceUnlockCursor.cs" />
|
||||
<Compile Include="Input\IHandleInput.cs" />
|
||||
<Compile Include="Tests\Tests.cs" />
|
||||
<Compile Include="Input\InputManager.cs" />
|
||||
<Compile Include="Input\InputSystem.cs" />
|
||||
<Compile Include="Input\LegacyInput.cs" />
|
||||
<Compile Include="Input\NoInput.cs" />
|
||||
<Compile Include="UI\Modules\DebugConsole.cs" />
|
||||
<Compile Include="Inspectors\InspectorManager.cs" />
|
||||
<Compile Include="Inspectors\Reflection\ReflectionInspector.cs" />
|
||||
<Compile Include="UI\MainMenu.cs" />
|
||||
<Compile Include="UI\Modules\CSConsolePage.cs" />
|
||||
<Compile Include="CSConsole\AutoCompleter.cs" />
|
||||
<Compile Include="CSConsole\CodeEditor.cs" />
|
||||
<Compile Include="CSConsole\Lexer\CommentMatch.cs" />
|
||||
<Compile Include="CSConsole\CSharpLexer.cs" />
|
||||
<Compile Include="CSConsole\Lexer\KeywordMatch.cs" />
|
||||
<Compile Include="CSConsole\Lexer\StringMatch.cs" />
|
||||
<Compile Include="CSConsole\Lexer\Matcher.cs" />
|
||||
<Compile Include="CSConsole\Lexer\NumberMatch.cs" />
|
||||
<Compile Include="CSConsole\Lexer\SymbolMatch.cs" />
|
||||
<Compile Include="CSConsole\Suggestion.cs" />
|
||||
<Compile Include="CSConsole\ScriptEvaluator.cs" />
|
||||
<Compile Include="CSConsole\ScriptInteraction.cs" />
|
||||
<Compile Include="UI\Modules\HomePage.cs" />
|
||||
<Compile Include="Inspectors\GameObjects\GameObjectInspector.cs" />
|
||||
<Compile Include="Inspectors\InspectorBase.cs" />
|
||||
<Compile Include="Inspectors\Reflection\InstanceInspector.cs" />
|
||||
<Compile Include="Inspectors\Reflection\StaticInspector.cs" />
|
||||
<Compile Include="UI\Modules\OptionsPage.cs" />
|
||||
<Compile Include="Inspectors\SceneExplorer.cs" />
|
||||
<Compile Include="UI\Modules\SearchPage.cs" />
|
||||
<Compile Include="UI\PanelDragger.cs" />
|
||||
<Compile Include="Inspectors\Reflection\InteractiveValue\InteractiveValue.cs" />
|
||||
<Compile Include="UI\Shared\InputFieldScroller.cs" />
|
||||
<Compile Include="UI\Shared\ScrollRectEx.cs" />
|
||||
<Compile Include="UI\Shared\SliderScrollbar.cs" />
|
||||
<Compile Include="UI\Shared\PageHandler.cs" />
|
||||
<Compile Include="UI\UISyntaxHighlight.cs" />
|
||||
<Compile Include="UI\UIManager.cs" />
|
||||
<Compile Include="Unstrip\AssetBundleUnstrip.cs" />
|
||||
<Compile Include="Unstrip\ColorUtilityUnstrip.cs" />
|
||||
<Compile Include="Unstrip\ImageConversionUnstrip.cs" />
|
||||
<Compile Include="Helpers\ICallHelper.cs" />
|
||||
<Compile Include="Unstrip\LayerMaskUnstrip.cs" />
|
||||
<Compile Include="Unstrip\ResourcesUnstrip.cs" />
|
||||
<Compile Include="Unstrip\SceneUnstrip.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="UI\UIFactory.cs" />
|
||||
<EmbeddedResource Include="Resources\*" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="ILRepack.targets" />
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="packages\ILRepack.Lib.MSBuild.Task.2.0.18.1\build\ILRepack.Lib.MSBuild.Task.targets" Condition="Exists('packages\ILRepack.Lib.MSBuild.Task.2.0.18.1\build\ILRepack.Lib.MSBuild.Task.targets')" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('packages\ILRepack.Lib.MSBuild.Task.2.0.18.1\build\ILRepack.Lib.MSBuild.Task.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\ILRepack.Lib.MSBuild.Task.2.0.18.1\build\ILRepack.Lib.MSBuild.Task.targets'))" />
|
||||
</Target>
|
||||
<Error Condition="!Exists('packages\ILRepack.Lib.MSBuild.Task.2.0.18.1\build\ILRepack.Lib.MSBuild.Task.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\ILRepack.Lib.MSBuild.Task.2.0.18.1\build\ILRepack.Lib.MSBuild.Task.targets'))" />
|
||||
</Target>
|
||||
</Project>
|
Loading…
x
Reference in New Issue
Block a user