Skip to content
This repository was archived by the owner on May 9, 2023. It is now read-only.

Commit aae248b

Browse files
committed
Bump UniverseLib to 1.0.4, use HighlightMethod, add Clipboard (unfinished)
1 parent a73e992 commit aae248b

File tree

6 files changed

+32
-51
lines changed

6 files changed

+32
-51
lines changed

src/CacheObject/CacheMember.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,9 @@ public abstract class CacheMember : CacheObjectBase
3232
public virtual void SetInspectorOwner(ReflectionInspector inspector, MemberInfo member)
3333
{
3434
this.Owner = inspector;
35-
this.NameLabelText = SignatureHighlighter.Parse(member.DeclaringType, false, member);
35+
this.NameLabelText = this is CacheMethod
36+
? SignatureHighlighter.HighlightMethod(member as MethodInfo)
37+
: SignatureHighlighter.Parse(member.DeclaringType, false, member);
3638
this.NameForFiltering = $"{member.DeclaringType.Name}.{member.Name}";
3739
this.NameLabelTextRaw = NameForFiltering;
3840
}

src/Hooks/HookManager.cs

Lines changed: 2 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ public void SetCell(HookCell cell, int index)
8484
cell.CurrentDisplayedIndex = index;
8585
var hook = (HookInstance)this.currentHooks[index];
8686

87-
cell.MethodNameLabel.text = HighlightMethod(hook.TargetMethod);
87+
cell.MethodNameLabel.text = SignatureHighlighter.HighlightMethod(hook.TargetMethod);
8888

8989
cell.ToggleActiveButton.ButtonText.text = hook.Enabled ? "Enabled" : "Disabled";
9090
RuntimeProvider.Instance.SetColorBlockAuto(cell.ToggleActiveButton.Component,
@@ -183,7 +183,7 @@ public void SetCell(AddHookCell cell, int index)
183183
cell.CurrentDisplayedIndex = index;
184184
var method = this.filteredEligableMethods[index];
185185

186-
cell.MethodNameLabel.text = HighlightMethod(method);
186+
cell.MethodNameLabel.text = SignatureHighlighter.HighlightMethod(method);
187187

188188
var sig = method.FullDescription();
189189
if (hookedSignatures.Contains(sig))
@@ -225,50 +225,5 @@ public void EditorInputSave()
225225
Panel.SetPage(HookManagerPanel.Pages.CurrentHooks);
226226
}
227227
}
228-
229-
// ~~~~~~~~~~ Method syntax highlighting
230-
231-
private static readonly Dictionary<string, string> highlightedMethods = new Dictionary<string, string>();
232-
233-
private string HighlightMethod(MethodInfo method)
234-
{
235-
var sig = method.FullDescription();
236-
if (highlightedMethods.ContainsKey(sig))
237-
return highlightedMethods[sig];
238-
239-
var sb = new StringBuilder();
240-
241-
// declaring type
242-
sb.Append(SignatureHighlighter.Parse(method.DeclaringType, false));
243-
sb.Append('.');
244-
245-
// method name
246-
var color = !method.IsStatic
247-
? SignatureHighlighter.METHOD_INSTANCE
248-
: SignatureHighlighter.METHOD_STATIC;
249-
sb.Append($"<color={color}>{method.Name}</color>");
250-
251-
// arguments
252-
sb.Append('(');
253-
var args = method.GetParameters();
254-
if (args != null && args.Any())
255-
{
256-
int i = 0;
257-
foreach (var param in args)
258-
{
259-
sb.Append(SignatureHighlighter.Parse(param.ParameterType, false));
260-
sb.Append(' ');
261-
sb.Append($"<color={SignatureHighlighter.LOCAL_ARG}>{param.Name}</color>");
262-
i++;
263-
if (i < args.Length)
264-
sb.Append(", ");
265-
}
266-
}
267-
sb.Append(')');
268-
269-
var ret = sb.ToString();
270-
highlightedMethods.Add(sig, ret);
271-
return ret;
272-
}
273228
}
274229
}

src/UI/Clipboard/Clipboard.cs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Text;
5+
6+
namespace UnityExplorer.UI
7+
{
8+
public static class Clipboard
9+
{
10+
public static object Current { get; private set; }
11+
12+
public static void Init()
13+
{
14+
15+
}
16+
17+
public static void Copy(object obj)
18+
{
19+
Current = obj;
20+
}
21+
}
22+
}

src/UI/UIManager.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ internal static void InitUI()
102102

103103
// Call some initialize methods
104104
ConsoleController.Init();
105+
Clipboard.Init();
105106

106107
// Add this listener to prevent ScrollPool doing anything while we are resizing panels
107108
ScrollPool<ICell>.writingLockedListeners.Add(() => !PanelDragger.Resizing);

src/UnityExplorer.csproj

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,13 +172,13 @@
172172
<Private>False</Private>
173173
</Reference>
174174
<Reference Include="UniverseLib.Mono">
175-
<HintPath>packages\UniverseLib.1.0.3\lib\net35\UniverseLib.Mono.dll</HintPath>
175+
<HintPath>packages\UniverseLib.1.0.4\lib\net35\UniverseLib.Mono.dll</HintPath>
176176
</Reference>
177177
</ItemGroup>
178178
<!-- Il2Cpp refs -->
179179
<ItemGroup Condition="'$(IsCpp)'=='true'">
180180
<Reference Include="UniverseLib.IL2CPP">
181-
<HintPath>packages\UniverseLib.1.0.3\lib\net472\UniverseLib.IL2CPP.dll</HintPath>
181+
<HintPath>packages\UniverseLib.1.0.4\lib\net472\UniverseLib.IL2CPP.dll</HintPath>
182182
</Reference>
183183
<Reference Include="UnhollowerBaseLib">
184184
<HintPath>..\lib\Il2CppAssemblyUnhollower\UnhollowerBaseLib\bin\Release\net4.7.2\UnhollowerBaseLib.dll</HintPath>
@@ -222,6 +222,7 @@
222222
</Reference>
223223
</ItemGroup>
224224
<ItemGroup>
225+
<Compile Include="UI\Clipboard\Clipboard.cs" />
225226
<Compile Include="Hooks\HookCell.cs" />
226227
<Compile Include="Hooks\HookInstance.cs" />
227228
<Compile Include="Hooks\HookManager.cs" />

src/packages.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@
44
<package id="ILRepack.Lib.MSBuild.Task" version="2.0.18.2" targetFramework="net35" />
55
<package id="ini-parser" version="2.5.2" targetFramework="net35" />
66
<package id="Mono.Cecil" version="0.10.4" targetFramework="net35" />
7-
<package id="UniverseLib" version="1.0.3" targetFramework="net35" />
7+
<package id="UniverseLib" version="1.0.4" targetFramework="net35" />
88
</packages>

0 commit comments

Comments
 (0)