mirror of
https://github.com/soarqin/DSP_Mods.git
synced 2025-12-09 02:53:29 +08:00
tweaks for Dyson Shell dismantling
This commit is contained in:
@@ -40,35 +40,6 @@ public class DysonSpherePatch: PatchImpl<DysonSpherePatch>
|
||||
Enable(false);
|
||||
}
|
||||
|
||||
public static void InitCurrentDysonSphere(int index)
|
||||
{
|
||||
var star = GameMain.localStar;
|
||||
if (star == null) return;
|
||||
var dysonSpheres = GameMain.data?.dysonSpheres;
|
||||
if (dysonSpheres == null) return;
|
||||
if (index < 0)
|
||||
{
|
||||
if (dysonSpheres[star.index] == null) return;
|
||||
var dysonSphere = new DysonSphere();
|
||||
dysonSpheres[star.index] = dysonSphere;
|
||||
dysonSphere.Init(GameMain.data, star);
|
||||
dysonSphere.ResetNew();
|
||||
return;
|
||||
}
|
||||
|
||||
var ds = dysonSpheres[star.index];
|
||||
if (ds?.layersIdBased[index] == null) return;
|
||||
var pool = ds.rocketPool;
|
||||
for (var id = ds.rocketCursor - 1; id > 0; id--)
|
||||
{
|
||||
if (pool[id].id != id) continue;
|
||||
if (pool[id].nodeLayerId != index) continue;
|
||||
ds.RemoveDysonRocket(id);
|
||||
}
|
||||
|
||||
ds.RemoveLayer(index);
|
||||
}
|
||||
|
||||
[HarmonyPrefix]
|
||||
[HarmonyPatch(typeof(DysonSwarm), nameof(DysonSwarm.AutoConstruct))]
|
||||
private static bool DysonSwarm_AutoConstruct_Prefix(DysonSwarm __instance)
|
||||
|
||||
Reference in New Issue
Block a user