mirror of
https://github.com/sinai-dev/UnityExplorer.git
synced 2025-06-16 06:08:16 +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>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>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>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
|
## How to install
|
||||||
|
|
||||||
@ -68,9 +68,15 @@ Note: You must use version 0.3 of MelonLoader or greater. Version 0.3 is current
|
|||||||
### Standalone
|
### 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.
|
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();`
|
1. Create an instance of Unity Explorer with `ExplorerStandalone.CreateInstance();`
|
||||||
2. You will need to call `ExplorerCore.Update()` (static method) from your Update method.
|
2. You will need to call `ExplorerStandalone.Update()` from your Update method.
|
||||||
3. Subscribe to the `ExplorerCore.OnLog__` methods for logging.
|
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
|
## Settings
|
||||||
|
|
||||||
|
@ -6,14 +6,14 @@ using IniParser.Parser;
|
|||||||
|
|
||||||
namespace UnityExplorer.Config
|
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 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 = "#";
|
_parser.Configuration.CommentString = "#";
|
||||||
}
|
}
|
||||||
@ -22,7 +22,7 @@ namespace UnityExplorer.Config
|
|||||||
public KeyCode Main_Menu_Toggle = KeyCode.F7;
|
public KeyCode Main_Menu_Toggle = KeyCode.F7;
|
||||||
public bool Force_Unlock_Mouse = true;
|
public bool Force_Unlock_Mouse = true;
|
||||||
public int Default_Page_Limit = 25;
|
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 Log_Unity_Debug = false;
|
||||||
public bool Hide_On_Startup = false;
|
public bool Hide_On_Startup = false;
|
||||||
//public bool Save_Logs_To_Disk = true;
|
//public bool Save_Logs_To_Disk = true;
|
||||||
@ -36,7 +36,7 @@ namespace UnityExplorer.Config
|
|||||||
|
|
||||||
public static void OnLoad()
|
public static void OnLoad()
|
||||||
{
|
{
|
||||||
Instance = new ModConfig();
|
Instance = new ExplorerConfig();
|
||||||
|
|
||||||
if (LoadSettings())
|
if (LoadSettings())
|
||||||
return;
|
return;
|
||||||
@ -99,6 +99,9 @@ namespace UnityExplorer.Config
|
|||||||
sec.AddKey(nameof(Hide_On_Startup), Instance.Hide_On_Startup.ToString());
|
sec.AddKey(nameof(Hide_On_Startup), Instance.Hide_On_Startup.ToString());
|
||||||
//sec.AddKey("Save_Logs_To_Disk", Instance.Save_Logs_To_Disk.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());
|
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 AUTHOR = "Sinai";
|
||||||
public const string GUID = "com.sinai.unityexplorer";
|
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 ExplorerCore Instance { get; private set; }
|
||||||
|
|
||||||
public static bool ShowMenu
|
private static IExplorerLoader s_loader;
|
||||||
{
|
public static IExplorerLoader Loader => s_loader
|
||||||
get => s_showMenu;
|
#if ML
|
||||||
set => SetShowMenu(value);
|
?? (s_loader = ExplorerMelonMod.Instance);
|
||||||
}
|
#elif BIE
|
||||||
public static bool s_showMenu;
|
?? (s_loader = ExplorerBepInPlugin.Instance);
|
||||||
|
#elif STANDALONE
|
||||||
|
?? (s_loader = ExplorerStandalone.Instance);
|
||||||
|
#endif
|
||||||
|
|
||||||
private static bool s_doneUIInit;
|
public static string ExplorerFolder => Loader.ExplorerFolder;
|
||||||
private static float s_timeSinceStartup;
|
|
||||||
|
|
||||||
public ExplorerCore()
|
public ExplorerCore()
|
||||||
{
|
{
|
||||||
@ -67,60 +47,29 @@ namespace UnityExplorer
|
|||||||
ReflectionHelpers.TryLoadGameModules();
|
ReflectionHelpers.TryLoadGameModules();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (!Directory.Exists(EXPLORER_FOLDER))
|
if (!Directory.Exists(ExplorerFolder))
|
||||||
Directory.CreateDirectory(EXPLORER_FOLDER);
|
Directory.CreateDirectory(ExplorerFolder);
|
||||||
|
|
||||||
ModConfig.OnLoad();
|
ExplorerConfig.OnLoad();
|
||||||
|
|
||||||
InputManager.Init();
|
InputManager.Init();
|
||||||
ForceUnlockCursor.Init();
|
ForceUnlockCursor.Init();
|
||||||
|
|
||||||
SetupEvents();
|
SetupEvents();
|
||||||
|
|
||||||
ShowMenu = true;
|
UIManager.ShowMenu = true;
|
||||||
|
|
||||||
Log($"{NAME} {VERSION} initialized.");
|
Log($"{NAME} {VERSION} initialized.");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void Update()
|
public static void Update()
|
||||||
{
|
{
|
||||||
if (!s_doneUIInit)
|
UIManager.CheckUIInit();
|
||||||
CheckUIInit();
|
|
||||||
|
|
||||||
if (MouseInspector.Enabled)
|
if (MouseInspector.Enabled)
|
||||||
MouseInspector.UpdateInspect();
|
MouseInspector.UpdateInspect();
|
||||||
else
|
else
|
||||||
{
|
UIManager.Update();
|
||||||
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}");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SetupEvents()
|
private void SetupEvents()
|
||||||
@ -129,10 +78,14 @@ namespace UnityExplorer
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
Application.add_logMessageReceived(new Action<string, string, LogType>(OnUnityLog));
|
Application.add_logMessageReceived(new Action<string, string, LogType>(OnUnityLog));
|
||||||
|
|
||||||
SceneManager.add_sceneLoaded(new Action<Scene, LoadSceneMode>((Scene a, LoadSceneMode b) => { OnSceneLoaded(); }));
|
SceneManager.add_sceneLoaded(new Action<Scene, LoadSceneMode>((Scene a, LoadSceneMode b) => { OnSceneLoaded(); }));
|
||||||
SceneManager.add_activeSceneChanged(new Action<Scene, Scene>((Scene a, Scene 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
|
#else
|
||||||
Application.logMessageReceived += OnUnityLog;
|
Application.logMessageReceived += OnUnityLog;
|
||||||
SceneManager.sceneLoaded += (Scene a, LoadSceneMode b) => { OnSceneLoaded(); };
|
SceneManager.sceneLoaded += (Scene a, LoadSceneMode b) => { OnSceneLoaded(); };
|
||||||
@ -145,23 +98,6 @@ namespace UnityExplorer
|
|||||||
UIManager.OnSceneChange();
|
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)
|
private void OnUnityLog(string message, string stackTrace, LogType type)
|
||||||
{
|
{
|
||||||
if (!DebugConsole.LogUnity)
|
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)
|
public static void Log(object message, bool unity = false)
|
||||||
{
|
{
|
||||||
DebugConsole.Log(message?.ToString());
|
DebugConsole.Log(message?.ToString());
|
||||||
@ -198,13 +128,7 @@ namespace UnityExplorer
|
|||||||
if (unity)
|
if (unity)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
#if ML
|
Loader.OnLogMessage(message);
|
||||||
MelonLoader.MelonLogger.Msg(message?.ToString());
|
|
||||||
#elif BIE
|
|
||||||
ExplorerBepInPlugin.Logging?.LogMessage(message?.ToString());
|
|
||||||
#elif STANDALONE
|
|
||||||
OnLogMessage?.Invoke(message?.ToString());
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void LogWarning(object message, bool unity = false)
|
public static void LogWarning(object message, bool unity = false)
|
||||||
@ -214,13 +138,7 @@ namespace UnityExplorer
|
|||||||
if (unity)
|
if (unity)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
#if ML
|
Loader.OnLogWarning(message);
|
||||||
MelonLoader.MelonLogger.Msg(message?.ToString());
|
|
||||||
#elif BIE
|
|
||||||
ExplorerBepInPlugin.Logging?.LogWarning(message?.ToString());
|
|
||||||
#elif STANDALONE
|
|
||||||
OnLogWarning?.Invoke(message?.ToString());
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void LogError(object message, bool unity = false)
|
public static void LogError(object message, bool unity = false)
|
||||||
@ -230,24 +148,7 @@ namespace UnityExplorer
|
|||||||
if (unity)
|
if (unity)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
#if ML
|
Loader.OnLogError(message);
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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))
|
if (string.IsNullOrEmpty(name))
|
||||||
name = "untitled";
|
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;
|
inputField.text = savePath;
|
||||||
|
|
||||||
saveBtn.onClick.AddListener(() =>
|
saveBtn.onClick.AddListener(() =>
|
||||||
|
@ -59,7 +59,7 @@ namespace UnityExplorer.Inspectors.Reflection
|
|||||||
= new List<KeyValuePair<CachePaired, CachePaired>>();
|
= new List<KeyValuePair<CachePaired, CachePaired>>();
|
||||||
|
|
||||||
internal readonly KeyValuePair<CachePaired, CachePaired>[] m_displayedEntries
|
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;
|
internal bool m_recacheWanted = true;
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@ namespace UnityExplorer.Inspectors.Reflection
|
|||||||
internal readonly Type m_baseEntryType;
|
internal readonly Type m_baseEntryType;
|
||||||
|
|
||||||
internal readonly List<CacheEnumerated> m_entries = new List<CacheEnumerated>();
|
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;
|
internal bool m_recacheWanted = true;
|
||||||
|
|
||||||
public override void OnValueUpdated()
|
public override void OnValueUpdated()
|
||||||
|
@ -69,7 +69,7 @@ namespace UnityExplorer.Inspectors
|
|||||||
// filtered members based on current filters
|
// filtered members based on current filters
|
||||||
internal readonly List<CacheMember> m_membersFiltered = new List<CacheMember>();
|
internal readonly List<CacheMember> m_membersFiltered = new List<CacheMember>();
|
||||||
// actual shortlist of displayed members
|
// 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;
|
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
|
#if MONO
|
||||||
[BepInPlugin(ExplorerCore.GUID, "UnityExplorer", ExplorerCore.VERSION)]
|
[BepInPlugin(ExplorerCore.GUID, "UnityExplorer", ExplorerCore.VERSION)]
|
||||||
public class ExplorerBepInPlugin : BaseUnityPlugin
|
public class ExplorerBepInPlugin : BaseUnityPlugin, IExplorerLoader
|
||||||
{
|
{
|
||||||
public static ExplorerBepInPlugin Instance;
|
public static ExplorerBepInPlugin Instance;
|
||||||
|
|
||||||
public static ManualLogSource Logging => Instance?.Logger;
|
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()
|
internal void Awake()
|
||||||
{
|
{
|
||||||
@ -44,13 +52,21 @@ namespace UnityExplorer
|
|||||||
|
|
||||||
#if CPP
|
#if CPP
|
||||||
[BepInPlugin(ExplorerCore.GUID, "UnityExplorer", ExplorerCore.VERSION)]
|
[BepInPlugin(ExplorerCore.GUID, "UnityExplorer", ExplorerCore.VERSION)]
|
||||||
public class ExplorerBepInPlugin : BasePlugin
|
public class ExplorerBepInPlugin : BasePlugin, IExplorerLoader
|
||||||
{
|
{
|
||||||
public static ExplorerBepInPlugin Instance;
|
public static ExplorerBepInPlugin Instance;
|
||||||
|
|
||||||
public static ManualLogSource Logging => Instance?.Log;
|
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
|
// Init
|
||||||
public override void Load()
|
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();
|
UpdateCursorControl();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool ShouldForceMouse => ExplorerCore.ShowMenu && Unlock;
|
public static bool ShouldForceMouse => UIManager.ShowMenu && Unlock;
|
||||||
|
|
||||||
private static CursorLockMode m_lastLockMode;
|
private static CursorLockMode m_lastLockMode;
|
||||||
private static bool m_lastVisibleState;
|
private static bool m_lastVisibleState;
|
||||||
@ -42,7 +42,7 @@ namespace UnityExplorer.UI
|
|||||||
|
|
||||||
public static void Init()
|
public static void Init()
|
||||||
{
|
{
|
||||||
ModConfig.OnConfigChanged += ModConfig_OnConfigChanged;
|
ExplorerConfig.OnConfigChanged += ModConfig_OnConfigChanged;
|
||||||
|
|
||||||
SetupPatches();
|
SetupPatches();
|
||||||
|
|
||||||
@ -51,7 +51,7 @@ namespace UnityExplorer.UI
|
|||||||
|
|
||||||
internal static void ModConfig_OnConfigChanged()
|
internal static void ModConfig_OnConfigChanged()
|
||||||
{
|
{
|
||||||
Unlock = ModConfig.Instance.Force_Unlock_Mouse;
|
Unlock = ExplorerConfig.Instance.Force_Unlock_Mouse;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void SetupPatches()
|
private static void SetupPatches()
|
||||||
@ -102,14 +102,7 @@ namespace UnityExplorer.UI
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var harmony =
|
var harmony = ExplorerCore.Loader.HarmonyInstance;
|
||||||
#if ML
|
|
||||||
ExplorerMelonMod.Instance.Harmony;
|
|
||||||
#elif BIE
|
|
||||||
ExplorerBepInPlugin.HarmonyInstance;
|
|
||||||
#elif STANDALONE
|
|
||||||
ExplorerStandalone.HarmonyInstance;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
System.Reflection.PropertyInfo prop = type.GetProperty(property);
|
System.Reflection.PropertyInfo prop = type.GetProperty(property);
|
||||||
|
|
||||||
@ -208,7 +201,7 @@ namespace UnityExplorer.UI
|
|||||||
m_lastEventSystem = value;
|
m_lastEventSystem = value;
|
||||||
m_lastInputModule = value?.currentInputModule;
|
m_lastInputModule = value?.currentInputModule;
|
||||||
|
|
||||||
if (ExplorerCore.ShowMenu)
|
if (UIManager.ShowMenu)
|
||||||
{
|
{
|
||||||
value = UIManager.EventSys;
|
value = UIManager.EventSys;
|
||||||
}
|
}
|
||||||
|
@ -208,7 +208,7 @@ namespace UnityExplorer.UI
|
|||||||
GameObject hideBtnObj = UIFactory.CreateButton(titleBar);
|
GameObject hideBtnObj = UIFactory.CreateButton(titleBar);
|
||||||
|
|
||||||
Button hideBtn = hideBtnObj.GetComponent<Button>();
|
Button hideBtn = hideBtnObj.GetComponent<Button>();
|
||||||
hideBtn.onClick.AddListener(() => { ExplorerCore.ShowMenu = false; });
|
hideBtn.onClick.AddListener(() => { UIManager.ShowMenu = false; });
|
||||||
ColorBlock colorBlock = hideBtn.colors;
|
ColorBlock colorBlock = hideBtn.colors;
|
||||||
colorBlock.normalColor = new Color(65f / 255f, 23f / 255f, 23f / 255f);
|
colorBlock.normalColor = new Color(65f / 255f, 23f / 255f, 23f / 255f);
|
||||||
colorBlock.pressedColor = new Color(35f / 255f, 10f / 255f, 10f / 255f);
|
colorBlock.pressedColor = new Color(35f / 255f, 10f / 255f, 10f / 255f);
|
||||||
@ -224,13 +224,13 @@ namespace UnityExplorer.UI
|
|||||||
hideText.resizeTextForBestFit = true;
|
hideText.resizeTextForBestFit = true;
|
||||||
hideText.resizeTextMinSize = 8;
|
hideText.resizeTextMinSize = 8;
|
||||||
hideText.resizeTextMaxSize = 14;
|
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()
|
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 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;
|
//public static bool SaveToDisk { get; set; } = ModConfig.Instance.Save_Logs_To_Disk;
|
||||||
|
|
||||||
internal static StreamWriter s_streamWriter;
|
internal static StreamWriter s_streamWriter;
|
||||||
@ -52,7 +52,7 @@ namespace UnityExplorer.UI.Modules
|
|||||||
//if (!SaveToDisk)
|
//if (!SaveToDisk)
|
||||||
// return;
|
// return;
|
||||||
|
|
||||||
var path = ExplorerCore.EXPLORER_FOLDER + @"\Logs";
|
var path = ExplorerCore.ExplorerFolder + @"\Logs";
|
||||||
|
|
||||||
if (!Directory.Exists(path))
|
if (!Directory.Exists(path))
|
||||||
Directory.CreateDirectory(path);
|
Directory.CreateDirectory(path);
|
||||||
@ -69,7 +69,7 @@ namespace UnityExplorer.UI.Modules
|
|||||||
}
|
}
|
||||||
|
|
||||||
var fileName = "UnityExplorer " + DateTime.Now.ToString("u") + ".txt";
|
var fileName = "UnityExplorer " + DateTime.Now.ToString("u") + ".txt";
|
||||||
fileName = ExplorerCore.RemoveInvalidFilenameChars(fileName);
|
fileName = RemoveInvalidFilenameChars(fileName);
|
||||||
|
|
||||||
var stream = File.Create(path + @"\" + fileName);
|
var stream = File.Create(path + @"\" + fileName);
|
||||||
s_streamWriter = new StreamWriter(stream)
|
s_streamWriter = new StreamWriter(stream)
|
||||||
@ -81,6 +81,16 @@ namespace UnityExplorer.UI.Modules
|
|||||||
s_streamWriter.WriteLine(msg);
|
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)
|
public static void Log(string message)
|
||||||
{
|
{
|
||||||
Log(message, null);
|
Log(message, null);
|
||||||
@ -256,8 +266,8 @@ namespace UnityExplorer.UI.Modules
|
|||||||
void ToggleLogUnity(bool val)
|
void ToggleLogUnity(bool val)
|
||||||
{
|
{
|
||||||
LogUnity = val;
|
LogUnity = val;
|
||||||
ModConfig.Instance.Log_Unity_Debug = val;
|
ExplorerConfig.Instance.Log_Unity_Debug = val;
|
||||||
ModConfig.SaveSettings();
|
ExplorerConfig.SaveSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
var unityToggleLayout = unityToggleObj.AddComponent<LayoutElement>();
|
var unityToggleLayout = unityToggleObj.AddComponent<LayoutElement>();
|
||||||
|
@ -32,19 +32,19 @@ namespace UnityExplorer.UI.Modules
|
|||||||
internal void OnApply()
|
internal void OnApply()
|
||||||
{
|
{
|
||||||
if (!string.IsNullOrEmpty(m_keycodeInput.text) && Enum.Parse(typeof(KeyCode), m_keycodeInput.text) is KeyCode keyCode)
|
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))
|
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();
|
ExplorerConfig.SaveSettings();
|
||||||
ModConfig.InvokeConfigChanged();
|
ExplorerConfig.InvokeConfigChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
#region UI CONSTRUCTION
|
#region UI CONSTRUCTION
|
||||||
@ -131,7 +131,7 @@ namespace UnityExplorer.UI.Modules
|
|||||||
labelLayout.minHeight = 25;
|
labelLayout.minHeight = 25;
|
||||||
|
|
||||||
UIFactory.CreateToggle(rowObj, out m_hideOnStartupToggle, out Text toggleText);
|
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 = "";
|
toggleText.text = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -159,7 +159,7 @@ namespace UnityExplorer.UI.Modules
|
|||||||
var keycodeInputObj = UIFactory.CreateInputField(rowObj);
|
var keycodeInputObj = UIFactory.CreateInputField(rowObj);
|
||||||
|
|
||||||
m_keycodeInput = keycodeInputObj.GetComponent<InputField>();
|
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";
|
m_keycodeInput.placeholder.gameObject.GetComponent<Text>().text = "KeyCode, eg. F7";
|
||||||
}
|
}
|
||||||
@ -186,7 +186,7 @@ namespace UnityExplorer.UI.Modules
|
|||||||
labelLayout.minHeight = 25;
|
labelLayout.minHeight = 25;
|
||||||
|
|
||||||
UIFactory.CreateToggle(rowObj, out m_unlockMouseToggle, out Text toggleText);
|
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 = "";
|
toggleText.text = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -216,7 +216,7 @@ namespace UnityExplorer.UI.Modules
|
|||||||
var inputObj = UIFactory.CreateInputField(rowObj);
|
var inputObj = UIFactory.CreateInputField(rowObj);
|
||||||
|
|
||||||
m_pageLimitInput = inputObj.GetComponent<InputField>();
|
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";
|
m_pageLimitInput.placeholder.gameObject.GetComponent<Text>().text = "Integer, eg. 20";
|
||||||
}
|
}
|
||||||
@ -247,7 +247,7 @@ namespace UnityExplorer.UI.Modules
|
|||||||
var inputObj = UIFactory.CreateInputField(rowObj);
|
var inputObj = UIFactory.CreateInputField(rowObj);
|
||||||
|
|
||||||
m_defaultOutputInput = inputObj.GetComponent<InputField>();
|
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";
|
m_defaultOutputInput.placeholder.gameObject.GetComponent<Text>().text = @"Directory, eg. Mods\UnityExplorer";
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@ namespace UnityExplorer.UI.Shared
|
|||||||
{
|
{
|
||||||
public PageHandler(SliderScrollbar scroll)
|
public PageHandler(SliderScrollbar scroll)
|
||||||
{
|
{
|
||||||
ItemsPerPage = ModConfig.Instance?.Default_Page_Limit ?? 20;
|
ItemsPerPage = ExplorerConfig.Instance?.Default_Page_Limit ?? 20;
|
||||||
m_scrollbar = scroll;
|
m_scrollbar = scroll;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,6 +8,8 @@ using System.Reflection;
|
|||||||
using UnityExplorer.Helpers;
|
using UnityExplorer.Helpers;
|
||||||
using UnityExplorer.UI.Shared;
|
using UnityExplorer.UI.Shared;
|
||||||
using UnityExplorer.Input;
|
using UnityExplorer.Input;
|
||||||
|
using System;
|
||||||
|
using UnityExplorer.Config;
|
||||||
#if CPP
|
#if CPP
|
||||||
using UnityExplorer.Unstrip;
|
using UnityExplorer.Unstrip;
|
||||||
#endif
|
#endif
|
||||||
@ -24,6 +26,43 @@ namespace UnityExplorer.UI
|
|||||||
internal static Sprite ResizeCursor { get; private set; }
|
internal static Sprite ResizeCursor { get; private set; }
|
||||||
internal static Shader BackupShader { 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()
|
public static void Init()
|
||||||
{
|
{
|
||||||
LoadBundle();
|
LoadBundle();
|
||||||
@ -40,13 +79,40 @@ namespace UnityExplorer.UI
|
|||||||
Canvas.ForceUpdateCanvases();
|
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()
|
public static void OnSceneChange()
|
||||||
{
|
{
|
||||||
SceneExplorer.Instance?.OnSceneChange();
|
SceneExplorer.Instance?.OnSceneChange();
|
||||||
SearchPage.Instance?.OnSceneChange();
|
SearchPage.Instance?.OnSceneChange();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void Update()
|
public static void Update()
|
||||||
{
|
{
|
||||||
|
if (InputManager.GetKeyDown(ExplorerConfig.Instance.Main_Menu_Toggle))
|
||||||
|
ShowMenu = !ShowMenu;
|
||||||
|
|
||||||
|
if (!ShowMenu || !s_doneUIInit || !CanvasRoot)
|
||||||
|
return;
|
||||||
|
|
||||||
MainMenu.Instance?.Update();
|
MainMenu.Instance?.Update();
|
||||||
|
|
||||||
if (EventSys)
|
if (EventSys)
|
||||||
|
@ -1,364 +1,365 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<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>
|
<PropertyGroup>
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Release_ML_Cpp</Configuration>
|
<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>
|
||||||
<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>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release_ML_Cpp|AnyCPU' ">
|
<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'))" />
|
||||||
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
</Target>
|
||||||
<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>
|
|
||||||
</Project>
|
</Project>
|
Loading…
x
Reference in New Issue
Block a user