mirror of
https://github.com/soarqin/DSP_Mods.git
synced 2025-12-10 07:23:28 +08:00
use patch to resolve tips priority
This commit is contained in:
@@ -209,6 +209,33 @@ public class CheatEnabler : BaseUnityPlugin
|
|||||||
return matcher.InstructionEnumeration();
|
return matcher.InstructionEnumeration();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HarmonyTranspiler]
|
||||||
|
[HarmonyPatch(typeof(UIButton), nameof(UIButton.LateUpdate))]
|
||||||
|
private static IEnumerable<CodeInstruction> UIButton_LateUpdate_Transpiler(IEnumerable<CodeInstruction> instructions, ILGenerator generator)
|
||||||
|
{
|
||||||
|
var matcher = new CodeMatcher(instructions, generator);
|
||||||
|
matcher.MatchForward(false,
|
||||||
|
new CodeMatch(OpCodes.Ldloc_2),
|
||||||
|
new CodeMatch(OpCodes.Callvirt, AccessTools.PropertyGetter(typeof(Component), nameof(Component.gameObject))),
|
||||||
|
new CodeMatch(OpCodes.Callvirt, AccessTools.PropertyGetter(typeof(GameObject), nameof(GameObject.activeSelf)))
|
||||||
|
).InsertAndAdvance(
|
||||||
|
new CodeInstruction(OpCodes.Ldloc_2),
|
||||||
|
new CodeInstruction(OpCodes.Callvirt, AccessTools.PropertyGetter(typeof(Component), nameof(Component.transform))),
|
||||||
|
new CodeInstruction(OpCodes.Callvirt, AccessTools.PropertyGetter(typeof(Transform), nameof(Transform.parent))),
|
||||||
|
new CodeInstruction(OpCodes.Callvirt, AccessTools.PropertyGetter(typeof(Transform), nameof(Transform.parent))),
|
||||||
|
new CodeInstruction(OpCodes.Callvirt, AccessTools.Method(typeof(Transform), nameof(Transform.SetAsLastSibling)))
|
||||||
|
).MatchForward(false,
|
||||||
|
new CodeMatch(OpCodes.Callvirt, AccessTools.Method(typeof(UIButtonTip), nameof(UIButtonTip.SetTip)))
|
||||||
|
).Advance(1).Insert(
|
||||||
|
new CodeInstruction(OpCodes.Ldloc_2),
|
||||||
|
new CodeInstruction(OpCodes.Callvirt, AccessTools.PropertyGetter(typeof(Component), nameof(Component.transform))),
|
||||||
|
new CodeInstruction(OpCodes.Callvirt, AccessTools.PropertyGetter(typeof(Transform), nameof(Transform.parent))),
|
||||||
|
new CodeInstruction(OpCodes.Callvirt, AccessTools.PropertyGetter(typeof(Transform), nameof(Transform.parent))),
|
||||||
|
new CodeInstruction(OpCodes.Callvirt, AccessTools.Method(typeof(Transform), nameof(Transform.SetAsLastSibling)))
|
||||||
|
);
|
||||||
|
return matcher.InstructionEnumeration();
|
||||||
|
}
|
||||||
|
|
||||||
private static void ToggleConfigWindow()
|
private static void ToggleConfigWindow()
|
||||||
{
|
{
|
||||||
if (!_configWinInitialized)
|
if (!_configWinInitialized)
|
||||||
|
|||||||
@@ -29,11 +29,7 @@ public class MyWindow: ManualBehaviour
|
|||||||
public void Open()
|
public void Open()
|
||||||
{
|
{
|
||||||
_Open();
|
_Open();
|
||||||
}
|
transform.SetAsLastSibling();
|
||||||
|
|
||||||
public override void _OnUpdate()
|
|
||||||
{
|
|
||||||
transform.SetSiblingIndex(UIRoot.instance.uiMechaEditor.transform.GetSiblingIndex() + 1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Close() => _Close();
|
public void Close() => _Close();
|
||||||
|
|||||||
Reference in New Issue
Block a user