コード例 #1
0
ファイル: JoyUtility.cs プロジェクト: Axinex/RimWorld_CoreDoc
        public static string JoyKindsOnMapString(Map map)
        {
            StringBuilder stringBuilder = new StringBuilder();

            for (int i = 0; i < DefDatabase <JoyKindDef> .AllDefsListForReading.Count; i++)
            {
                JoyKindDef joyKindDef = DefDatabase <JoyKindDef> .AllDefsListForReading[i];
                if (!joyKindDef.needsThing)
                {
                    JoyUtility.CheckAppendJoyKind(stringBuilder, null, joyKindDef, map);
                }
            }
            foreach (Thing current in JoyUtility.JoySourceBuildings(map))
            {
                JoyUtility.CheckAppendJoyKind(stringBuilder, current, current.def.building.joyKind, map);
            }
            foreach (Thing current2 in map.listerThings.ThingsInGroup(ThingRequestGroup.Drug))
            {
                if (current2.def.IsIngestible && current2.def.ingestible.joyKind != null)
                {
                    JoyUtility.CheckAppendJoyKind(stringBuilder, current2, current2.def.ingestible.joyKind, map);
                }
            }
            foreach (Thing current3 in map.listerThings.ThingsInGroup(ThingRequestGroup.FoodSourceNotPlantOrTree))
            {
                if (current3.def.IsIngestible && current3.def.ingestible.joyKind != null)
                {
                    JoyUtility.CheckAppendJoyKind(stringBuilder, current3, current3.def.ingestible.joyKind, map);
                }
            }
            JoyUtility.listedJoyKinds.Clear();
            return(stringBuilder.ToString().TrimEndNewlines());
        }