private AlignmentDistribution ParseAlignment(MonsterRaw raw, List <string> errors) { foreach (Morality morality in Enum.GetValues(typeof(Morality))) { foreach (Order order in Enum.GetValues(typeof(Order))) { if (raw.Alignment.ToLower().Contains($"{order} {morality}".ToLower())) { return(new AlignmentDistribution(new Alignment(morality, order), raw.Alignment)); } } if (raw.Alignment.ToLower().Contains("any " + morality.ToString().ToLower() + "alignment")) { return(AlignmentDistribution.Any(raw.Alignment, morality)); } } foreach (Morality morality in Enum.GetValues(typeof(Morality))) { if (raw.Alignment.ToLower().Contains("any " + morality.ToString().ToLower() + "alignment")) { return(AlignmentDistribution.Any(raw.Alignment, morality)); } } if (raw.Alignment.Contains("neutral")) { return(new AlignmentDistribution(new Alignment(Morality.Neutral, Order.Neutral), raw.Alignment)); } if (raw.Alignment.Contains("any")) { return(AlignmentDistribution.Any(raw.Alignment)); } if (raw.Alignment.Contains("unaligned")) { return(AlignmentDistribution.Unaligned(raw.Alignment)); } errors.Add("Could not find Alignment"); return(null); }
private string RenderAlignment(AlignmentDistribution alignment) { return(alignment.Description); }