mirror of
https://github.com/soarqin/DSP_Mods.git
synced 2025-12-09 03:33:29 +08:00
CheatEnabler: unlock orbit radius
This commit is contained in:
@@ -3,6 +3,9 @@
|
|||||||
|
|
||||||
## Changlog
|
## Changlog
|
||||||
|
|
||||||
|
* 2.3.31
|
||||||
|
+ New feature: `Unlock Dyson Sphere max orbit radius`
|
||||||
|
+ `Remove metadata consumption record in current game`: Fix implementation
|
||||||
* 2.3.30
|
* 2.3.30
|
||||||
+ Fix a warning issue while `No condition build` or `No collision` is enabled.
|
+ Fix a warning issue while `No condition build` or `No collision` is enabled.
|
||||||
+ Increase performance for `Finish build immediately` greatly on pasting large blueprints.
|
+ Increase performance for `Finish build immediately` greatly on pasting large blueprints.
|
||||||
@@ -153,6 +156,9 @@
|
|||||||
|
|
||||||
## 更新日志
|
## 更新日志
|
||||||
|
|
||||||
|
* 2.3.31
|
||||||
|
+ 新功能:`解锁戴森球最大轨道半径`
|
||||||
|
+ `移除当前存档的元数据消耗记录`:修复实现
|
||||||
* 2.3.30
|
* 2.3.30
|
||||||
+ 修复了启用`无条件建造`或`无碰撞`时的警告问题
|
+ 修复了启用`无条件建造`或`无碰撞`时的警告问题
|
||||||
+ 粘贴大规模蓝图时大幅提升`立即完成建造`的性能表现
|
+ 粘贴大规模蓝图时大幅提升`立即完成建造`的性能表现
|
||||||
|
|||||||
@@ -81,6 +81,10 @@ public class CheatEnabler : BaseUnityPlugin
|
|||||||
"Overclock ejector");
|
"Overclock ejector");
|
||||||
DysonSpherePatch.OverclockSiloEnabled = Config.Bind("DysonSphere", "OverclockSilo", false,
|
DysonSpherePatch.OverclockSiloEnabled = Config.Bind("DysonSphere", "OverclockSilo", false,
|
||||||
"Overclock silo");
|
"Overclock silo");
|
||||||
|
DysonSpherePatch.UnlockMaxOrbitRadiusEnabled = Config.Bind("DysonSphere", "UnlockMaxOrbitRadius", false,
|
||||||
|
"Unlock Dyson Sphere max orbit radius");
|
||||||
|
DysonSpherePatch.UnlockMaxOrbitRadiusValue = Config.Bind("DysonSphere", "MaxOrbitRadiusValue", 10_000_000f,
|
||||||
|
"Unlocked Dyson Sphere max orbit radius value");
|
||||||
CombatPatch.MechaInvincibleEnabled = Config.Bind("Battle", "MechaInvincible", false,
|
CombatPatch.MechaInvincibleEnabled = Config.Bind("Battle", "MechaInvincible", false,
|
||||||
"Mecha and Drones/Fleets invincible");
|
"Mecha and Drones/Fleets invincible");
|
||||||
CombatPatch.BuildingsInvincibleEnabled = Config.Bind("Battle", "BuildingsInvincible", false,
|
CombatPatch.BuildingsInvincibleEnabled = Config.Bind("Battle", "BuildingsInvincible", false,
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<TargetFramework>net472</TargetFramework>
|
<TargetFramework>net472</TargetFramework>
|
||||||
<BepInExPluginGuid>org.soardev.cheatenabler</BepInExPluginGuid>
|
<BepInExPluginGuid>org.soardev.cheatenabler</BepInExPluginGuid>
|
||||||
<Description>DSP MOD - CheatEnabler</Description>
|
<Description>DSP MOD - CheatEnabler</Description>
|
||||||
<Version>2.3.30</Version>
|
<Version>2.3.31</Version>
|
||||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||||
<LangVersion>latest</LangVersion>
|
<LangVersion>latest</LangVersion>
|
||||||
<PackageId>CheatEnabler</PackageId>
|
<PackageId>CheatEnabler</PackageId>
|
||||||
|
|||||||
@@ -3,11 +3,12 @@ using System.Collections.Generic;
|
|||||||
using System.Reflection.Emit;
|
using System.Reflection.Emit;
|
||||||
using BepInEx.Configuration;
|
using BepInEx.Configuration;
|
||||||
using HarmonyLib;
|
using HarmonyLib;
|
||||||
|
using UnityEngine;
|
||||||
using UXAssist.Common;
|
using UXAssist.Common;
|
||||||
|
|
||||||
namespace CheatEnabler.Patches;
|
namespace CheatEnabler.Patches;
|
||||||
|
|
||||||
public class DysonSpherePatch: PatchImpl<DysonSpherePatch>
|
public class DysonSpherePatch : PatchImpl<DysonSpherePatch>
|
||||||
{
|
{
|
||||||
public static ConfigEntry<bool> SkipBulletEnabled;
|
public static ConfigEntry<bool> SkipBulletEnabled;
|
||||||
public static ConfigEntry<bool> SkipAbsorbEnabled;
|
public static ConfigEntry<bool> SkipAbsorbEnabled;
|
||||||
@@ -15,6 +16,8 @@ public class DysonSpherePatch: PatchImpl<DysonSpherePatch>
|
|||||||
public static ConfigEntry<bool> EjectAnywayEnabled;
|
public static ConfigEntry<bool> EjectAnywayEnabled;
|
||||||
public static ConfigEntry<bool> OverclockEjectorEnabled;
|
public static ConfigEntry<bool> OverclockEjectorEnabled;
|
||||||
public static ConfigEntry<bool> OverclockSiloEnabled;
|
public static ConfigEntry<bool> OverclockSiloEnabled;
|
||||||
|
public static ConfigEntry<bool> UnlockMaxOrbitRadiusEnabled;
|
||||||
|
public static ConfigEntry<float> UnlockMaxOrbitRadiusValue;
|
||||||
private static bool _instantAbsorb;
|
private static bool _instantAbsorb;
|
||||||
|
|
||||||
public static void Init()
|
public static void Init()
|
||||||
@@ -25,6 +28,7 @@ public class DysonSpherePatch: PatchImpl<DysonSpherePatch>
|
|||||||
EjectAnywayEnabled.SettingChanged += (_, _) => EjectAnywayPatch.Enable(EjectAnywayEnabled.Value);
|
EjectAnywayEnabled.SettingChanged += (_, _) => EjectAnywayPatch.Enable(EjectAnywayEnabled.Value);
|
||||||
OverclockEjectorEnabled.SettingChanged += (_, _) => OverclockEjector.Enable(OverclockEjectorEnabled.Value);
|
OverclockEjectorEnabled.SettingChanged += (_, _) => OverclockEjector.Enable(OverclockEjectorEnabled.Value);
|
||||||
OverclockSiloEnabled.SettingChanged += (_, _) => OverclockSilo.Enable(OverclockSiloEnabled.Value);
|
OverclockSiloEnabled.SettingChanged += (_, _) => OverclockSilo.Enable(OverclockSiloEnabled.Value);
|
||||||
|
UnlockMaxOrbitRadiusEnabled.SettingChanged += (_, _) => UnlockMaxOrbitRadius.Enable(UnlockMaxOrbitRadiusEnabled.Value);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void Start()
|
public static void Start()
|
||||||
@@ -35,6 +39,7 @@ public class DysonSpherePatch: PatchImpl<DysonSpherePatch>
|
|||||||
EjectAnywayPatch.Enable(EjectAnywayEnabled.Value);
|
EjectAnywayPatch.Enable(EjectAnywayEnabled.Value);
|
||||||
OverclockEjector.Enable(OverclockEjectorEnabled.Value);
|
OverclockEjector.Enable(OverclockEjectorEnabled.Value);
|
||||||
OverclockSilo.Enable(OverclockSiloEnabled.Value);
|
OverclockSilo.Enable(OverclockSiloEnabled.Value);
|
||||||
|
UnlockMaxOrbitRadius.Enable(UnlockMaxOrbitRadiusEnabled.Value);
|
||||||
Enable(true);
|
Enable(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -47,6 +52,7 @@ public class DysonSpherePatch: PatchImpl<DysonSpherePatch>
|
|||||||
EjectAnywayPatch.Enable(false);
|
EjectAnywayPatch.Enable(false);
|
||||||
OverclockEjector.Enable(false);
|
OverclockEjector.Enable(false);
|
||||||
OverclockSilo.Enable(false);
|
OverclockSilo.Enable(false);
|
||||||
|
UnlockMaxOrbitRadius.Enable(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
[HarmonyTranspiler]
|
[HarmonyTranspiler]
|
||||||
@@ -83,7 +89,7 @@ public class DysonSpherePatch: PatchImpl<DysonSpherePatch>
|
|||||||
return matcher.InstructionEnumeration();
|
return matcher.InstructionEnumeration();
|
||||||
}
|
}
|
||||||
|
|
||||||
private class SkipBulletPatch: PatchImpl<SkipBulletPatch>
|
private class SkipBulletPatch : PatchImpl<SkipBulletPatch>
|
||||||
{
|
{
|
||||||
private static long _sailLifeTime;
|
private static long _sailLifeTime;
|
||||||
private static DysonSailCache[][] _sailsCache;
|
private static DysonSailCache[][] _sailsCache;
|
||||||
@@ -281,7 +287,7 @@ public class DysonSpherePatch: PatchImpl<DysonSpherePatch>
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class SkipAbsorbPatch: PatchImpl<SkipAbsorbPatch>
|
private class SkipAbsorbPatch : PatchImpl<SkipAbsorbPatch>
|
||||||
{
|
{
|
||||||
protected override void OnEnable()
|
protected override void OnEnable()
|
||||||
{
|
{
|
||||||
@@ -333,7 +339,7 @@ public class DysonSpherePatch: PatchImpl<DysonSpherePatch>
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class QuickAbsorbPatch: PatchImpl<QuickAbsorbPatch>
|
private class QuickAbsorbPatch : PatchImpl<QuickAbsorbPatch>
|
||||||
{
|
{
|
||||||
protected override void OnEnable()
|
protected override void OnEnable()
|
||||||
{
|
{
|
||||||
@@ -384,7 +390,7 @@ public class DysonSpherePatch: PatchImpl<DysonSpherePatch>
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class EjectAnywayPatch: PatchImpl<EjectAnywayPatch>
|
private class EjectAnywayPatch : PatchImpl<EjectAnywayPatch>
|
||||||
{
|
{
|
||||||
[HarmonyTranspiler]
|
[HarmonyTranspiler]
|
||||||
[HarmonyPatch(typeof(EjectorComponent), nameof(EjectorComponent.InternalUpdate))]
|
[HarmonyPatch(typeof(EjectorComponent), nameof(EjectorComponent.InternalUpdate))]
|
||||||
@@ -414,7 +420,7 @@ public class DysonSpherePatch: PatchImpl<DysonSpherePatch>
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class OverclockEjector: PatchImpl<OverclockEjector>
|
private class OverclockEjector : PatchImpl<OverclockEjector>
|
||||||
{
|
{
|
||||||
[HarmonyTranspiler]
|
[HarmonyTranspiler]
|
||||||
[HarmonyPatch(typeof(EjectorComponent), nameof(EjectorComponent.InternalUpdate))]
|
[HarmonyPatch(typeof(EjectorComponent), nameof(EjectorComponent.InternalUpdate))]
|
||||||
@@ -467,7 +473,7 @@ public class DysonSpherePatch: PatchImpl<DysonSpherePatch>
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class OverclockSilo: PatchImpl<OverclockSilo>
|
private class OverclockSilo : PatchImpl<OverclockSilo>
|
||||||
{
|
{
|
||||||
[HarmonyTranspiler]
|
[HarmonyTranspiler]
|
||||||
[HarmonyPatch(typeof(SiloComponent), nameof(SiloComponent.InternalUpdate))]
|
[HarmonyPatch(typeof(SiloComponent), nameof(SiloComponent.InternalUpdate))]
|
||||||
@@ -519,4 +525,53 @@ public class DysonSpherePatch: PatchImpl<DysonSpherePatch>
|
|||||||
return matcher.InstructionEnumeration();
|
return matcher.InstructionEnumeration();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private class UnlockMaxOrbitRadius : PatchImpl<UnlockMaxOrbitRadius>
|
||||||
|
{
|
||||||
|
protected override void OnEnable()
|
||||||
|
{
|
||||||
|
OnViewStarChange(null, null);
|
||||||
|
UnlockMaxOrbitRadiusValue.SettingChanged += OnViewStarChange;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnDisable()
|
||||||
|
{
|
||||||
|
OnViewStarChange(null, null);
|
||||||
|
UnlockMaxOrbitRadiusValue.SettingChanged -= OnViewStarChange;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void OnViewStarChange(object o, EventArgs e)
|
||||||
|
{
|
||||||
|
var dysonEditor = UIRoot.instance?.uiGame?.dysonEditor;
|
||||||
|
if (dysonEditor == null || !dysonEditor.gameObject.activeSelf) return;
|
||||||
|
dysonEditor.selection?.onViewStarChange?.Invoke();
|
||||||
|
}
|
||||||
|
|
||||||
|
[HarmonyTranspiler]
|
||||||
|
[HarmonyPatch(typeof(DysonSphere), nameof(DysonSphere.CheckLayerRadius))]
|
||||||
|
[HarmonyPatch(typeof(DysonSphere), nameof(DysonSphere.CheckSwarmRadius))]
|
||||||
|
[HarmonyPatch(typeof(DysonSphere), nameof(DysonSphere.QueryLayerRadius))]
|
||||||
|
[HarmonyPatch(typeof(DysonSphere), nameof(DysonSphere.QuerySwarmRadius))]
|
||||||
|
[HarmonyPatch(typeof(UIDEAddLayerDialogue), nameof(UIDEAddLayerDialogue.OnViewStarChange))]
|
||||||
|
[HarmonyPatch(typeof(UIDEAddSwarmDialogue), nameof(UIDEAddSwarmDialogue.OnViewStarChange))]
|
||||||
|
[HarmonyPatch(typeof(UIDysonEditor), nameof(UIDysonEditor.OnViewStarChange))]
|
||||||
|
[HarmonyPatch(typeof(UIDESwarmOrbitInfo), nameof(UIDESwarmOrbitInfo._OnInit))]
|
||||||
|
[HarmonyPatch(typeof(UIDysonOrbitPreview), nameof(UIDysonOrbitPreview.UpdateAscNodeGizmos))]
|
||||||
|
private static IEnumerable<CodeInstruction> MaxOrbitRadiusPatch_Transpiler(IEnumerable<CodeInstruction> instructions, ILGenerator generator)
|
||||||
|
{
|
||||||
|
var matcher = new CodeMatcher(instructions, generator);
|
||||||
|
matcher.MatchForward(false,
|
||||||
|
new CodeMatch(OpCodes.Ldfld, AccessTools.Field(typeof(DysonSphere), nameof(DysonSphere.maxOrbitRadius)))
|
||||||
|
);
|
||||||
|
matcher.Repeat(m =>
|
||||||
|
{
|
||||||
|
m.Advance(1).InsertAndAdvance(
|
||||||
|
new CodeInstruction(OpCodes.Pop),
|
||||||
|
new CodeInstruction(OpCodes.Ldsfld, AccessTools.Field(typeof(DysonSpherePatch), nameof(UnlockMaxOrbitRadiusValue))),
|
||||||
|
new CodeInstruction(OpCodes.Call, AccessTools.PropertyGetter(typeof(ConfigEntry<float>), nameof(ConfigEntry<float>.Value)))
|
||||||
|
);
|
||||||
|
});
|
||||||
|
return matcher.InstructionEnumeration();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ using CheatEnabler.Patches;
|
|||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UXAssist.UI;
|
using UXAssist.UI;
|
||||||
using UXAssist.Common;
|
using UXAssist.Common;
|
||||||
|
using System;
|
||||||
|
|
||||||
namespace CheatEnabler;
|
namespace CheatEnabler;
|
||||||
|
|
||||||
@@ -63,6 +64,7 @@ public static class UIConfigWindow
|
|||||||
I18N.Add("Eject anyway", "Eject anyway", "全球弹射");
|
I18N.Add("Eject anyway", "Eject anyway", "全球弹射");
|
||||||
I18N.Add("Overclock Ejectors", "Overclock Ejectors (10x)", "高速弹射器(10倍射速)");
|
I18N.Add("Overclock Ejectors", "Overclock Ejectors (10x)", "高速弹射器(10倍射速)");
|
||||||
I18N.Add("Overclock Silos", "Overclock Silos (10x)", "高速发射井(10倍射速)");
|
I18N.Add("Overclock Silos", "Overclock Silos (10x)", "高速发射井(10倍射速)");
|
||||||
|
I18N.Add("Unlock Dyson Sphere max orbit radius", "Unlock Dyson Sphere max orbit radius", "解锁戴森球最大轨道半径");
|
||||||
I18N.Add("Complete Dyson Sphere shells instantly", "Complete Dyson Sphere shells instantly", "立即完成戴森壳建造");
|
I18N.Add("Complete Dyson Sphere shells instantly", "Complete Dyson Sphere shells instantly", "立即完成戴森壳建造");
|
||||||
I18N.Add("Terraform without enough soil piles", "Terraform without enough soil piles", "沙土不够时依然可以整改地形");
|
I18N.Add("Terraform without enough soil piles", "Terraform without enough soil piles", "沙土不够时依然可以整改地形");
|
||||||
I18N.Add("Instant hand-craft", "Instant hand-craft", "快速手动制造");
|
I18N.Add("Instant hand-craft", "Instant hand-craft", "快速手动制造");
|
||||||
@@ -77,6 +79,26 @@ public static class UIConfigWindow
|
|||||||
MyConfigWindow.OnUpdateUI += UpdateUI;
|
MyConfigWindow.OnUpdateUI += UpdateUI;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class MaxOrbitRadiusValueMapper : MyWindow.RangeValueMapper<float>
|
||||||
|
{
|
||||||
|
public MaxOrbitRadiusValueMapper() : base(1, 20)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int ValueToIndex(float value)
|
||||||
|
{
|
||||||
|
int result = Mathf.FloorToInt(value / 500_000f);
|
||||||
|
if (result < 1) result = 1;
|
||||||
|
if (result > 20) result = 20;
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override float IndexToValue(int index)
|
||||||
|
{
|
||||||
|
return index * 500_000f;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static void CreateUI(MyConfigWindow wnd, RectTransform trans)
|
private static void CreateUI(MyConfigWindow wnd, RectTransform trans)
|
||||||
{
|
{
|
||||||
_windowTrans = trans;
|
_windowTrans = trans;
|
||||||
@@ -138,12 +160,20 @@ public static class UIConfigWindow
|
|||||||
wnd.AddCheckBox(x, y, tab2, FactoryPatch.GreaterPowerUsageInLogisticsEnabled, "Increase maximum power usage in Logistic Stations and Advanced Mining Machines");
|
wnd.AddCheckBox(x, y, tab2, FactoryPatch.GreaterPowerUsageInLogisticsEnabled, "Increase maximum power usage in Logistic Stations and Advanced Mining Machines");
|
||||||
y += 36f;
|
y += 36f;
|
||||||
wnd.AddCheckBox(x, y, tab2, FactoryPatch.ControlPanelRemoteLogisticsEnabled, "Retrieve/Place items from/to remote planets on logistics control panel");
|
wnd.AddCheckBox(x, y, tab2, FactoryPatch.ControlPanelRemoteLogisticsEnabled, "Retrieve/Place items from/to remote planets on logistics control panel");
|
||||||
|
|
||||||
FactoryPatch.BeltSignalGeneratorEnabled.SettingChanged += (_, _) =>
|
|
||||||
{
|
{
|
||||||
OnBeltSignalChanged();
|
FactoryPatch.BeltSignalGeneratorEnabled.SettingChanged += OnBeltSignalChanged;
|
||||||
};
|
wnd.OnFree += () => { FactoryPatch.BeltSignalGeneratorEnabled.SettingChanged -= OnBeltSignalChanged; };
|
||||||
OnBeltSignalChanged();
|
OnBeltSignalChanged(null, null);
|
||||||
|
void OnBeltSignalChanged(object o, EventArgs e)
|
||||||
|
{
|
||||||
|
var on = FactoryPatch.BeltSignalGeneratorEnabled.Value;
|
||||||
|
cb1.gameObject.SetActive(on);
|
||||||
|
cb2.gameObject.SetActive(on);
|
||||||
|
cb3.gameObject.SetActive(on);
|
||||||
|
cb4.gameObject.SetActive(on);
|
||||||
|
tip1.gameObject.SetActive(on);
|
||||||
|
}
|
||||||
|
}
|
||||||
x = 350f;
|
x = 350f;
|
||||||
y = 10f;
|
y = 10f;
|
||||||
wnd.AddCheckBox(x, y, tab2, FactoryPatch.RemovePowerSpaceLimitEnabled, "Remove power space limit");
|
wnd.AddCheckBox(x, y, tab2, FactoryPatch.RemovePowerSpaceLimitEnabled, "Remove power space limit");
|
||||||
@@ -212,6 +242,20 @@ public static class UIConfigWindow
|
|||||||
wnd.AddCheckBox(x, y, tab4, DysonSpherePatch.OverclockEjectorEnabled, "Overclock Ejectors");
|
wnd.AddCheckBox(x, y, tab4, DysonSpherePatch.OverclockEjectorEnabled, "Overclock Ejectors");
|
||||||
y += 36f;
|
y += 36f;
|
||||||
wnd.AddCheckBox(x, y, tab4, DysonSpherePatch.OverclockSiloEnabled, "Overclock Silos");
|
wnd.AddCheckBox(x, y, tab4, DysonSpherePatch.OverclockSiloEnabled, "Overclock Silos");
|
||||||
|
y += 36f;
|
||||||
|
wnd.AddCheckBox(x, y, tab4, DysonSpherePatch.UnlockMaxOrbitRadiusEnabled, "Unlock Dyson Sphere max orbit radius");
|
||||||
|
y += 30f;
|
||||||
|
{
|
||||||
|
var slider = wnd.AddSlider(x + 20, y, tab4, DysonSpherePatch.UnlockMaxOrbitRadiusValue, new MaxOrbitRadiusValueMapper(), "##,#m").WithSmallerHandle(-40f);
|
||||||
|
DysonSpherePatch.UnlockMaxOrbitRadiusEnabled.SettingChanged += UnlockMaxOrbitRadiusChanged;
|
||||||
|
wnd.OnFree += () => { DysonSpherePatch.UnlockMaxOrbitRadiusEnabled.SettingChanged -= UnlockMaxOrbitRadiusChanged; };
|
||||||
|
UnlockMaxOrbitRadiusChanged(null, null);
|
||||||
|
void UnlockMaxOrbitRadiusChanged(object o, EventArgs e)
|
||||||
|
{
|
||||||
|
slider.slider.enabled = DysonSpherePatch.UnlockMaxOrbitRadiusEnabled.Value;
|
||||||
|
}
|
||||||
|
;
|
||||||
|
}
|
||||||
x = 300f;
|
x = 300f;
|
||||||
y = 10f;
|
y = 10f;
|
||||||
wnd.AddButton(x, y, 300f, tab4, "Complete Dyson Sphere shells instantly", 16, "button-complete-dyson-sphere-shells-instantly", DysonSphereFunctions.CompleteShellsInstantly);
|
wnd.AddButton(x, y, 300f, tab4, "Complete Dyson Sphere shells instantly", 16, "button-complete-dyson-sphere-shells-instantly", DysonSphereFunctions.CompleteShellsInstantly);
|
||||||
@@ -229,17 +273,6 @@ public static class UIConfigWindow
|
|||||||
wnd.AddButton(x, y, 200f, tab5, "Teleport to outer space", 16, "button-teleport-to-outer-space", PlayerFunctions.TeleportToOuterSpace);
|
wnd.AddButton(x, y, 200f, tab5, "Teleport to outer space", 16, "button-teleport-to-outer-space", PlayerFunctions.TeleportToOuterSpace);
|
||||||
y += 36f;
|
y += 36f;
|
||||||
wnd.AddButton(x, y, 200f, tab5, "Teleport to selected astronomical", 16, "button-teleport-to-selected-astronomical", PlayerFunctions.TeleportToSelectedAstronomical);
|
wnd.AddButton(x, y, 200f, tab5, "Teleport to selected astronomical", 16, "button-teleport-to-selected-astronomical", PlayerFunctions.TeleportToSelectedAstronomical);
|
||||||
return;
|
|
||||||
|
|
||||||
void OnBeltSignalChanged()
|
|
||||||
{
|
|
||||||
var on = FactoryPatch.BeltSignalGeneratorEnabled.Value;
|
|
||||||
cb1.gameObject.SetActive(on);
|
|
||||||
cb2.gameObject.SetActive(on);
|
|
||||||
cb3.gameObject.SetActive(on);
|
|
||||||
cb4.gameObject.SetActive(on);
|
|
||||||
tip1.gameObject.SetActive(on);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void UpdateUI()
|
private static void UpdateUI()
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "CheatEnabler",
|
"name": "CheatEnabler",
|
||||||
"version_number": "2.3.30",
|
"version_number": "2.3.31",
|
||||||
"website_url": "https://github.com/soarqin/DSP_Mods/tree/master/CheatEnabler",
|
"website_url": "https://github.com/soarqin/DSP_Mods/tree/master/CheatEnabler",
|
||||||
"description": "Add various cheat functions while disabling abnormal determinants / 添加一些作弊功能,同时屏蔽异常检测",
|
"description": "Add various cheat functions while disabling abnormal determinants / 添加一些作弊功能,同时屏蔽异常检测",
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
|
|||||||
Reference in New Issue
Block a user