0
0
mirror of https://github.com/sp-tarkov/modules.git synced 2025-02-13 08:30:45 -05:00
modules/project/Aki.Debugging/Patches/DebugLogoPatch.cs

64 lines
1.9 KiB
C#
Raw Normal View History

using Aki.Reflection.Patching;
2024-03-05 20:21:31 +00:00
using EFT;
using EFT.UI;
using HarmonyLib;
using System.Reflection;
using TMPro;
using UnityEngine;
2024-03-05 20:21:31 +00:00
namespace Aki.Debugging.Patches
{
public class DebugLogoPatch : ModulePatch
{
protected override MethodBase GetTargetMethod()
{
return AccessTools.Method(typeof(TarkovApplication), nameof(TarkovApplication.method_27));
}
[PatchPrefix]
private static void PatchPrefix(Profile profile)
{
MonoBehaviourSingleton<PreloaderUI>.Instance.SetWatermarkStatus(profile, true);
}
}
public class DebugLogoPatch2 : ModulePatch
{
2024-03-05 20:28:51 +00:00
private static string sptVersion;
2024-03-05 20:21:31 +00:00
protected override MethodBase GetTargetMethod()
{
return AccessTools.Method(typeof(ClientWatermark), nameof(ClientWatermark.method_0));
}
[PatchPostfix]
private static void PatchPostfix(ref TextMeshProUGUI ____label, Profile ___profile_0)
2024-03-05 20:21:31 +00:00
{
____label.text = $"{AkiDebuggingPlugin.commitHash}";
2024-03-05 20:21:31 +00:00
}
}
public class DebugLogoPatch3 : ModulePatch
{
protected override MethodBase GetTargetMethod()
{
return AccessTools.Method(typeof(ClientWatermark), nameof(ClientWatermark.smethod_0));
}
// Prefix so the logic isnt being duplicated.
[PatchPrefix]
private static bool PatchPrefix(int screenHeight, int screenWidth, int rectHeight, int rectWidth, ref Vector2 __result)
{
System.Random random = new System.Random();
int maxX = (screenWidth / 4) - (rectWidth / 2);
int maxY = (screenHeight / 4) - (rectHeight / 2);
int newX = random.Next(-maxX, maxX);
int newY = random.Next(-maxY, maxY);
__result = new Vector2(newX, newY);
return false;
}
}
2024-03-05 20:21:31 +00:00
}