1.4.5 (pre-release)

* Added MethodInfo support for basic methods with no arguments.
* Added support for missing primitive types (char, short, byte)
* Added CacheDictionary class (currently unsupported)
* Cleaned up some stuff, using System.Reflection.MemberType instead of a custom enum.
This commit is contained in:
sinaioutlander
2020-08-29 21:15:54 +10:00
parent 6e644b4f50
commit 92fe1dc704
17 changed files with 418 additions and 182 deletions

View File

@ -121,7 +121,9 @@ MelonLogger.Log(""hello world"");";
{
GUILayout.Label("<b><size=15><color=cyan>C# REPL Console</color></size></b>", null);
GUILayout.Label("Method:", null);
GUI.skin.label.alignment = TextAnchor.UpperLeft;
GUILayout.Label("Enter code here as though it is a method body:", null);
MethodInput = GUILayout.TextArea(MethodInput, new GUILayoutOption[] { GUILayout.Height(250) });
if (GUILayout.Button("<color=cyan><b>Execute</b></color>", null))
@ -147,10 +149,7 @@ MelonLogger.Log(""hello world"");";
}
GUILayout.Label("<b>Using directives:</b>", null);
foreach (var asm in UsingDirectives)
{
GUILayout.Label(AsmToUsing(asm, true), null);
}
GUILayout.BeginHorizontal(null);
GUILayout.Label("Add namespace:", new GUILayoutOption[] { GUILayout.Width(105) });
UsingInput = GUILayout.TextField(UsingInput, new GUILayoutOption[] { GUILayout.Width(150) });
@ -163,6 +162,11 @@ MelonLogger.Log(""hello world"");";
ResetConsole();
}
GUILayout.EndHorizontal();
foreach (var asm in UsingDirectives)
{
GUILayout.Label(AsmToUsing(asm, true), null);
}
}
public override void Update() { }

View File

@ -26,7 +26,7 @@ namespace Explorer
//private List<object> m_searchResults = new List<object>();
private Vector2 resultsScroll = Vector2.zero;
private List<CacheObject> m_searchResults = new List<CacheObject>();
private List<CacheObjectBase> m_searchResults = new List<CacheObjectBase>();
public SceneFilter SceneMode = SceneFilter.Any;
public TypeFilter TypeMode = TypeFilter.Object;
@ -64,7 +64,7 @@ namespace Explorer
private void CacheResults(IEnumerable results)
{
m_searchResults = new List<CacheObject>();
m_searchResults = new List<CacheObjectBase>();
foreach (var obj in results)
{
@ -75,7 +75,7 @@ namespace Explorer
toCache = ilObject.TryCast<GameObject>() ?? ilObject.TryCast<Transform>()?.gameObject ?? ilObject;
}
var cache = CacheObject.GetCacheObject(toCache);
var cache = CacheObjectBase.GetCacheObject(toCache);
m_searchResults.Add(cache);
}
}