mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
42 lines
1.6 KiB
C#
42 lines
1.6 KiB
C#
using HarmonyLib;
|
|
using NewHorizons.Builder.Props;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using UnityEngine;
|
|
|
|
namespace NewHorizons.Patches
|
|
{
|
|
[HarmonyPatch]
|
|
public static class SignalScopePatches
|
|
{
|
|
[HarmonyPrefix]
|
|
[HarmonyPatch(typeof(Signalscope), nameof(Signalscope.Awake))]
|
|
public static bool Signalscope_Awake(Signalscope __instance, ref AudioSignal[] ____strongestSignals)
|
|
{
|
|
____strongestSignals = new AudioSignal[8];
|
|
return true;
|
|
}
|
|
|
|
[HarmonyPrefix]
|
|
[HarmonyPatch(typeof(Signalscope), nameof(Signalscope.SwitchFrequencyFilter))]
|
|
public static bool Signalscope_SwitchFrequencyFilter(Signalscope __instance, int __0)
|
|
{
|
|
var increment = __0;
|
|
var count = SignalBuilder.NumberOfFrequencies;
|
|
__instance._frequencyFilterIndex += increment;
|
|
__instance._frequencyFilterIndex = ((__instance._frequencyFilterIndex >= count) ? 0 : __instance._frequencyFilterIndex);
|
|
__instance._frequencyFilterIndex = ((__instance._frequencyFilterIndex < 0) ? count - 1 : __instance._frequencyFilterIndex);
|
|
SignalFrequency signalFrequency = AudioSignal.IndexToFrequency(__instance._frequencyFilterIndex);
|
|
|
|
if (!PlayerData.KnowsFrequency(signalFrequency) && (!__instance._isUnknownFreqNearby || __instance._unknownFrequency != signalFrequency))
|
|
{
|
|
__instance.SwitchFrequencyFilter(increment);
|
|
}
|
|
return false;
|
|
}
|
|
}
|
|
}
|