예제 #1
0
    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);
    }
예제 #2
0
        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);
        }
예제 #3
0
 internal virtual void AddParent(ParentChildRelationship relationship)
 {
     this._parents.Add(relationship);
 }