mirror of
https://github.com/soarqin/DSP_Mods.git
synced 2026-08-05 10:50:10 +08:00
fix(UXAssist): enable AutoConstruct patch on setting change
- Rename ImmediateBuildPatch to FactoryBuildPatches - Rename AutoConstructButton to AutoConstructPatch - AutoConstructButtonEnabled now toggles the Harmony patch instead of only refreshing UI visibility - Preserve AutoConstructEnabled state when the button option is toggled
This commit is contained in:
+2
-8
@@ -7,15 +7,9 @@ using GameLogicProc = UXAssist.Common.GameLogic;
|
|||||||
|
|
||||||
namespace UXAssist.Patches.Factory;
|
namespace UXAssist.Patches.Factory;
|
||||||
|
|
||||||
internal static class ImmediateBuildPatch
|
internal static class FactoryBuildPatches
|
||||||
{
|
{
|
||||||
public static void Enable(bool enable)
|
internal class AutoConstructPatch : PatchImpl<AutoConstructPatch>
|
||||||
{
|
|
||||||
AutoConstructButton.Enable(enable);
|
|
||||||
QuickBuildAndDismantleLab.Enable(enable);
|
|
||||||
}
|
|
||||||
|
|
||||||
internal class AutoConstructButton : PatchImpl<AutoConstructButton>
|
|
||||||
{
|
{
|
||||||
private static int _lastPrebuildCount = -1;
|
private static int _lastPrebuildCount = -1;
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using BepInEx.Configuration;
|
using BepInEx.Configuration;
|
||||||
using CommonAPI.Systems;
|
using CommonAPI.Systems;
|
||||||
@@ -109,12 +109,12 @@ public static class FactoryPatch
|
|||||||
LargerAreaForTerraformEnabled.SettingChanged += (_, _) => ArchitectModePatch.LargerAreaForTerraform.Enable(LargerAreaForTerraformEnabled.Value);
|
LargerAreaForTerraformEnabled.SettingChanged += (_, _) => ArchitectModePatch.LargerAreaForTerraform.Enable(LargerAreaForTerraformEnabled.Value);
|
||||||
OffGridBuildingEnabled.SettingChanged += (_, _) => BuildToolPatch.OffGridBuilding.Enable(OffGridBuildingEnabled.Value);
|
OffGridBuildingEnabled.SettingChanged += (_, _) => BuildToolPatch.OffGridBuilding.Enable(OffGridBuildingEnabled.Value);
|
||||||
TreatStackingAsSingleEnabled.SettingChanged += (_, _) => BuildToolPatch.TreatStackingAsSingle.Enable(TreatStackingAsSingleEnabled.Value);
|
TreatStackingAsSingleEnabled.SettingChanged += (_, _) => BuildToolPatch.TreatStackingAsSingle.Enable(TreatStackingAsSingleEnabled.Value);
|
||||||
QuickBuildAndDismantleLabsEnabled.SettingChanged += (_, _) => ImmediateBuildPatch.QuickBuildAndDismantleLab.Enable(QuickBuildAndDismantleLabsEnabled.Value);
|
QuickBuildAndDismantleLabsEnabled.SettingChanged += (_, _) => FactoryBuildPatches.QuickBuildAndDismantleLab.Enable(QuickBuildAndDismantleLabsEnabled.Value);
|
||||||
ProtectVeinsFromExhaustionEnabled.SettingChanged += (_, _) => VeinProtectionPatch.ProtectVeinsFromExhaustion.Enable(ProtectVeinsFromExhaustionEnabled.Value);
|
ProtectVeinsFromExhaustionEnabled.SettingChanged += (_, _) => VeinProtectionPatch.ProtectVeinsFromExhaustion.Enable(ProtectVeinsFromExhaustionEnabled.Value);
|
||||||
DoNotRenderEntitiesEnabled.SettingChanged += (_, _) => RenderingPatch.DoNotRenderEntities.Enable(DoNotRenderEntitiesEnabled.Value);
|
DoNotRenderEntitiesEnabled.SettingChanged += (_, _) => RenderingPatch.DoNotRenderEntities.Enable(DoNotRenderEntitiesEnabled.Value);
|
||||||
DragBuildPowerPolesEnabled.SettingChanged += (_, _) => BuildToolPatch.DragBuildPowerPoles.Enable(DragBuildPowerPolesEnabled.Value);
|
DragBuildPowerPolesEnabled.SettingChanged += (_, _) => BuildToolPatch.DragBuildPowerPoles.Enable(DragBuildPowerPolesEnabled.Value);
|
||||||
DragBuildPowerPolesAlternatelyEnabled.SettingChanged += (_, _) => BuildToolPatch.DragBuildPowerPoles.AlternatelyChanged();
|
DragBuildPowerPolesAlternatelyEnabled.SettingChanged += (_, _) => BuildToolPatch.DragBuildPowerPoles.AlternatelyChanged();
|
||||||
AutoConstructButtonEnabled.SettingChanged += (_, _) => Functions.UIFunctions.UpdateToggleAutoConstructCheckButtonVisiblility();
|
AutoConstructButtonEnabled.SettingChanged += (_, _) => FactoryBuildPatches.AutoConstructPatch.Enable(AutoConstructButtonEnabled.Value);
|
||||||
AutoConstructEnabled.SettingChanged += (_, _) => Functions.UIFunctions.UpdateToggleAutoConstructCheckButtonVisiblility();
|
AutoConstructEnabled.SettingChanged += (_, _) => Functions.UIFunctions.UpdateToggleAutoConstructCheckButtonVisiblility();
|
||||||
BeltSignalsForBuyOutEnabled.SettingChanged += (_, _) => BeltSignalPatch.BeltSignalsForBuyOut.Enable(BeltSignalsForBuyOutEnabled.Value);
|
BeltSignalsForBuyOutEnabled.SettingChanged += (_, _) => BeltSignalPatch.BeltSignalsForBuyOut.Enable(BeltSignalsForBuyOutEnabled.Value);
|
||||||
TankFastFillInAndTakeOutEnabled.SettingChanged += (_, _) => BuildToolPatch.TankFastFillInAndTakeOut.Enable(TankFastFillInAndTakeOutEnabled.Value);
|
TankFastFillInAndTakeOutEnabled.SettingChanged += (_, _) => BuildToolPatch.TankFastFillInAndTakeOut.Enable(TankFastFillInAndTakeOutEnabled.Value);
|
||||||
@@ -144,11 +144,11 @@ public static class FactoryPatch
|
|||||||
ArchitectModePatch.LargerAreaForTerraform.Enable(LargerAreaForTerraformEnabled.Value);
|
ArchitectModePatch.LargerAreaForTerraform.Enable(LargerAreaForTerraformEnabled.Value);
|
||||||
BuildToolPatch.OffGridBuilding.Enable(OffGridBuildingEnabled.Value);
|
BuildToolPatch.OffGridBuilding.Enable(OffGridBuildingEnabled.Value);
|
||||||
BuildToolPatch.TreatStackingAsSingle.Enable(TreatStackingAsSingleEnabled.Value);
|
BuildToolPatch.TreatStackingAsSingle.Enable(TreatStackingAsSingleEnabled.Value);
|
||||||
ImmediateBuildPatch.QuickBuildAndDismantleLab.Enable(QuickBuildAndDismantleLabsEnabled.Value);
|
FactoryBuildPatches.QuickBuildAndDismantleLab.Enable(QuickBuildAndDismantleLabsEnabled.Value);
|
||||||
VeinProtectionPatch.ProtectVeinsFromExhaustion.Enable(ProtectVeinsFromExhaustionEnabled.Value);
|
VeinProtectionPatch.ProtectVeinsFromExhaustion.Enable(ProtectVeinsFromExhaustionEnabled.Value);
|
||||||
RenderingPatch.DoNotRenderEntities.Enable(DoNotRenderEntitiesEnabled.Value);
|
RenderingPatch.DoNotRenderEntities.Enable(DoNotRenderEntitiesEnabled.Value);
|
||||||
BuildToolPatch.DragBuildPowerPoles.Enable(DragBuildPowerPolesEnabled.Value);
|
BuildToolPatch.DragBuildPowerPoles.Enable(DragBuildPowerPolesEnabled.Value);
|
||||||
ImmediateBuildPatch.AutoConstructButton.Enable(AutoConstructButtonEnabled.Value);
|
FactoryBuildPatches.AutoConstructPatch.Enable(AutoConstructButtonEnabled.Value);
|
||||||
BeltSignalPatch.BeltSignalsForBuyOut.Enable(BeltSignalsForBuyOutEnabled.Value);
|
BeltSignalPatch.BeltSignalsForBuyOut.Enable(BeltSignalsForBuyOutEnabled.Value);
|
||||||
BuildToolPatch.TankFastFillInAndTakeOut.Enable(TankFastFillInAndTakeOutEnabled.Value);
|
BuildToolPatch.TankFastFillInAndTakeOut.Enable(TankFastFillInAndTakeOutEnabled.Value);
|
||||||
BuildingBufferPatch.TweakBuildingBuffer.Enable(TweakBuildingBufferEnabled.Value);
|
BuildingBufferPatch.TweakBuildingBuffer.Enable(TweakBuildingBufferEnabled.Value);
|
||||||
@@ -166,11 +166,11 @@ public static class FactoryPatch
|
|||||||
BuildingBufferPatch.TweakBuildingBuffer.Enable(false);
|
BuildingBufferPatch.TweakBuildingBuffer.Enable(false);
|
||||||
BuildToolPatch.TankFastFillInAndTakeOut.Enable(false);
|
BuildToolPatch.TankFastFillInAndTakeOut.Enable(false);
|
||||||
BeltSignalPatch.BeltSignalsForBuyOut.Enable(false);
|
BeltSignalPatch.BeltSignalsForBuyOut.Enable(false);
|
||||||
ImmediateBuildPatch.AutoConstructButton.Enable(false);
|
FactoryBuildPatches.AutoConstructPatch.Enable(false);
|
||||||
BuildToolPatch.DragBuildPowerPoles.Enable(false);
|
BuildToolPatch.DragBuildPowerPoles.Enable(false);
|
||||||
RenderingPatch.DoNotRenderEntities.Enable(false);
|
RenderingPatch.DoNotRenderEntities.Enable(false);
|
||||||
VeinProtectionPatch.ProtectVeinsFromExhaustion.Enable(false);
|
VeinProtectionPatch.ProtectVeinsFromExhaustion.Enable(false);
|
||||||
ImmediateBuildPatch.QuickBuildAndDismantleLab.Enable(false);
|
FactoryBuildPatches.QuickBuildAndDismantleLab.Enable(false);
|
||||||
BuildToolPatch.TreatStackingAsSingle.Enable(false);
|
BuildToolPatch.TreatStackingAsSingle.Enable(false);
|
||||||
BuildToolPatch.OffGridBuilding.Enable(false);
|
BuildToolPatch.OffGridBuilding.Enable(false);
|
||||||
ArchitectModePatch.LargerAreaForTerraform.Enable(false);
|
ArchitectModePatch.LargerAreaForTerraform.Enable(false);
|
||||||
|
|||||||
Reference in New Issue
Block a user