using RimWorld;
using Verse;
namespace RJWSexperience
{
///
/// Thought class that uses record to select active stage
///
public class Thought_Recordbased : Thought_Memory
{
private ThoughtDefExtension_StageFromRecord extension;
protected ThoughtDefExtension_StageFromRecord Extension => extension ?? (extension = def.GetModExtension());
///
/// This method is called for every thought right after the pawn is assigned
///
public override bool TryMergeWithExistingMemory(out bool showBubble)
{
UpdateCurStage();
return base.TryMergeWithExistingMemory(out showBubble);
}
protected virtual void UpdateCurStage()
{
SetForcedStage(Extension.GetStageIndex(pawn));
}
}
}