public virtual void AddChild(Child child, RelationshipKind relationshipKind) { var relationship = new ParentChildRelationship() { Parent = this, Child = child, RelationshipKind = relationshipKind }; this._children.Add(relationship); child.AddParent(relationship); }
public Settler.Settler GenerateChild(Varsk father, Varsk mother) { int minParentAge = Math.Min(-1 * father.Birthday.DaysSinceSettlement, -1 * mother.Birthday.DaysSinceSettlement); int age = new Random().Next(minParentAge - Varsk.VarskAdultYears * Date.DaysInYear); bool isMale = new Random().Next(2) == 0; NameFactory name = isMale ? VarskNameFactories.Male() : VarskNameFactories.Female(); var child = new Varsk(new Date(-1 * age), name.Generate(), $"{(father.PrestigeLevel >= mother.PrestigeLevel ? father.GivenName : mother.GivenName)}sson", isMale ? BinaryGender.Male : BinaryGender.Female); ParentChildRelationship.Make(_manager, 0, father, child); ParentChildRelationship.Make(_manager, 0, mother, child); Inheritor.GenerateChildTraits(child); return(child); }
internal virtual void AddParent(ParentChildRelationship relationship) { this._parents.Add(relationship); }