public void Die(Settlement.Settlement settlement, CauseOfDeath causeOfDeath) { Relationships.ForEach(rel => rel.Other(this).NotifyDeath(rel)); settlement.SettlerManager.Settlers.Remove(this); settlement.SettlerManager.Graveyard.Add(this); settlement.AddMessage(new SettlerDeathMessage(this, causeOfDeath)); }
/// <summary> /// Resolves the ids. /// </summary> /// <param name="idMap">The identifier map.</param> public void ResolveIds(Dictionary <long, long> idMap) { long id0 = Id; Id = JsonEntityQueryResult.ResolveId(Id, idMap); if (Id != id0 && DataState == DataState.Create) { DataState = DataState.Unchanged; EventLog.Application.WriteTrace("Resolved id from {0} to {1} so changed dataState from Create to Unchanged", id0, Id); } TypeIds = TypeIds.Select(p => JsonEntityQueryResult.ResolveId(p, idMap)).ToList( ); Fields.ForEach(p => { p.FieldId = JsonEntityQueryResult.ResolveId(p.FieldId, idMap); }); Relationships.ForEach(p => p.ResolveIds(idMap)); }