public BloodRelationInstance(BloodLineMember subject, BloodLineMember target, List <BloodRelationType> relationChain, BloodRelationDef relationDef) { this.Subject = subject; this.Target = target; this.RelationTypeChain = relationChain; this.RelationDef = relationDef; }
public static IEnumerable <BloodRelationDef> BuildRelationDefs() { var relations = new List <BloodRelationDef>(); var childPar = new BloodRelationDef { BloodRelationName = "Child_Parent", RelationTypeChain = new List <BloodRelationType> { BloodRelationType.Child }, TermsTags = new Dictionary <string, IEnumerable <string> >() }; childPar.TermsTags.Add("Son", new List <string> { "male" }); childPar.TermsTags.Add("Daughter", new List <string> { "female" }); relations.Add(childPar); var parChild = new BloodRelationDef { BloodRelationName = "Parent_Child", RelationTypeChain = new List <BloodRelationType> { BloodRelationType.Parent }, TermsTags = new Dictionary <string, IEnumerable <string> >() }; parChild.TermsTags.Add("Father", new List <string> { "male" }); parChild.TermsTags.Add("Mother", new List <string> { "female" }); relations.Add(parChild); var broSis = new BloodRelationDef { BloodRelationName = "Parent_Child", RelationTypeChain = new List <BloodRelationType> { BloodRelationType.Sibling }, TermsTags = new Dictionary <string, IEnumerable <string> >() }; broSis.TermsTags.Add("Brother", new List <string> { "male" }); broSis.TermsTags.Add("Sister", new List <string> { "female" }); relations.Add(broSis); var grandParents = new BloodRelationDef { BloodRelationName = "Parent_Child", RelationTypeChain = new List <BloodRelationType> { BloodRelationType.Parent, BloodRelationType.Parent }, TermsTags = new Dictionary <string, IEnumerable <string> >() }; grandParents.TermsTags.Add("Grand Father", new List <string> { "male" }); grandParents.TermsTags.Add("Grand Mother", new List <string> { "female" }); relations.Add(grandParents); var grandChild = new BloodRelationDef { BloodRelationName = "Parent_Child", RelationTypeChain = new List <BloodRelationType> { BloodRelationType.Child, BloodRelationType.Child }, TermsTags = new Dictionary <string, IEnumerable <string> >() }; grandChild.TermsTags.Add("Grand Son", new List <string> { "male" }); grandChild.TermsTags.Add("Grand Daughter", new List <string> { "female" }); relations.Add(grandChild); var auntUncle = new BloodRelationDef { BloodRelationName = "AuntUncle", RelationTypeChain = new List <BloodRelationType> { BloodRelationType.Parent, BloodRelationType.Sibling }, TermsTags = new Dictionary <string, IEnumerable <string> >() }; auntUncle.TermsTags.Add("Uncle", new List <string> { "male" }); auntUncle.TermsTags.Add("Aunt", new List <string> { "female" }); relations.Add(auntUncle); var neiceNef = new BloodRelationDef { BloodRelationName = "Neice_Nef", RelationTypeChain = new List <BloodRelationType> { BloodRelationType.Sibling, BloodRelationType.Child }, TermsTags = new Dictionary <string, IEnumerable <string> >() }; neiceNef.TermsTags.Add("Nefew", new List <string> { "male" }); neiceNef.TermsTags.Add("Neice", new List <string> { "female" }); relations.Add(neiceNef); return(relations); }