Exemple #1
0
        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);
        }
Exemple #2
0
 void SetPawnData(Pawn pawn, PawnData data)
 {
     PawnData.Add(pawn.thingIDNumber, data);
 }