Added config for delays
This commit is contained in:
@@ -4,19 +4,23 @@ namespace AutomaticShipSystems
|
|||||||
{
|
{
|
||||||
internal class Configs
|
internal class Configs
|
||||||
{
|
{
|
||||||
internal const double CircuitBreakerDelay = 30 * 1000;
|
|
||||||
internal const double ThrusterBoosterDelay = 60 * 1000;
|
|
||||||
internal const double TrimDelay = 5 * 60 * 1000;
|
|
||||||
|
|
||||||
internal static ConfigEntry<bool> CircuitBreakerConfig;
|
internal static ConfigEntry<bool> CircuitBreakerConfig;
|
||||||
internal static ConfigEntry<bool> ThrusterBoosterConfig;
|
internal static ConfigEntry<bool> ThrusterBoosterConfig;
|
||||||
internal static ConfigEntry<bool> TrimConfig;
|
internal static ConfigEntry<bool> TrimConfig;
|
||||||
|
|
||||||
|
internal static ConfigEntry<double> CircuitBreakerDelay;
|
||||||
|
internal static ConfigEntry<double> ThrusterBoosterDelay;
|
||||||
|
internal static ConfigEntry<double> TrimDelay;
|
||||||
|
|
||||||
internal static void Load(BepinPlugin plugin)
|
internal static void Load(BepinPlugin plugin)
|
||||||
{
|
{
|
||||||
CircuitBreakerConfig = plugin.Config.Bind("AutomaticShipSystems", "CircuitBreakers", true);
|
CircuitBreakerConfig = plugin.Config.Bind("AutomaticShipSystems", "CircuitBreakers", true);
|
||||||
ThrusterBoosterConfig = plugin.Config.Bind("AutomaticShipSystems", "ThrusterBooster", true);
|
ThrusterBoosterConfig = plugin.Config.Bind("AutomaticShipSystems", "ThrusterBooster", true);
|
||||||
TrimConfig = plugin.Config.Bind("AutomaticShipSystems", "Trim", true);
|
TrimConfig = plugin.Config.Bind("AutomaticShipSystems", "Trim", true);
|
||||||
|
|
||||||
|
CircuitBreakerDelay = plugin.Config.Bind("AutomaticShipSystems", "CircuitBreakersTimer", (double)(30 * 1000));
|
||||||
|
ThrusterBoosterDelay = plugin.Config.Bind("AutomaticShipSystems", "ThrusterBoosterTimer", (double)(60 * 1000));
|
||||||
|
TrimDelay = plugin.Config.Bind("AutomaticShipSystems", "TrimTimer", (double)(5 * 60 * 1000));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ namespace AutomaticShipSystems
|
|||||||
ClientGame.Current?.PlayerShip?.GetModule<Helm>()?.Engine?.GetComponentsInChildren<Enhancement>()?.Contains(__instance) == true &&
|
ClientGame.Current?.PlayerShip?.GetModule<Helm>()?.Engine?.GetComponentsInChildren<Enhancement>()?.Contains(__instance) == true &&
|
||||||
newState == EnhancementState.Inactive)
|
newState == EnhancementState.Inactive)
|
||||||
{
|
{
|
||||||
Tools.DelayDoUnique(__instance, () => ResetTrim(__instance), Configs.TrimDelay);
|
Tools.DelayDoUnique(__instance, () => ResetTrim(__instance), Configs.TrimDelay.Value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -55,7 +55,7 @@ namespace AutomaticShipSystems
|
|||||||
{
|
{
|
||||||
if (trim.CurrentState.Value == EnhancementState.Inactive)
|
if (trim.CurrentState.Value == EnhancementState.Inactive)
|
||||||
{
|
{
|
||||||
Tools.DelayDoUnique(trim, () => ResetTrim(trim), Configs.TrimDelay);
|
Tools.DelayDoUnique(trim, () => ResetTrim(trim), Configs.TrimDelay.Value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using VoidManager.CustomGUI;
|
using UnityEngine;
|
||||||
|
using VoidManager.CustomGUI;
|
||||||
using VoidManager.Utilities;
|
using VoidManager.Utilities;
|
||||||
|
|
||||||
namespace AutomaticShipSystems
|
namespace AutomaticShipSystems
|
||||||
@@ -9,9 +10,16 @@ namespace AutomaticShipSystems
|
|||||||
|
|
||||||
public override void Draw()
|
public override void Draw()
|
||||||
{
|
{
|
||||||
GUITools.DrawCheckbox("Circuit Breakers", ref Configs.CircuitBreakerConfig);
|
GUILayout.Label("Timers in MS. 1000 is equal to 1 second.\n");
|
||||||
GUITools.DrawCheckbox("Thruster Boosters", ref Configs.ThrusterBoosterConfig);
|
|
||||||
GUITools.DrawCheckbox("Trims", ref Configs.TrimConfig);
|
GUITools.DrawCheckbox("Auto Circuit Breakers Enabled", ref Configs.CircuitBreakerConfig);
|
||||||
|
GUITools.DrawTextField("Circut Breaker Timer", ref Configs.CircuitBreakerDelay);
|
||||||
|
GUILayout.Label(string.Empty);
|
||||||
|
GUITools.DrawCheckbox("Auto Thruster Boosters Enabled", ref Configs.ThrusterBoosterConfig);
|
||||||
|
GUITools.DrawTextField("Thruster Booster Timer", ref Configs.ThrusterBoosterDelay);
|
||||||
|
GUILayout.Label(string.Empty);
|
||||||
|
GUITools.DrawCheckbox("Auto Trims Enabled", ref Configs.TrimConfig);
|
||||||
|
GUITools.DrawTextField("Trim Timer", ref Configs.TrimDelay);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ namespace AutomaticShipSystems
|
|||||||
|
|
||||||
if (!isOn && Configs.CircuitBreakerConfig.Value)
|
if (!isOn && Configs.CircuitBreakerConfig.Value)
|
||||||
{
|
{
|
||||||
Tools.DelayDoUnique(__instance, () => ResetCircuitBreakers(__instance), Configs.CircuitBreakerDelay);
|
Tools.DelayDoUnique(__instance, () => ResetCircuitBreakers(__instance), Configs.CircuitBreakerDelay.Value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -49,7 +49,7 @@ namespace AutomaticShipSystems
|
|||||||
{
|
{
|
||||||
if (!powerBreaker.IsOn.Value)
|
if (!powerBreaker.IsOn.Value)
|
||||||
{
|
{
|
||||||
Tools.DelayDoUnique(powerBreaker, () => powerBreaker.IsOn.RequestChange(true), Configs.CircuitBreakerDelay);
|
Tools.DelayDoUnique(powerBreaker, () => powerBreaker.IsOn.RequestChange(true), Configs.CircuitBreakerDelay.Value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ namespace AutomaticShipSystems
|
|||||||
|
|
||||||
if (state == ThrusterBoosterState.Off && Configs.ThrusterBoosterConfig.Value)
|
if (state == ThrusterBoosterState.Off && Configs.ThrusterBoosterConfig.Value)
|
||||||
{
|
{
|
||||||
Tools.DelayDoUnique(__instance, () => ChargeThrusterBooster(__instance), Configs.ThrusterBoosterDelay);
|
Tools.DelayDoUnique(__instance, () => ChargeThrusterBooster(__instance), Configs.ThrusterBoosterDelay.Value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -56,7 +56,7 @@ namespace AutomaticShipSystems
|
|||||||
{
|
{
|
||||||
if (booster.State == ThrusterBoosterState.Off)
|
if (booster.State == ThrusterBoosterState.Off)
|
||||||
{
|
{
|
||||||
Tools.DelayDoUnique(booster, () => ChargeThrusterBooster(booster), Configs.ThrusterBoosterDelay);
|
Tools.DelayDoUnique(booster, () => ChargeThrusterBooster(booster), Configs.ThrusterBoosterDelay.Value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user