mirror of
				https://github.com/amevarashi/RJW-Sexperience.git
				synced 2024-08-14 23:54:08 +00:00 
			
		
		
		
	Hide log spam behind Debug option
This commit is contained in:
		
							parent
							
								
									fbf894e5a0
								
							
						
					
					
						commit
						ad7c00d665
					
				
					 7 changed files with 135 additions and 5 deletions
				
			
		| 
						 | 
					@ -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)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										9
									
								
								RJWSexperience/RJWSexperience/Logs/DebugLogProvider.cs
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								RJWSexperience/RJWSexperience/Logs/DebugLogProvider.cs
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,9 @@
 | 
				
			||||||
 | 
					using rjw.Modules.Shared.Logs;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace RJWSexperience.Logs
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						public class DebugLogProvider : ILogProvider
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							public bool IsActive => SexperienceMod.Settings.Debug;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										107
									
								
								RJWSexperience/RJWSexperience/Logs/LogManager.cs
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										107
									
								
								RJWSexperience/RJWSexperience/Logs/LogManager.cs
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -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…
	
	Add table
		Add a link
		
	
		Reference in a new issue