private void CleanAttractionRecords() { IEnumerable <Pawn> keys = AttractionRecords.Keys; foreach (Pawn p in keys) { if (!IsPawnAttractionRelevant(p)) { AttractionRecords.Remove(p); } } }
private AttractionRecord PullRecord(Pawn other, bool noUpdate = false) { Pawn p = (Pawn)this.parent; if (!AttractionRecords.ContainsKey(other)) { AttractionRecords.Add(other, new AttractionRecord(p, other)); } else if (noUpdate == false && Find.TickManager.TicksGame - AttractionRecords[other].lastRefreshedGameTick > recalculateAttractionPerTick) { AttractionRecords[other].Update(p, other); } return(AttractionRecords[other]); }