public PawnData GetPawnData(Pawn pawn) { PawnData res; //--Log.Message("Getting data for " + pawn); //--Log.Message("Pawn " + pawn + " id " + pawn.thingIDNumber); //--Log.Message("PawnData isn't null " + !(PawnData == null)); var filled = PawnData.TryGetValue(pawn.thingIDNumber, out res); //--Log.Message("Output is not null" + PawnData.TryGetValue(pawn.thingIDNumber, out res)); //--Log.Message("Out is not null " + (res != null)); //--Log.Message("Out is valid " + (res != null && res.IsValid)); if ((res == null) || (!res.IsValid)) { if (filled) { //--Log.Message("Clearing incorrect data for " + pawn); PawnData.Remove(pawn.thingIDNumber); } //--Log.Message("PawnData missing, creating for " + pawn); res = new PawnData(pawn); PawnData.Add(pawn.thingIDNumber, res); } //--Log.Message("Finishing"); //--Log.Message("PawnData is " + res.Comfort + " " + res.Service + " " + res.Breeding); return(res); }
void SetPawnData(Pawn pawn, PawnData data) { PawnData.Add(pawn.thingIDNumber, data); }