public static void LogPlantProportions()
        {
            Dictionary <ThingDef, float> dictionary = new Dictionary <ThingDef, float>();

            foreach (ThingDef key in Find.CurrentMap.Biome.AllWildPlants)
            {
                dictionary.Add(key, 0f);
            }
            float num = 0f;

            foreach (IntVec3 c in Find.CurrentMap.AllCells)
            {
                Plant plant = c.GetPlant(Find.CurrentMap);
                if (plant != null && dictionary.ContainsKey(plant.def))
                {
                    Dictionary <ThingDef, float> dictionary2;
                    ThingDef def;
                    (dictionary2 = dictionary)[def = plant.def] = dictionary2[def] + 1f;
                    num += 1f;
                }
            }
            foreach (ThingDef thingDef in Find.CurrentMap.Biome.AllWildPlants)
            {
                Dictionary <ThingDef, float> dictionary2;
                ThingDef key2;
                (dictionary2 = dictionary)[key2 = thingDef] = dictionary2[key2] / num;
            }
            Dictionary <ThingDef, float> dictionary3 = PlantUtility.CalculateDesiredPlantProportions(Find.CurrentMap.Biome);
            StringBuilder stringBuilder = new StringBuilder();

            stringBuilder.AppendLine("PLANT           EXPECTED             FOUND");
            foreach (ThingDef thingDef2 in Find.CurrentMap.Biome.AllWildPlants)
            {
                stringBuilder.AppendLine(string.Concat(new string[]
                {
                    thingDef2.LabelCap,
                    "       ",
                    dictionary3[thingDef2].ToStringPercent(),
                    "        ",
                    dictionary[thingDef2].ToStringPercent()
                }));
            }
            Log.Message(stringBuilder.ToString(), false);
        }