mirror of
https://github.com/soarqin/DSP_Mods.git
synced 2026-03-23 01:03:28 +08:00
Fix potential bugs in UXAssist and CheatEnabler
UXAssist: - PlanetFunctions: fix infinite loop in constructStats cleanup (i++ -> i--) - PlanetFunctions: skip entityPool slot 0 (sentinel) in DismantleAll foreach - PlanetFunctions: fix belt buffer walk infinite loop when buffer[j]==250, add cargoPool bounds check - FactoryPatch: fix UnfixProto guard condition (< 3 -> < PowerPoleIds.Length) - FactoryPatch: fix Array.Resize(index*2) -> (index+1)*2 to handle index==0 - LogisticsPatch: fix UpdateStorageMax early-exit to check both local and remote - LogisticsPatch: fix storage max scan to use Math.Max instead of last-write - LogisticsPatch: add divide-by-zero guard in station storage ratio calculation - LogisticsPatch: fix station entry right-click delegates using per-instance dictionary instead of shared static array to prevent unsubscribe mismatch - LogisticsPatch: add null checks for GameObject.Find results in InitGUI - GamePatch: log exception in previously empty catch block - GameLogic: invoke event handlers individually with try/catch so one failing subscriber does not abort subsequent ones - DysonSpherePatch/LogisticsPatch/PersistPatch/PlayerPatch: replace matcher.Labels = null with matcher.Labels = [] (5 sites) - UIConfigWindow: remove duplicate I18N.Add for 'Outgoing integration count' - UIConfigWindow: remove two orphaned y += 36f spacing increments CheatEnabler: - GamePatch: add null check for GameMain.gameScenario in AbnormalDisabler.OnEnable - FactoryPatch: add null check for GameMain.mainPlayer in TakeTailItemsPatch and GetItemCountPatch - FactoryPatch: add null check for GameMain.mainPlayer in ConstructionSystem_GameTick_Prefix - FactoryPatch: fix _portalFrom.Remove(beltId) -> Remove(v) (wrong key) - FactoryPatch: add null guard for GameMain.data before iterating factories in WindTurbinesPowerGlobalCoverage - DysonSphereFunctions: fix shell pool rebuild loop writing all shells to slot 1 (id=1); now uses j+1 per iteration - DysonSphereFunctions: replace GameMain.gameScenario.NotifyOnPlanDysonShell() with null-conditional call (?.) at 4 sites - DysonSpherePatch: fix SkipAbsorbPatch/QuickAbsorbPatch sharing _instantAbsorb: OnDisable now recalculates the flag instead of unconditionally clearing it - PlayerFunctions: add null check for GameMain.galaxy in TeleportToOuterSpace - UIConfigWindow: add null guard in UpdateButtons before accessing button fields - PlanetFunctions: add colliderId bounds check in BuryAllVeins
This commit is contained in:
@@ -93,7 +93,6 @@ public static class UIConfigWindow
|
||||
I18N.Add("Vessel transport range", "Vessel transport range", "运输船最远路程");
|
||||
I18N.Add("Warp distance", "Warp distance", "曲速启用路程");
|
||||
I18N.Add("Min. Load of Vessels", "Min. Load of Vessels", "运输船起送量");
|
||||
I18N.Add("Outgoing integration count", "Outgoing integration count", "输出货物集装数量");
|
||||
I18N.Add("Include Orbital Collector", "Include Orbital Collector", "包含轨道采集器");
|
||||
I18N.Add("Warpers required", "Warpers required", "翘曲器必备");
|
||||
I18N.Add("Count of Vessels filled", "Count of Vessels filled", "填充的运输船数量");
|
||||
@@ -767,8 +766,7 @@ public static class UIConfigWindow
|
||||
x = 10;
|
||||
y = 10;
|
||||
wnd.AddCheckBox(x, y, tab6, UIPatch.PlanetVeinUtilizationEnabled, "Planet vein utilization");
|
||||
y += 36f;
|
||||
y += 36f;
|
||||
y += 72f;
|
||||
wnd.AddCheckBox(x, y, tab6, TechPatch.BatchBuyoutTechEnabled, "Buy out techs with their prerequisites");
|
||||
y += 36f;
|
||||
wnd.AddCheckBox(x, y, tab6, TechPatch.SorterCargoStackingEnabled, "Restore upgrades of \"Sorter Cargo Stacking\" on panel");
|
||||
@@ -778,8 +776,7 @@ public static class UIConfigWindow
|
||||
wnd.AddButton(x, y, 300f, tab6, "Set \"Sorter Cargo Stacking\" to unresearched state", 16, "button-remove-cargo-stacking", TechFunctions.RemoveCargoStackingTechs);
|
||||
y += 36f;
|
||||
wnd.AddButton(x, y, 300f, tab6, "Unlock all techs with metadata", 16, "button-unlock-all-techs-with-metadata", TechFunctions.UnlockAllProtoWithMetadataAndPrompt);
|
||||
y += 36f;
|
||||
y += 36f;
|
||||
y += 72f;
|
||||
wnd.AddButton(x, y, 300f, tab6, "Open Dark Fog Communicator", 16, "button-open-df-communicator", () =>
|
||||
{
|
||||
if (!(GameMain.data?.gameDesc.isCombatMode ?? false)) return;
|
||||
|
||||
Reference in New Issue
Block a user