1
0
mirror of https://github.com/soarqin/DSP_Mods_TO.git synced 2025-12-16 03:23:32 +08:00
This commit is contained in:
2024-03-19 21:09:22 +08:00
parent 195260a3c9
commit 165fd704bb
6 changed files with 444 additions and 374 deletions

View File

@@ -32,40 +32,51 @@ internal class Patch_PlayerMoveWalk
}
}
if (!CruiseAssistPlugin.Enable)
if (!CruiseAssistPlugin.Enable) return;
var indicatorAstroId = GameMain.mainPlayer.navigation.indicatorAstroId;
if (indicatorAstroId != 0 && CruiseAssistPlugin.SelectTargetAstroId != indicatorAstroId)
{
CruiseAssistPlugin.SelectTargetAstroId = indicatorAstroId;
if (indicatorAstroId % 100 != 0)
{
CruiseAssistPlugin.SelectTargetPlanet = GameMain.galaxy.PlanetById(indicatorAstroId);
CruiseAssistPlugin.SelectTargetStar = CruiseAssistPlugin.SelectTargetPlanet.star;
}
else
{
CruiseAssistPlugin.SelectTargetPlanet = null;
CruiseAssistPlugin.SelectTargetStar = GameMain.galaxy.StarById(indicatorAstroId / 100);
}
CruiseAssistPlugin.Extensions.ForEach(delegate(ICruiseAssistExtensionAPI extension)
{
extension.SetInactive();
extension.SetTargetAstroId(indicatorAstroId);
});
}
else
if (CruiseAssistPlugin.SelectTargetStar != null)
{
var indicatorAstroId = GameMain.mainPlayer.navigation.indicatorAstroId;
if (indicatorAstroId != 0 && CruiseAssistPlugin.SelectTargetAstroId != indicatorAstroId)
if (GameMain.localStar != null && CruiseAssistPlugin.SelectTargetStar.id == GameMain.localStar.id)
{
CruiseAssistPlugin.SelectTargetAstroId = indicatorAstroId;
if (indicatorAstroId % 100 != 0)
if (CruiseAssistPlugin.SelectTargetPlanet != null)
{
CruiseAssistPlugin.SelectTargetPlanet = GameMain.galaxy.PlanetById(indicatorAstroId);
CruiseAssistPlugin.SelectTargetStar = CruiseAssistPlugin.SelectTargetPlanet.star;
if (GameMain.localPlanet != null && CruiseAssistPlugin.SelectTargetPlanet.id == GameMain.localPlanet.id)
{
CruiseAssistPlugin.SelectTargetStar = null;
CruiseAssistPlugin.SelectTargetPlanet = null;
CruiseAssistPlugin.SelectTargetAstroId = 0;
GameMain.mainPlayer.navigation.indicatorAstroId = 0;
CruiseAssistPlugin.Extensions.ForEach(delegate(ICruiseAssistExtensionAPI extension)
{
extension.SetInactive();
});
return;
}
CruiseAssistPlugin.TargetPlanet = CruiseAssistPlugin.SelectTargetPlanet;
}
else
{
CruiseAssistPlugin.SelectTargetPlanet = null;
CruiseAssistPlugin.SelectTargetStar = GameMain.galaxy.StarById(indicatorAstroId / 100);
}
CruiseAssistPlugin.Extensions.ForEach(delegate(ICruiseAssistExtensionAPI extension)
{
extension.SetTargetAstroId(indicatorAstroId);
});
}
if (CruiseAssistPlugin.SelectTargetStar != null)
{
if (GameMain.localStar != null && CruiseAssistPlugin.SelectTargetStar.id == GameMain.localStar.id)
{
if (CruiseAssistPlugin.SelectTargetPlanet == null && GameMain.localPlanet != null)
if (GameMain.localPlanet != null)
{
CruiseAssistPlugin.SelectTargetStar = null;
CruiseAssistPlugin.SelectTargetAstroId = 0;
@@ -76,86 +87,66 @@ internal class Patch_PlayerMoveWalk
});
return;
}
if (CruiseAssistPlugin.SelectTargetPlanet != null)
if (CruiseAssistPlugin.ReticuleTargetPlanet != null)
{
if (GameMain.localPlanet != null && CruiseAssistPlugin.SelectTargetPlanet.id == GameMain.localPlanet.id)
{
CruiseAssistPlugin.SelectTargetStar = null;
CruiseAssistPlugin.SelectTargetPlanet = null;
CruiseAssistPlugin.SelectTargetAstroId = 0;
GameMain.mainPlayer.navigation.indicatorAstroId = 0;
CruiseAssistPlugin.Extensions.ForEach(delegate(ICruiseAssistExtensionAPI extension)
{
extension.SetInactive();
});
return;
}
CruiseAssistPlugin.TargetPlanet = CruiseAssistPlugin.SelectTargetPlanet;
}
else
{
if (CruiseAssistPlugin.ReticuleTargetPlanet != null)
{
CruiseAssistPlugin.TargetPlanet = CruiseAssistPlugin.ReticuleTargetPlanet;
}
CruiseAssistPlugin.TargetPlanet = CruiseAssistPlugin.ReticuleTargetPlanet;
}
}
else
{
CruiseAssistPlugin.TargetStar = CruiseAssistPlugin.SelectTargetStar;
}
}
else
{
if (CruiseAssistPlugin.ReticuleTargetPlanet != null)
{
CruiseAssistPlugin.TargetPlanet = CruiseAssistPlugin.ReticuleTargetPlanet;
}
else if (CruiseAssistPlugin.ReticuleTargetStar != null)
{
CruiseAssistPlugin.TargetStar = CruiseAssistPlugin.ReticuleTargetStar;
}
CruiseAssistPlugin.TargetStar = CruiseAssistPlugin.SelectTargetStar;
}
}
else
{
if (CruiseAssistPlugin.ReticuleTargetPlanet != null)
{
CruiseAssistPlugin.TargetPlanet = CruiseAssistPlugin.ReticuleTargetPlanet;
}
else if (CruiseAssistPlugin.ReticuleTargetStar != null)
{
CruiseAssistPlugin.TargetStar = CruiseAssistPlugin.ReticuleTargetStar;
}
}
if (CruiseAssistPlugin.TargetPlanet != null)
{
CruiseAssistPlugin.State = CruiseAssistState.ToPlanet;
CruiseAssistPlugin.TargetStar = CruiseAssistPlugin.TargetPlanet.star;
CruiseAssistPlugin.TargetRange = (CruiseAssistPlugin.TargetPlanet.uPosition - GameMain.mainPlayer.uPosition).magnitude - CruiseAssistPlugin.TargetPlanet.realRadius;
CruiseAssistPlugin.TargetSelected = true;
}
else
{
if (CruiseAssistPlugin.TargetStar == null)
{
CruiseAssistPlugin.Extensions.ForEach(delegate(ICruiseAssistExtensionAPI 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 (VFInput._jump.pressing)
{
CruiseAssistPlugin.Interrupt = true;
CruiseAssistPlugin.Extensions.ForEach(delegate(ICruiseAssistExtensionAPI extension)
{
extension.CancelOperate();
});
}
else
if (CruiseAssistPlugin.TargetPlanet != null)
{
CruiseAssistPlugin.State = CruiseAssistState.ToPlanet;
CruiseAssistPlugin.TargetStar = CruiseAssistPlugin.TargetPlanet.star;
CruiseAssistPlugin.TargetRange = (CruiseAssistPlugin.TargetPlanet.uPosition - GameMain.mainPlayer.uPosition).magnitude - CruiseAssistPlugin.TargetPlanet.realRadius;
CruiseAssistPlugin.TargetSelected = true;
}
else
{
if (CruiseAssistPlugin.TargetStar == null)
{
CruiseAssistPlugin.Extensions.ForEach(delegate(ICruiseAssistExtensionAPI extension)
{
extension.OperateWalk(__instance);
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 (VFInput._jump.pressing)
{
CruiseAssistPlugin.Interrupt = true;
CruiseAssistPlugin.Extensions.ForEach(delegate(ICruiseAssistExtensionAPI extension)
{
extension.CancelOperate();
});
}
else
{
CruiseAssistPlugin.Extensions.ForEach(delegate(ICruiseAssistExtensionAPI extension)
{
extension.OperateWalk(__instance);
});
}
}
}