rjw-sexperience-ideology/Source/IdeologyAddon/DebugAction.cs

38 lines
1.5 KiB
C#
Raw Normal View History

2022-08-09 16:30:56 +00:00
using rjw;
using RJWSexperience.Ideology.HistoryEvents;
using RJWSexperience.Ideology.Patches;
using System.Collections.Generic;
2022-08-09 16:30:56 +00:00
using System.Linq;
using Verse;
namespace RJWSexperience.Ideology
{
2023-04-23 12:15:07 +00:00
internal static class DebugAction
2022-08-09 16:30:56 +00:00
{
[DebugAction("RJW Sexperience Ideology", "Test marriage event", false, false, actionType = DebugActionType.ToolMapForPawns, allowedGameStates = AllowedGameStates.PlayingOnMap)]
2023-04-23 12:15:07 +00:00
public static void GenerateMarriageEvent(Pawn p)
2022-08-09 16:30:56 +00:00
{
Pawn hero = p.Map.PlayerPawnsForStoryteller.First(x => x.IsDesignatedHero());
if (hero == null)
return;
2023-04-23 11:41:27 +00:00
RsiDefOf.HistoryEvent.RSI_NonIncestuosMarriage.RecordEventWithPartner(hero, p);
RsiDefOf.HistoryEvent.RSI_NonIncestuosMarriage.RecordEventWithPartner(p, hero);
2022-08-09 16:30:56 +00:00
}
[DebugAction("RJW Sexperience Ideology", "Manual romance check", false, true, actionType = DebugActionType.Action, allowedGameStates = AllowedGameStates.PlayingOnMap)]
public static void DisplayDebugTable()
{
IEnumerable<Pawn> pawns = Find.CurrentMap.mapPawns.AllPawnsSpawned.Where(pawn => pawn.IsColonist);
IEnumerable<TableDataGetter<Pawn>> columns = pawns
.Select(pawn => new TableDataGetter<Pawn>(pawn.Name.ToStringShort, (Pawn p) => Rimworld_Patch_IncestuousManualRomance.RsiIncestuous(p, pawn)));
var name = new TableDataGetter<Pawn>("Name", (Pawn pawn) => pawn.Name.ToStringShort);
TableDataGetter<Pawn>[] getters = (new List<TableDataGetter<Pawn>>() { name }).Concat(columns).ToArray();
DebugTables.MakeTablesDialog(pawns, getters);
}
2022-08-09 16:30:56 +00:00
}
}