From bdf77d51ca0bc047638b11309856a9ce66802f25 Mon Sep 17 00:00:00 2001 From: Soar Qin Date: Sun, 15 Oct 2023 17:02:16 +0800 Subject: [PATCH] minor performance opt --- CheatEnabler/DysonSpherePatch.cs | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/CheatEnabler/DysonSpherePatch.cs b/CheatEnabler/DysonSpherePatch.cs index 4418415..089aa84 100644 --- a/CheatEnabler/DysonSpherePatch.cs +++ b/CheatEnabler/DysonSpherePatch.cs @@ -361,17 +361,6 @@ public static class DysonSpherePatch private static void DoAbsorb(DysonSphereLayer layer, long gameTick) { var swarm = layer.dysonSphere.swarm; - if (SkipAbsorbEnabled.Value) - { - for (var i = layer.nodeCursor - 1; i > 0; i--) - { - var node = layer.nodePool[i]; - if (node == null || node.id != i || node.sp < node.spMax) continue; - if (node._cpReq <= node.cpOrdered) continue; - while (swarm.AbsorbSail(node, gameTick)) {} - } - return; - } for (var i = layer.nodeCursor - 1; i > 0; i--) { var node = layer.nodePool[i]; @@ -379,14 +368,18 @@ public static class DysonSpherePatch var req = node._cpReq; var ordered = node.cpOrdered; if (req <= ordered) continue; - if (!swarm.AbsorbSail(node, gameTick)) continue; + if (!swarm.AbsorbSail(node, gameTick)) return; // No more sails can be absorbed ordered++; while (req > ordered) { - if (!swarm.AbsorbSail(node, gameTick)) break; + if (!swarm.AbsorbSail(node, gameTick)) + { + // No more sails can be absorbed + node.cpOrdered = ordered; + return; + } ordered++; - } - node.cpOrdered = ordered; + } } } }