public T GetSettings <T>(SettingsTagDef tag) where T : ReligionSettings
 {
     if (settings.ContainsKey(tag))
     {
         return((T)settings[tag]);
     }
     else
     {
         return(null);
     }
 }
 public ReligionSettings GetSettings(SettingsTagDef tag)
 {
     if (settings.ContainsKey(tag))
     {
         return(settings[tag]);
     }
     else
     {
         return(null);
     }
 }
 private static ReligionProperty GetProperty(Pawn pawn, Pawn otherPawn, SettingsTagDef tag, Def def)
 {
     if (pawn != null && pawn.GetReligionComponent() != null)
     {
         ReligionSettings_Social settings = pawn.GetReligionComponent().Religion.GetSettings <ReligionSettings_Social>(tag);
         if (settings != null)
         {
             return(settings.GetPropertyByObject(pawn, def, otherPawn));
         }
     }
     return(null);
 }
 private static IEnumerable <ReligionProperty> GetProperties(Pawn pawn, Pawn otherPawn, SettingsTagDef tag, IEnumerable <Def> defs)
 {
     foreach (Def def in defs)
     {
         yield return(GetProperty(pawn, otherPawn, tag, def));
     }
 }