/// <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); }
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); }