31 lines
1.0 KiB
C#
Raw Normal View History

using HarmonyLib;
2022-04-05 23:18:42 -07:00
using QSB.EchoesOfTheEye.GrappleTotemSync.Messages;
using QSB.EchoesOfTheEye.GrappleTotemSync.WorldObjects;
using QSB.Messaging;
using QSB.Patches;
using QSB.WorldSync;
namespace QSB.EchoesOfTheEye.GrappleTotemSync.Patches;
public class GrappleTotemPatches : QSBPatch
{
public override QSBPatchTypes Type => QSBPatchTypes.OnClientConnect;
[HarmonyPrefix]
[HarmonyPatch(typeof(LanternZoomPoint), nameof(LanternZoomPoint.OnDetectLight))]
private static bool OnDetectLight(LanternZoomPoint __instance) =>
2022-05-27 22:28:24 -07:00
// only trigger with local player lantern
2022-05-28 09:11:43 -07:00
__instance._lightSensor.IsIlluminatedByLantern(Locator.GetDreamWorldController().GetPlayerLantern().GetLanternController());
2022-04-05 23:18:42 -07:00
[HarmonyPostfix]
[HarmonyPatch(typeof(LanternZoomPoint), nameof(LanternZoomPoint.StartZoomIn))]
private static void StartZoomIn(LanternZoomPoint __instance)
{
if (__instance._totemAnimator != null && QSBWorldSync.AllObjectsReady)
{
__instance.GetWorldObject<QSBGrappleTotem>()
.SendMessage(new GrappleAnimateMessage());
}
}
}