From 80aa2f9b70f131e0b15affbef7181dabc9d65b74 Mon Sep 17 00:00:00 2001 From: Soar Qin Date: Sat, 7 Feb 2026 20:26:12 +0800 Subject: [PATCH] UXAssist: fix belt signal overlap issue --- Dustbin/BeltSignal.cs | 2 +- UXAssist/Common/Util.cs | 2 +- UXAssist/Functions/UIFunctions.cs | 4 ++-- UXAssist/Patches/FactoryPatch.cs | 20 ++++++++++---------- UniverseGenTweaks/BirthPlanetPatch.cs | 4 ++-- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Dustbin/BeltSignal.cs b/Dustbin/BeltSignal.cs index db3bbce..1927a6e 100644 --- a/Dustbin/BeltSignal.cs +++ b/Dustbin/BeltSignal.cs @@ -77,7 +77,7 @@ public static class BeltSignal SID = "" }; p.name = p.Name.Translate(); - signals.dataArray = signals.dataArray.AddItem(p).ToArray(); + signals.dataArray = [.. signals.dataArray.AddItem(p)]; signals.dataIndices[p.ID] = index; _initialized = true; } diff --git a/UXAssist/Common/Util.cs b/UXAssist/Common/Util.cs index 4469aa5..f11f7d6 100644 --- a/UXAssist/Common/Util.cs +++ b/UXAssist/Common/Util.cs @@ -10,7 +10,7 @@ public static class Util { public static Type[] GetTypesFiltered(Assembly assembly, Func predicate) { - return assembly.GetTypes().Where(predicate).ToArray(); + return [.. assembly.GetTypes().Where(predicate)]; } public static Type[] GetTypesInNamespace(Assembly assembly, string nameSpace) => GetTypesFiltered(assembly, t => string.Equals(t.Namespace, nameSpace, StringComparison.Ordinal)); diff --git a/UXAssist/Functions/UIFunctions.cs b/UXAssist/Functions/UIFunctions.cs index e1bd046..357ed62 100644 --- a/UXAssist/Functions/UIFunctions.cs +++ b/UXAssist/Functions/UIFunctions.cs @@ -221,7 +221,7 @@ public static class UIFunctions rectTrans.anchorMax = new Vector2(0.5f, 0f); rectTrans.anchorMin = new Vector2(0.5f, 0f); rectTrans.pivot = new Vector2(0.5f, 0f); - rectTrans.anchoredPosition3D = new Vector3(0f, 140f, 0f); + rectTrans.anchoredPosition3D = new Vector3(-165f, 185f, 0f); rectTrans.localScale = new Vector3(1f, 1f, 1f); ConstructCountPanel = new GameObject("uxassist-construct-count-panel"); @@ -230,7 +230,7 @@ public static class UIFunctions rectTrans.anchorMax = new Vector2(0.5f, 0f); rectTrans.anchorMin = new Vector2(0.5f, 0f); rectTrans.pivot = new Vector2(0.5f, 0f); - rectTrans.anchoredPosition3D = new Vector3(0f, 116f, 0f); + rectTrans.anchoredPosition3D = new Vector3(-165f, 161f, 0f); rectTrans.localScale = new Vector3(1f, 1f, 1f); rectTrans.sizeDelta = new Vector2(160f, 24f); var bg = ConstructCountPanel.AddComponent(); diff --git a/UXAssist/Patches/FactoryPatch.cs b/UXAssist/Patches/FactoryPatch.cs index 396ad66..558149f 100644 --- a/UXAssist/Patches/FactoryPatch.cs +++ b/UXAssist/Patches/FactoryPatch.cs @@ -295,9 +295,9 @@ public class FactoryPatch : PatchImpl _lastPrebuildCount = -1; } - [HarmonyPrefix] + [HarmonyPostfix] [HarmonyPatch(typeof(PlayerAction_Rts), nameof(PlayerAction_Rts.GameTick))] - private static void PlayerAction_Rts_GameTick_Prefix(PlayerAction_Rts __instance, long timei) + private static void PlayerAction_Rts_GameTick_Postfix(PlayerAction_Rts __instance, long timei) { if (timei % 60L != 0) return; var planet = GameMain.localPlanet; @@ -1694,7 +1694,7 @@ public class FactoryPatch : PatchImpl { ID = 301, Name = "存储单元", - GridIndex = 3601, + GridIndex = 3801, IconPath = "assets/signal/memory.png", _iconSprite = Util.LoadEmbeddedSprite("assets/signal/memory.png", assembly), SID = "" @@ -1703,7 +1703,7 @@ public class FactoryPatch : PatchImpl { ID = 302, Name = "能量碎片", - GridIndex = 3602, + GridIndex = 3802, IconPath = "assets/signal/energy-fragment.png", _iconSprite = Util.LoadEmbeddedSprite("assets/signal/energy-fragment.png", assembly), SID = "" @@ -1712,7 +1712,7 @@ public class FactoryPatch : PatchImpl { ID = 303, Name = "硅基神经元", - GridIndex = 3603, + GridIndex = 3803, IconPath = "assets/signal/silicon-neuron.png", _iconSprite = Util.LoadEmbeddedSprite("assets/signal/silicon-neuron.png", assembly), SID = "" @@ -1721,7 +1721,7 @@ public class FactoryPatch : PatchImpl { ID = 304, Name = "负熵奇点", - GridIndex = 3604, + GridIndex = 3804, IconPath = "assets/signal/negentropy.png", _iconSprite = Util.LoadEmbeddedSprite("assets/signal/negentropy.png", assembly), SID = "" @@ -1730,7 +1730,7 @@ public class FactoryPatch : PatchImpl { ID = 305, Name = "物质重组器", - GridIndex = 3605, + GridIndex = 3805, IconPath = "assets/signal/reassembler.png", _iconSprite = Util.LoadEmbeddedSprite("assets/signal/reassembler.png", assembly), SID = "" @@ -1739,7 +1739,7 @@ public class FactoryPatch : PatchImpl { ID = 306, Name = "虚粒子", - GridIndex = 3606, + GridIndex = 3806, IconPath = "assets/signal/virtual-particle.png", _iconSprite = Util.LoadEmbeddedSprite("assets/signal/virtual-particle.png", assembly), SID = "" @@ -1751,7 +1751,7 @@ public class FactoryPatch : PatchImpl } var index = signals.dataArray.Length; - signals.dataArray = signals.dataArray.Concat(protos).ToArray(); + signals.dataArray = [.. signals.dataArray, .. protos]; foreach (var proto in protos) { signals.dataIndices[proto.ID] = index; @@ -1767,7 +1767,7 @@ public class FactoryPatch : PatchImpl var signals = LDB._signals; if (signals.dataIndices.TryGetValue(301, out var index)) { - signals.dataArray = signals.dataArray.Take(index).Concat(signals.dataArray.Skip(index + 6)).ToArray(); + signals.dataArray = [.. signals.dataArray.Take(index), .. signals.dataArray.Skip(index + 6)]; for (var id = 301; id <= 306; id++) signals.dataIndices.Remove(id); var len = signals.dataArray.Length; diff --git a/UniverseGenTweaks/BirthPlanetPatch.cs b/UniverseGenTweaks/BirthPlanetPatch.cs index 9f38942..bc42afc 100644 --- a/UniverseGenTweaks/BirthPlanetPatch.cs +++ b/UniverseGenTweaks/BirthPlanetPatch.cs @@ -163,8 +163,8 @@ public static class BirthPlanetPatch if (veins.Count > 0) { - theme.RareVeins = veins.ToArray(); - theme.RareSettings = settings.ToArray(); + theme.RareVeins = [.. veins]; + theme.RareSettings = [.. settings]; } if (HighLuminosityBirthStar.Value)