private void updateHumanRecords(double elapsedSeconds) { var validRecords = HumanRecords.GetValidRecords(); foreach (var record in validRecords) { record.Human.Update(elapsedSeconds); } }
public override bool FininalizeSystem() { MarriageRecords.RemoveObseleteRecords(); DivorceRecords.RemoveObseleteRecords(); HumanRecords.RemoveObseleteRecords(); DieRecords.RemoveObseleteRecords(); return(base.FininalizeSystem()); }
public override bool InitializeSystem() { HumanSex sex = RandomSelector.GetRandomEnumValue <HumanSex>(); var family1Husband = HumanRecords.CreateRecord(null, RandomSelector.GetRandomName(HumanSex.Male), HumanSex.Male); var family1Wife = HumanRecords.CreateRecord(null, RandomSelector.GetRandomName(HumanSex.Female), HumanSex.Female); var family2Husband = HumanRecords.CreateRecord(null, RandomSelector.GetRandomName(HumanSex.Male), HumanSex.Male); var family2Wife = HumanRecords.CreateRecord(null, RandomSelector.GetRandomName(HumanSex.Female), HumanSex.Female); MarriageRecords.CreateRecord(family1Husband.Human as Man, family1Wife.Human as Woman); MarriageRecords.CreateRecord(family2Husband.Human as Man, family2Wife.Human as Woman); return(base.InitializeSystem()); }
public List <Woman> GetSuitableWomenForMarriage(Man man) { List <Woman> suitableWomen = new List <Woman>(); var unMarriedWomen = HumanRecords.GetUnmarriedWomenRecords(); var manRecord = HumanRecords.GetRecord(man); var manFamilyTree = new FamilyTree(CivilManager, manRecord); foreach (var woman in unMarriedWomen) { int level; var foundNode = manFamilyTree.FindHuman(woman.Human, out level); if (foundNode != null && level == 1) { suitableWomen.Add((Woman)foundNode.Data.Human); } else if (foundNode == null) { suitableWomen.Add((Woman)woman.Human); } } return(suitableWomen); }