using OWML.Common; namespace QSB.Utility; /// /// purely organizational class to store all debug settings /// public class DebugSettings { public bool DebugMode; private bool _logQSBMessages; public bool LogQSBMessages => DebugMode && _logQSBMessages; private bool _instanceIdInLogs; public bool InstanceIDInLogs => DebugMode && _instanceIdInLogs; private bool _hookDebugLogs; public bool HookDebugLogs => DebugMode && _hookDebugLogs; private bool _avoidTimeSync; public bool AvoidTimeSync => DebugMode && _avoidTimeSync; private bool _autoStart; public bool AutoStart => DebugMode && _autoStart; private int _latencySimulation; public int LatencySimulation => DebugMode ? _latencySimulation : 0; private bool _drawGUI; public bool DrawGUI => DebugMode && _drawGUI; private bool _drawLines; public bool DrawLines => DebugMode && _drawLines; private bool _drawLabels; public bool DrawLabels => DebugMode && _drawLabels; private bool _greySkybox; public bool GreySkybox => DebugMode && _greySkybox; private string _steamTestIpAddress; public string SteamTestIpAddress => DebugMode ? _steamTestIpAddress : null; private bool _steamFakeNetworkErrors; public bool SteamFakeNetworkErrors => DebugMode && _steamFakeNetworkErrors; public void Update(IModConfig config) { DebugMode = config.GetSettingsValue("debugMode"); _instanceIdInLogs = config.GetSettingsValue("instanceIdInLogs"); _hookDebugLogs = config.GetSettingsValue("hookDebugLogs"); _avoidTimeSync = config.GetSettingsValue("avoidTimeSync"); _autoStart = config.GetSettingsValue("autoStart"); _drawGUI = config.GetSettingsValue("drawGui"); _drawLines = config.GetSettingsValue("drawLines"); _drawLabels = config.GetSettingsValue("drawLabels"); _greySkybox = config.GetSettingsValue("greySkybox"); _latencySimulation = config.GetSettingsValue("latencySimulation"); _logQSBMessages = config.GetSettingsValue("logQSBMessages"); _steamTestIpAddress = config.GetSettingsValue("steamTestIpAddress"); _steamFakeNetworkErrors = config.GetSettingsValue("steamFakeNetworkErrors"); } }