示例#1
0
 public void AddHediff(Hediff hediff, BodyPartRecord part = null, DamageInfo?dinfo = default(DamageInfo?), DamageWorker.DamageResult result = null)
 {
     if (part != null)
     {
         hediff.Part = part;
     }
     hediffSet.AddDirect(hediff, dinfo, result);
     CheckForStateChange(dinfo, hediff);
     if (pawn.RaceProps.hediffGiverSets != null)
     {
         for (int i = 0; i < pawn.RaceProps.hediffGiverSets.Count; i++)
         {
             HediffGiverSetDef hediffGiverSetDef = pawn.RaceProps.hediffGiverSets[i];
             for (int j = 0; j < hediffGiverSetDef.hediffGivers.Count; j++)
             {
                 hediffGiverSetDef.hediffGivers[j].OnHediffAdded(pawn, hediff);
             }
         }
     }
 }