1
0
mirror of https://github.com/soarqin/DSP_Mods_TO.git synced 2025-12-19 13:03:32 +08:00
This commit is contained in:
2024-03-21 21:30:16 +08:00
parent cd7293f54c
commit 883464a9c3
31 changed files with 873 additions and 592 deletions

View File

@@ -13,10 +13,7 @@ internal class Patch_GameMain
{
CruiseAssistStarListUI.OnReset();
ConfigManager.CheckConfig(ConfigManager.Step.GameMainBegin);
CruiseAssistPlugin.Extensions.ForEach(delegate(ICruiseAssistExtensionAPI extension)
{
extension.CheckConfig(ConfigManager.Step.GameMainBegin.ToString());
});
CruiseAssistPlugin.Extensions.ForEach(extension => extension.CheckConfig(ConfigManager.Step.GameMainBegin.ToString()));
}
[HarmonyPatch("Pause")]
@@ -24,9 +21,6 @@ internal class Patch_GameMain
public static void Pause_Prefix()
{
ConfigManager.CheckConfig(ConfigManager.Step.State);
CruiseAssistPlugin.Extensions.ForEach(delegate(ICruiseAssistExtensionAPI extension)
{
extension.CheckConfig(ConfigManager.Step.State.ToString());
});
CruiseAssistPlugin.Extensions.ForEach(extension => extension.CheckConfig(ConfigManager.Step.State.ToString()));
}
}

View File

@@ -15,17 +15,11 @@ internal class Patch_PlayerMoveDrift
if (VFInput._moveForward.pressing || VFInput._pullUp.pressing)
{
CruiseAssistPlugin.Interrupt = true;
CruiseAssistPlugin.Extensions.ForEach(delegate(ICruiseAssistExtensionAPI extension)
{
extension.CancelOperate();
});
CruiseAssistPlugin.Extensions.ForEach(extension => extension.CancelOperate());
}
else
{
CruiseAssistPlugin.Extensions.ForEach(delegate(ICruiseAssistExtensionAPI extension)
{
extension.OperateDrift(__instance);
});
CruiseAssistPlugin.Extensions.ForEach(extension => extension.OperateDrift(__instance));
}
}
}

View File

@@ -15,17 +15,11 @@ internal class Patch_PlayerMoveFly
if (VFInput._moveForward.pressing || VFInput._pullUp.pressing)
{
CruiseAssistPlugin.Interrupt = true;
CruiseAssistPlugin.Extensions.ForEach(delegate(ICruiseAssistExtensionAPI extension)
{
extension.CancelOperate();
});
CruiseAssistPlugin.Extensions.ForEach(extension => extension.CancelOperate());
}
else
{
CruiseAssistPlugin.Extensions.ForEach(delegate(ICruiseAssistExtensionAPI extension)
{
extension.OperateFly(__instance);
});
CruiseAssistPlugin.Extensions.ForEach(extension => extension.OperateFly(__instance));
}
}
}

View File

@@ -18,10 +18,7 @@ internal class Patch_PlayerMoveSail
if (controller.input0 != Vector4.zero || controller.input1 != Vector4.zero)
{
CruiseAssistPlugin.Interrupt = true;
CruiseAssistPlugin.Extensions.ForEach(delegate(ICruiseAssistExtensionAPI extension)
{
extension.CancelOperate();
});
CruiseAssistPlugin.Extensions.ForEach(extension => extension.CancelOperate());
}
else
{
@@ -38,14 +35,19 @@ internal class Patch_PlayerMoveSail
CruiseAssistPlugin.TargetUPos = CruiseAssistPlugin.TargetStar.uPosition;
}
var operate = false;
CruiseAssistPlugin.Extensions.ForEach(delegate(ICruiseAssistExtensionAPI extension)
{
operate |= extension.OperateSail(__instance);
});
CruiseAssistPlugin.Extensions.ForEach(extension => operate |= extension.OperateSail(__instance));
if (operate) return;
var vec = CruiseAssistPlugin.TargetUPos - player.uPosition;
var magnitude = controller.actionSail.visual_uvel.magnitude;
player.uVelocity = Vector3.Slerp(player.uVelocity, vec.normalized * magnitude, 1.6f / Mathf.Max(10f, Vector3.Angle(vec, player.uVelocity)));
var angle = Vector3.Angle(vec, player.uVelocity);
if (angle > 1.6f)
{
player.uVelocity = Vector3.Slerp(player.uVelocity, vec.normalized * magnitude, 1.6f / Mathf.Max(10f, angle));
}
else
{
player.uVelocity = vec.normalized * magnitude;
}
}
}
}

View File

