示例#1
0
 /// <summary>
 /// Remove dead member from familyMemberList
 /// </summary>
 /// <param name="dead"></param>
 internal void FamilyMemberDestroyed(Villager dead)
 {
     Debug.Assert(dead != null, @"(family, FamilyMemberDestroyed) Villager exist");
     Debug.Assert(dead.IsDead(), @"(family, FamilyMemberDestroyed) Villager not dead");
     Debug.Assert(_familyMembersList.Contains(dead), @"(family, FamilyMemberDestroyed) Villager not familyMembersList");
     if (_mother != null)
         if (dead == _mother)
             _mother = null;
     if (_father != null)
         if (dead == _father)
             _father = null;
     _familyMembersList.Remove(dead);
 }
示例#2
0
 internal void WorkerDestroyed(Villager dead)
 {
     Debug.Assert(dead != null, "(JobsModel) villager is null");
     Debug.Assert(dead.IsDead(), "(JobsModel) villager is not dead ?!");
     Debug.Assert(_workers.Contains(dead), "(JobModel) villager isn't even in the workerlist!");
     Debug.Assert((dead.Faith <= 15) == ((dead.Health & Healths.HERETIC) != 0), "(JobModel/villagerdestroyed) heretism is not right!");
     if ((dead.Health & Healths.HERETIC) != 0)
     {
         removeHereticWorker();
     }
     RemovePerson(dead);
 }