mirror of
https://github.com/sp-tarkov/modules.git
synced 2025-02-13 09:50:43 -05:00
50 lines
1.5 KiB
C#
50 lines
1.5 KiB
C#
using Aki.Reflection.Patching;
|
|
using Aki.Reflection.Utils;
|
|
using System.Reflection;
|
|
|
|
namespace Aki.SinglePlayer.Patches.Healing
|
|
{
|
|
public class MainMenuControllerPatch : ModulePatch
|
|
{
|
|
static MainMenuControllerPatch()
|
|
{
|
|
_ = nameof(IHealthController.HydrationChangedEvent);
|
|
_ = nameof(MainMenuController.HealthController);
|
|
}
|
|
|
|
protected override MethodBase GetTargetMethod()
|
|
{
|
|
var desiredType = typeof(MainMenuController);
|
|
var desiredMethod = desiredType.GetMethod("method_1", PatchConstants.PrivateFlags);
|
|
|
|
Logger.LogDebug($"{this.GetType().Name} Type: {desiredType?.Name}");
|
|
Logger.LogDebug($"{this.GetType().Name} Method: {desiredMethod?.Name}");
|
|
|
|
return desiredMethod;
|
|
}
|
|
|
|
[PatchPostfix]
|
|
private static void PatchPostfix(MainMenuController __instance)
|
|
{
|
|
var healthController = __instance.HealthController;
|
|
var listener = Utils.Healing.HealthListener.Instance;
|
|
|
|
if (healthController == null)
|
|
{
|
|
Logger.LogInfo("MainMenuControllerPatch() - healthController is null");
|
|
}
|
|
|
|
if (listener == null)
|
|
{
|
|
Logger.LogInfo("MainMenuControllerPatch() - listener is null");
|
|
}
|
|
|
|
if (healthController != null && listener != null)
|
|
{
|
|
listener.Init(healthController, false);
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|