From cd9a85c69312c3a91823c52a409755ddb1e45641 Mon Sep 17 00:00:00 2001 From: Soar Qin Date: Sat, 2 Sep 2023 14:24:33 +0800 Subject: [PATCH] smarter checker for empty planet --- PoolOpt/PoolOpt.cs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/PoolOpt/PoolOpt.cs b/PoolOpt/PoolOpt.cs index af862c4..44a5a2e 100644 --- a/PoolOpt/PoolOpt.cs +++ b/PoolOpt/PoolOpt.cs @@ -244,6 +244,16 @@ public class PoolOptPatch : BaseUnityPlugin private static bool OptimizePool(GetId getter, int initCapacity, ref T[] pool, ref int cursor, ref int capacity, ref int[] recycle, ref int recycleCursor) { if (cursor <= 1) return false; + if (recycleCursor == pool.Length) + { + cursor = 1; + capacity = initCapacity; + pool = new T[initCapacity]; + recycle = new int[initCapacity]; + recycleCursor = 0; + Logger.LogDebug("Resetted pool to initial status"); + return true; + } var pos = cursor - 1; while (pos > 0) {