@@ -1,5 +1,4 @@
using System.Linq;
using CruiseAssist.Commons;
using CruiseAssist.Commons;
using CruiseAssist.Enums;
using CruiseAssist.UI;
using HarmonyLib;
@@ -45,10 +44,7 @@ internal class Patch_PlayerMoveWalk
CruiseAssistPlugin.SelectTargetPlanet = null;
CruiseAssistPlugin.SelectTargetStar = GameMain.galaxy.StarById(indicatorAstroId / 100);
}
CruiseAssistPlugin.Extensions.ForEach(delegate(ICruiseAssistExtensionAPI extension)
{
extension.SetTargetAstroId(indicatorAstroId);
});
CruiseAssistPlugin.Extensions.ForEach(extension => extension.SetTargetAstroId(indicatorAstroId));
}
if (CruiseAssistPlugin.SelectTargetStar != null)
@@ -63,10 +59,7 @@ internal class Patch_PlayerMoveWalk
CruiseAssistPlugin.SelectTargetPlanet = null;
CruiseAssistPlugin.SelectTargetAstroId = 0;
GameMain.mainPlayer.navigation.indicatorAstroId = 0;
CruiseAssistPlugin.Extensions.ForEach(delegate(ICruiseAssistExtensionAPI extension)
{
extension.SetInactive();
});
CruiseAssistPlugin.Extensions.ForEach(extension => extension.SetInactive());
return;
}
CruiseAssistPlugin.TargetPlanet = CruiseAssistPlugin.SelectTargetPlanet;
@@ -78,10 +71,7 @@ internal class Patch_PlayerMoveWalk
CruiseAssistPlugin.SelectTargetStar = null;
CruiseAssistPlugin.SelectTargetAstroId = 0;
GameMain.mainPlayer.navigation.indicatorAstroId = 0;
CruiseAssistPlugin.Extensions.ForEach(delegate(ICruiseAssistExtensionAPI extension)
{
extension.SetInactive();
});
CruiseAssistPlugin.Extensions.ForEach(extension => extension.SetInactive());
return;
}
if (CruiseAssistPlugin.ReticuleTargetPlanet != null)
@@ -118,32 +108,22 @@ internal class Patch_PlayerMoveWalk
{
if (CruiseAssistPlugin.TargetStar == null)
{
CruiseAssistPlugin.Extensions.ForEach(delegate(ICruiseAssistExtensionAPI extension)
{
extension.SetInactive();
});
CruiseAssistPlugin.Extensions.ForEach(extension => extension.SetInactive());
return;
}
CruiseAssistPlugin.State = CruiseAssistState.ToStar;
CruiseAssistPlugin.TargetRange = (CruiseAssistPlugin.TargetStar.uPosition - GameMain.mainPlayer.uPosition).magnitude - (CruiseAssistPlugin.TargetStar.viewRadius - 120f);
CruiseAssistPlugin.TargetSelected = true;
}
var flag18 = __instance.controller.movementStateInFrame > EMovementState.Walk;
if (flag18) return;
if (__instance.controller.movementStateInFrame > EMovementState.Walk) return;
if (VFInput._jump.pressing)
{
CruiseAssistPlugin.Interrupt = true;
CruiseAssistPlugin.Extensions.ForEach(delegate(ICruiseAssistExtensionAPI extension)
{
extension.CancelOperate();
});
CruiseAssistPlugin.Extensions.ForEach(extension => extension.CancelOperate());
}
else
{
CruiseAssistPlugin.Extensions.ForEach(delegate(ICruiseAssistExtensionAPI extension)
{
extension.OperateWalk(__instance);
});
CruiseAssistPlugin.Extensions.ForEach(extension => extension.OperateWalk(__instance));
}
}
}

View File

@@ -1,5 +1,4 @@
using System;
using System.Collections.Generic;
using System.Collections.Generic;
using System.Reflection.Emit;
using CruiseAssist.Commons;
using HarmonyLib;
@@ -17,7 +16,7 @@ internal class Patch_UISailPanel
codeMatcher.MatchForward(true,
new CodeMatch(OpCodes.Ldarg_0)
).InsertAndAdvance(
Transpilers.EmitDelegate<Action>(delegate
Transpilers.EmitDelegate(delegate()
{
CruiseAssistPlugin.ReticuleTargetPlanet = null;
CruiseAssistPlugin.ReticuleTargetStar = null;

View File

@@ -11,9 +11,6 @@ internal class Patch_UIStarmap
public static void OnClose_Prefix()
{
ConfigManager.CheckConfig(ConfigManager.Step.State);
CruiseAssistPlugin.Extensions.ForEach(delegate(ICruiseAssistExtensionAPI extension)
{
extension.CheckConfig(ConfigManager.Step.State.ToString());
});
CruiseAssistPlugin.Extensions.ForEach(extension => extension.CheckConfig(ConfigManager.Step.State.ToString()));
}
}

View File

@@ -11,9 +11,6 @@ internal class Patch_UITechTree
public static void OnOpen_Prefix()
{
ConfigManager.CheckConfig(ConfigManager.Step.State);
CruiseAssistPlugin.Extensions.ForEach(delegate(ICruiseAssistExtensionAPI extension)
{
extension.CheckConfig(ConfigManager.Step.State.ToString());
});
CruiseAssistPlugin.Extensions.ForEach(extension => extension.CheckConfig(ConfigManager.Step.State.ToString()));
}
}