new-horizons/NewHorizons/Patches/WarpPatches/ShipCockpitControllerPatches.cs
2023-03-18 13:30:22 -04:00

29 lines
997 B
C#

using HarmonyLib;
using NewHorizons.Handlers;
namespace NewHorizons.Patches.WarpPatches
{
[HarmonyPatch(typeof(ShipCockpitController))]
public static class ShipCockpitControllerPatches
{
[HarmonyPrefix]
[HarmonyPatch(nameof(ShipCockpitController.Update))]
public static bool ShipCockpitController_Update(ShipCockpitController __instance)
{
if (!Main.HasWarpDrive) return true;
StarChartHandler.ShipLogStarChartMode.UpdateWarpPromptVisibility();
if (__instance._playerAtFlightConsole && OWInput.IsNewlyPressed(InputLibrary.autopilot, InputMode.ShipCockpit))
{
var targetSystem = StarChartHandler.ShipLogStarChartMode.GetTargetStarSystem();
if (targetSystem != null)
{
Main.Instance.ChangeCurrentStarSystem(targetSystem, true);
return false;
}
}
return true;
}
}
}