using HarmonyLib;
using OWML.Common;
using QSB.Patches;
using QSB.Utility;
using System;
using UnityEngine;
namespace QSB;
///
/// "TEMPORARY": this is for trying to solve this stupid fucking bug (gorp)
///
[HarmonyPatch(typeof(OWRigidbody))]
public class TeleportingPlanetsPatch : QSBPatch
{
public override QSBPatchTypes Type => QSBPatchTypes.OnModStart;
[HarmonyPostfix]
[HarmonyPatch(nameof(OWRigidbody.SetPosition))]
private static void SetPosition(OWRigidbody __instance, Vector3 worldPosition)
{
if (__instance.TryGetComponent(out var astroObject) && astroObject._name != AstroObject.Name.ProbeCannon)
{
DebugLog.ToConsole($"AHHHHHHHHH!!!!!!!!!\nPlanet {__instance.name} teleported! Please screenshot this and contact devs!\n{Environment.StackTrace}", MessageType.Fatal);
}
}
}