Hide log spam behind Debug option
This commit is contained in:
parent
fbf894e5a0
commit
ad7c00d665
|
@ -87,6 +87,8 @@
|
||||||
<RSOption_MaxSingleLustChange_Desc>Set how much lust can change from a single sex act</RSOption_MaxSingleLustChange_Desc>
|
<RSOption_MaxSingleLustChange_Desc>Set how much lust can change from a single sex act</RSOption_MaxSingleLustChange_Desc>
|
||||||
<RSOption_EnableBastardRelation_Label>Enable Bastard relation</RSOption_EnableBastardRelation_Label>
|
<RSOption_EnableBastardRelation_Label>Enable Bastard relation</RSOption_EnableBastardRelation_Label>
|
||||||
<RSOption_EnableBastardRelation_Desc>Child is marked as a bastard if they have only one parent or their parents are (or was) married</RSOption_EnableBastardRelation_Desc>
|
<RSOption_EnableBastardRelation_Desc>Child is marked as a bastard if they have only one parent or their parents are (or was) married</RSOption_EnableBastardRelation_Desc>
|
||||||
|
<RSOption_Debug_Label>Debug</RSOption_Debug_Label>
|
||||||
|
<RSOption_Debug_Desc>Enable debug logs</RSOption_Debug_Desc>
|
||||||
<Button_ResetToDefault>Reset to default</Button_ResetToDefault>
|
<Button_ResetToDefault>Reset to default</Button_ResetToDefault>
|
||||||
|
|
||||||
<!-- Sex types -->
|
<!-- Sex types -->
|
||||||
|
|
|
@ -19,6 +19,7 @@ namespace RJWSexperience
|
||||||
public const bool MinSexableFromLifestageDefault = true;
|
public const bool MinSexableFromLifestageDefault = true;
|
||||||
public const float MinSexablePercentDefault = 0.2f;
|
public const float MinSexablePercentDefault = 0.2f;
|
||||||
public const float VirginRatioDefault = 0.01f;
|
public const float VirginRatioDefault = 0.01f;
|
||||||
|
public const bool DebugDefault = false;
|
||||||
|
|
||||||
private float maxLustDeviation = MaxInitialLustDefault;
|
private float maxLustDeviation = MaxInitialLustDefault;
|
||||||
private float avgLust = AvgLustDefault;
|
private float avgLust = AvgLustDefault;
|
||||||
|
@ -33,6 +34,7 @@ namespace RJWSexperience
|
||||||
private float minSexablePercent = MinSexablePercentDefault;
|
private float minSexablePercent = MinSexablePercentDefault;
|
||||||
private float virginRatio = VirginRatioDefault;
|
private float virginRatio = VirginRatioDefault;
|
||||||
private float maxSingleLustChange = MaxSingleLustChangeDefault;
|
private float maxSingleLustChange = MaxSingleLustChangeDefault;
|
||||||
|
private bool debug = DebugDefault;
|
||||||
|
|
||||||
public float MaxLustDeviation { get => maxLustDeviation; }
|
public float MaxLustDeviation { get => maxLustDeviation; }
|
||||||
public float AvgLust { get => avgLust; }
|
public float AvgLust { get => avgLust; }
|
||||||
|
@ -47,6 +49,7 @@ namespace RJWSexperience
|
||||||
public float MinSexablePercent { get => minSexablePercent; }
|
public float MinSexablePercent { get => minSexablePercent; }
|
||||||
public float VirginRatio { get => virginRatio; }
|
public float VirginRatio { get => virginRatio; }
|
||||||
public float MaxSingleLustChange { get => maxSingleLustChange; }
|
public float MaxSingleLustChange { get => maxSingleLustChange; }
|
||||||
|
public bool Debug { get => debug; }
|
||||||
|
|
||||||
private bool selectionLocked = false;
|
private bool selectionLocked = false;
|
||||||
|
|
||||||
|
@ -68,6 +71,7 @@ namespace RJWSexperience
|
||||||
minSexableFromLifestage = MinSexableFromLifestageDefault;
|
minSexableFromLifestage = MinSexableFromLifestageDefault;
|
||||||
minSexablePercent = MinSexablePercentDefault;
|
minSexablePercent = MinSexablePercentDefault;
|
||||||
virginRatio = VirginRatioDefault;
|
virginRatio = VirginRatioDefault;
|
||||||
|
debug = DebugDefault;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void ExposeData()
|
public override void ExposeData()
|
||||||
|
@ -85,6 +89,7 @@ namespace RJWSexperience
|
||||||
Scribe_Values.Look(ref minSexableFromLifestage, "MinSexableFromLifestage", MinSexableFromLifestageDefault, true);
|
Scribe_Values.Look(ref minSexableFromLifestage, "MinSexableFromLifestage", MinSexableFromLifestageDefault, true);
|
||||||
Scribe_Values.Look(ref minSexablePercent, "MinSexablePercent", MinSexablePercentDefault, true);
|
Scribe_Values.Look(ref minSexablePercent, "MinSexablePercent", MinSexablePercentDefault, true);
|
||||||
Scribe_Values.Look(ref virginRatio, "VirginRatio", VirginRatioDefault, true);
|
Scribe_Values.Look(ref virginRatio, "VirginRatio", VirginRatioDefault, true);
|
||||||
|
Scribe_Values.Look(ref debug, "Debug", DebugDefault, true);
|
||||||
Scribe_Values.Look(ref selectionLocked, "SelectionLocked");
|
Scribe_Values.Look(ref selectionLocked, "SelectionLocked");
|
||||||
base.ExposeData();
|
base.ExposeData();
|
||||||
}
|
}
|
||||||
|
@ -127,6 +132,7 @@ namespace RJWSexperience
|
||||||
}
|
}
|
||||||
|
|
||||||
listmain.CheckboxLabeled(Keyed.Option_EnableBastardRelation_Label, ref enableBastardRelation, Keyed.Option_EnableBastardRelation_Desc);
|
listmain.CheckboxLabeled(Keyed.Option_EnableBastardRelation_Label, ref enableBastardRelation, Keyed.Option_EnableBastardRelation_Desc);
|
||||||
|
listmain.CheckboxLabeled(Keyed.Option_Debug_Label, ref debug, Keyed.Option_Debug_Desc);
|
||||||
|
|
||||||
if (listmain.ButtonText(Keyed.Button_ResetToDefault))
|
if (listmain.ButtonText(Keyed.Button_ResetToDefault))
|
||||||
{
|
{
|
||||||
|
|
|
@ -89,6 +89,8 @@ namespace RJWSexperience
|
||||||
public static readonly string Option_MaxSingleLustChange_Desc = "RSOption_MaxSingleLustChange_Desc".Translate();
|
public static readonly string Option_MaxSingleLustChange_Desc = "RSOption_MaxSingleLustChange_Desc".Translate();
|
||||||
public static readonly string Option_EnableBastardRelation_Label = "RSOption_EnableBastardRelation_Label".Translate();
|
public static readonly string Option_EnableBastardRelation_Label = "RSOption_EnableBastardRelation_Label".Translate();
|
||||||
public static readonly string Option_EnableBastardRelation_Desc = "RSOption_EnableBastardRelation_Desc".Translate();
|
public static readonly string Option_EnableBastardRelation_Desc = "RSOption_EnableBastardRelation_Desc".Translate();
|
||||||
|
public static readonly string Option_Debug_Label = "RSOption_Debug_Label".Translate();
|
||||||
|
public static readonly string Option_Debug_Desc = "RSOption_Debug_Desc".Translate();
|
||||||
public static readonly string Button_ResetToDefault = "Button_ResetToDefault".Translate();
|
public static readonly string Button_ResetToDefault = "Button_ResetToDefault".Translate();
|
||||||
|
|
||||||
public static string Translate(this PartnerOrderMode mode)
|
public static string Translate(this PartnerOrderMode mode)
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
using rjw.Modules.Shared.Logs;
|
||||||
|
|
||||||
|
namespace RJWSexperience.Logs
|
||||||
|
{
|
||||||
|
public class DebugLogProvider : ILogProvider
|
||||||
|
{
|
||||||
|
public bool IsActive => SexperienceMod.Settings.Debug;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,107 @@
|
||||||
|
using rjw.Modules.Shared.Logs;
|
||||||
|
using System;
|
||||||
|
using Verse;
|
||||||
|
|
||||||
|
namespace RJWSexperience.Logs
|
||||||
|
{
|
||||||
|
// Copy of RJW code because of hardcoded mod name prefix. Maybe TODO: update RJW's version to accept prefix from LogProvider
|
||||||
|
public static class LogManager
|
||||||
|
{
|
||||||
|
private class Logger : ILog
|
||||||
|
{
|
||||||
|
private readonly string _loggerTypeName;
|
||||||
|
private readonly ILogProvider _logProvider;
|
||||||
|
|
||||||
|
public Logger(string typeName, ILogProvider logProvider = null)
|
||||||
|
{
|
||||||
|
_loggerTypeName = typeName;
|
||||||
|
_logProvider = logProvider;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Debug(string message)
|
||||||
|
{
|
||||||
|
LogDebug(CreateLogMessage(message));
|
||||||
|
}
|
||||||
|
public void Debug(string message, Exception e)
|
||||||
|
{
|
||||||
|
LogDebug(CreateLogMessage(message, e));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Message(string message)
|
||||||
|
{
|
||||||
|
LogMessage(CreateLogMessage(message));
|
||||||
|
}
|
||||||
|
public void Message(string message, Exception e)
|
||||||
|
{
|
||||||
|
LogMessage(CreateLogMessage(message, e));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Warning(string message)
|
||||||
|
{
|
||||||
|
LogWarning(CreateLogMessage(message));
|
||||||
|
}
|
||||||
|
public void Warning(string message, Exception e)
|
||||||
|
{
|
||||||
|
LogWarning(CreateLogMessage(message, e));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Error(string message)
|
||||||
|
{
|
||||||
|
LogError(CreateLogMessage(message));
|
||||||
|
}
|
||||||
|
public void Error(string message, Exception e)
|
||||||
|
{
|
||||||
|
LogError(CreateLogMessage(message, e));
|
||||||
|
}
|
||||||
|
|
||||||
|
private string CreateLogMessage(string message)
|
||||||
|
{
|
||||||
|
return $"[Sexperience] [{_loggerTypeName}] {message}";
|
||||||
|
}
|
||||||
|
private string CreateLogMessage(string message, Exception exception)
|
||||||
|
{
|
||||||
|
return $"{CreateLogMessage(message)}{Environment.NewLine}{exception}";
|
||||||
|
}
|
||||||
|
|
||||||
|
private void LogDebug(string message)
|
||||||
|
{
|
||||||
|
if (_logProvider?.IsActive != false)
|
||||||
|
{
|
||||||
|
Log.Message(message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private void LogMessage(string message)
|
||||||
|
{
|
||||||
|
if (_logProvider?.IsActive != false)
|
||||||
|
{
|
||||||
|
Log.Message(message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private void LogWarning(string message)
|
||||||
|
{
|
||||||
|
if (_logProvider?.IsActive != false)
|
||||||
|
{
|
||||||
|
Log.Warning(message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private void LogError(string message)
|
||||||
|
{
|
||||||
|
if (_logProvider?.IsActive != false)
|
||||||
|
{
|
||||||
|
Log.Error(message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ILog GetLogger<TType, TLogProvider>()
|
||||||
|
where TLogProvider : ILogProvider, new()
|
||||||
|
{
|
||||||
|
return new Logger(typeof(TType).Name, new TLogProvider());
|
||||||
|
}
|
||||||
|
public static ILog GetLogger<TLogProvider>(string staticTypeName)
|
||||||
|
where TLogProvider : ILogProvider, new()
|
||||||
|
{
|
||||||
|
return new Logger(staticTypeName, new TLogProvider());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -3,6 +3,7 @@ using RimWorld;
|
||||||
using rjw;
|
using rjw;
|
||||||
using rjw.Modules.Interactions.Enums;
|
using rjw.Modules.Interactions.Enums;
|
||||||
using RJWSexperience.ExtensionMethods;
|
using RJWSexperience.ExtensionMethods;
|
||||||
|
using RJWSexperience.Logs;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using Verse;
|
using Verse;
|
||||||
using Verse.AI;
|
using Verse.AI;
|
||||||
|
@ -96,7 +97,7 @@ namespace RJWSexperience
|
||||||
if (lustDelta == 0)
|
if (lustDelta == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
rjw.Modules.Shared.Logs.LogManager.GetLogger<SexperienceMod>().Message($"{props.pawn.NameShortColored}'s lust changed by {lustDelta} (from {lust})");
|
LogManager.GetLogger<DebugLogProvider>("RJW_Patch_SatisfyPersonal").Message($"{props.pawn.NameShortColored}'s lust changed by {lustDelta} (from {lust})");
|
||||||
props.pawn.records.AddTo(VariousDefOf.Lust, lustDelta);
|
props.pawn.records.AddTo(VariousDefOf.Lust, lustDelta);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -223,11 +224,12 @@ namespace RJWSexperience
|
||||||
if (partner != null)
|
if (partner != null)
|
||||||
return true; // Not masturbation
|
return true; // Not masturbation
|
||||||
|
|
||||||
Log.Message($"CasualSex_Helper.FindSexLocation for {pawn.NameShortColored}");
|
var log = LogManager.GetLogger<DebugLogProvider>("RJW_Patch_CasualSex_Helper_FindSexLocation");
|
||||||
|
log.Message($"Called for {pawn.NameShortColored}");
|
||||||
|
|
||||||
if (!pawn.Faction?.IsPlayer ?? true)
|
if (!pawn.Faction?.IsPlayer ?? true)
|
||||||
{
|
{
|
||||||
Log.Message("Not player faction");
|
log.Message("Not player faction");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -235,12 +237,12 @@ namespace RJWSexperience
|
||||||
|
|
||||||
if (bucket == null)
|
if (bucket == null)
|
||||||
{
|
{
|
||||||
Log.Message("Bucket not found");
|
log.Message("Bucket not found");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
__result = bucket.RandomAdjacentCell8Way();
|
__result = bucket.RandomAdjacentCell8Way();
|
||||||
Log.Message($"Bucket location: {__result}");
|
log.Message($"Bucket location: {__result}");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -74,6 +74,8 @@
|
||||||
<Compile Include="Harmony.cs" />
|
<Compile Include="Harmony.cs" />
|
||||||
<Compile Include="IngestionOutcomeDoers.cs" />
|
<Compile Include="IngestionOutcomeDoers.cs" />
|
||||||
<Compile Include="JobDrivers.cs" />
|
<Compile Include="JobDrivers.cs" />
|
||||||
|
<Compile Include="Logs\DebugLogProvider.cs" />
|
||||||
|
<Compile Include="Logs\LogManager.cs" />
|
||||||
<Compile Include="Patches\DefInjection.cs" />
|
<Compile Include="Patches\DefInjection.cs" />
|
||||||
<Compile Include="Patches\GetGizmos.cs" />
|
<Compile Include="Patches\GetGizmos.cs" />
|
||||||
<Compile Include="Recipe_HymenSurgery.cs" />
|
<Compile Include="Recipe_HymenSurgery.cs" />
|
||||||
|
|
Loading…
Reference in New Issue