quantum-space-buddies/QSB/TranslationSync/Patches/SpiralPatches.cs
Mister_Nebula 266b6147fc aaaaa
2021-11-01 15:49:00 +00:00

66 lines
1.6 KiB
C#

using HarmonyLib;
using QSB.Events;
using QSB.Patches;
using QSB.TranslationSync.WorldObjects;
using QSB.WorldSync;
namespace QSB.TranslationSync.Patches
{
[HarmonyPatch]
internal class SpiralPatches : QSBPatch
{
public override QSBPatchTypes Type => QSBPatchTypes.OnClientConnect;
[HarmonyPrefix]
[HarmonyPatch(typeof(NomaiWallText), nameof(NomaiWallText.SetAsTranslated))]
public static bool NomaiWallText_SetAsTranslated(NomaiWallText __instance, int id)
{
if (__instance.IsTranslated(id))
{
return true;
}
QSBEventManager.FireEvent(
EventNames.QSBTextTranslated,
NomaiTextType.WallText,
QSBWorldSync.GetIdFromUnity<QSBWallText>(__instance),
id);
return true;
}
[HarmonyPrefix]
[HarmonyPatch(typeof(NomaiComputer), nameof(NomaiWallText.SetAsTranslated))]
public static bool NomaiComputer_SetAsTranslated(NomaiComputer __instance, int id)
{
if (__instance.IsTranslated(id))
{
return true;
}
QSBEventManager.FireEvent(
EventNames.QSBTextTranslated,
NomaiTextType.Computer,
QSBWorldSync.GetIdFromUnity<QSBComputer>(__instance),
id);
return true;
}
[HarmonyPrefix]
[HarmonyPatch(typeof(NomaiVesselComputer), nameof(NomaiWallText.SetAsTranslated))]
public static bool NomaiVesselComputer_SetAsTranslated(NomaiVesselComputer __instance, int id)
{
if (__instance.IsTranslated(id))
{
return true;
}
QSBEventManager.FireEvent(
EventNames.QSBTextTranslated,
NomaiTextType.VesselComputer,
QSBWorldSync.GetIdFromUnity<QSBVesselComputer>(__instance),
id);
return true;
}
}
}