1
0
mirror of https://github.com/soarqin/DSP_Mods.git synced 2025-12-09 14:53:30 +08:00
This commit is contained in:
2024-03-10 18:25:51 +08:00
parent d9a4cb312d
commit 456598f2a1
14 changed files with 166 additions and 16 deletions

View File

@@ -2,8 +2,10 @@
using System.Collections.Generic;
using System.Reflection.Emit;
using BepInEx.Configuration;
using CommonAPI.Systems;
using HarmonyLib;
using UnityEngine;
using UXAssist.Common;
namespace CheatEnabler;
@@ -23,10 +25,20 @@ public static class FactoryPatch
public static ConfigEntry<bool> BoostGeothermalPowerEnabled;
private static Harmony _factoryPatch;
private static PressKeyBind _noConditionKey;
public static void Init()
{
if (_factoryPatch != null) return;
_noConditionKey = KeyBindings.RegisterKeyBinding(new BuiltinKey
{
key = new CombineKey((int)KeyCode.Q, CombineKey.ALT_COMB, ECombineKeyAction.OnceClick, false),
conflictGroup = KeyBindConflict.BUILD_MODE_1 | KeyBindConflict.KEYBOARD_KEYBIND,
name = "ToggleNoCondition",
canOverride = true
}
);
I18N.Add("KEYToggleNoCondition", "Toggle No Condition Build", "切换无条件建造");
ImmediateEnabled.SettingChanged += (_, _) => ImmediateBuild.Enable(ImmediateEnabled.Value);
ArchitectModeEnabled.SettingChanged += (_, _) => ArchitectMode.Enable(ArchitectModeEnabled.Value);
NoConditionEnabled.SettingChanged += (_, _) => NoConditionBuild.Enable(NoConditionEnabled.Value);
@@ -51,6 +63,14 @@ public static class FactoryPatch
_factoryPatch = Harmony.CreateAndPatchAll(typeof(FactoryPatch));
}
public static void OnUpdate()
{
if (_noConditionKey.keyValue)
{
NoConditionEnabled.Value = !NoConditionEnabled.Value;
}
}
public static void Uninit()
{
_factoryPatch?.UnpatchSelf();