Files
Canon 9fef23b4a6 Update CharacterDefinitionUtils.cs
Small fix to definition utils so it won't early return mistakenly
2025-12-19 00:16:37 +08:00

36 lines
1.1 KiB
C#

namespace FCP.Core;
public static class CharacterDefinitionUtils
{
public static Pawn GenerateWithDefinitions(PawnGenerationRequest request, List<CharacterBaseDefinition> definitions)
{
ApplyRequestDefinitions(ref request, definitions);
Pawn pawn = PawnGenerator.GeneratePawn(request);
ApplyPawnDefinitions(pawn, definitions);
return pawn;
}
public static void ApplyRequestDefinitions(ref PawnGenerationRequest request, List<CharacterBaseDefinition> definitions)
{
foreach (CharacterBaseDefinition definition in definitions)
{
if (!definition.AppliesPreGeneration)
continue;
definition.ApplyToRequest(ref request);
}
request.ValidateAndFix();
}
public static void ApplyPawnDefinitions(Pawn pawn, List<CharacterBaseDefinition> definitions)
{
foreach (CharacterBaseDefinition definition in definitions)
{
if (!definition.AppliesPostGeneration)
continue;
definition.ApplyToPawn(pawn);
}
}
}