Files
Nitrox/NitroxPatcher/Patches/Dynamic/KnownTech_NotifyAdd_Patch.cs
2025-07-06 00:23:46 +02:00

33 lines
1.1 KiB
C#

using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using NitroxClient.Communication.Abstract;
using NitroxClient.MonoBehaviours;
using NitroxModel.Helper;
using NitroxModel.Packets;
using NitroxModel_Subnautica.DataStructures;
namespace NitroxPatcher.Patches.Dynamic;
public sealed partial class KnownTech_NotifyAdd_Patch : NitroxPatch, IDynamicPatch
{
private static readonly MethodInfo TARGET_METHOD = Reflect.Method(() => KnownTech.NotifyAdd(default, default));
public static void Prefix(TechType techType, bool verbose)
{
if (!Multiplayer.Main || !Multiplayer.Main.InitialSyncCompleted)
{
return;
}
List<PDAScanner.Entry> partialEntries = new();
PDAScanner.GetPartialEntriesWhichUnlocks(techType, partialEntries, true);
Resolve<IPacketSender>().Send(new KnownTechEntryAdd(
KnownTechEntryAdd.EntryCategory.KNOWN,
techType.ToDto(),
verbose,
partialEntries.Select(entry => entry.techType.ToDto()).ToList()
));
}
}