mirror of
https://github.com/soarqin/DSP_Mods_TO.git
synced 2025-12-19 13:03:32 +08:00
WIP
This commit is contained in:
@@ -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()));
|
||||
}
|
||||
}
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
@@ -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()));
|
||||
}
|
||||
}
|
||||
@@ -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()));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user