public override string Print(bool link = true, DwarfObject pov = null) { string eventString = GetYearTime(); eventString += HistoricalFigure.ToLink(link, pov, this); eventString += " recruited "; switch (UnitType) { case UnitType.Monk: eventString += "monks"; break; default: eventString += UnitType.GetDescription(); break; } if (Entity != null) { eventString += " into "; eventString += Entity.ToLink(link, pov, this); } eventString += " in "; if (Site != null) { eventString += Site.ToLink(link, pov, this); } else if (Region != null) { eventString += Region.ToLink(link, pov, this); } else if (UndergroundRegion != null) { eventString += UndergroundRegion.ToLink(link, pov, this); } else { eventString += "UNKNOWN LOCATION"; } eventString += PrintParentCollection(link, pov); eventString += "."; return(eventString); }