public static string Label(this PropertyPawnCategory p) { switch (p) { case PropertyPawnCategory.Everyone: return("PawnCategoryEveryone".Translate()); case PropertyPawnCategory.Hostile: return("PawnCategoryHostile".Translate()); case PropertyPawnCategory.Peaceful: return("PawnCategoryPeaceful".Translate()); case PropertyPawnCategory.SameFaction: return("PawnCategorySameFaction".Translate()); case PropertyPawnCategory.SameReligion: return("PawnCategorySameReligion".Translate()); case PropertyPawnCategory.SameReligionGroup: return("PawnCategorySameReligionGroup".Translate()); default: return("Unknown"); } }
public static bool IsSubjectFromRightCategory(Pawn pawn, Pawn subject, PropertyPawnCategory pawnCategory) { switch (pawnCategory) { case PropertyPawnCategory.Everyone: return(true); case PropertyPawnCategory.Hostile: return(pawn.HostileTo(subject)); case PropertyPawnCategory.Peaceful: return(!pawn.HostileTo(subject)); case PropertyPawnCategory.SameFaction: return(pawn.Faction == subject.Faction); case PropertyPawnCategory.SameReligion: return(pawn.GetReligionComponent().Religion == subject.GetReligionComponent().Religion); case PropertyPawnCategory.SameReligionGroup: return(pawn.GetReligionComponent().Religion.GroupTag == subject.GetReligionComponent().Religion.GroupTag); default: return(false); } }