コード例 #1
0
        // Token: 0x0600003E RID: 62 RVA: 0x00004794 File Offset: 0x00002994
        internal static string GetCamoType(Pawn pawn)
        {
            string text = "notDefined";

            if (!(text != "notDefined") && GridsUtility.GetSnowDepth(pawn.Position, pawn.Map) >= 0.25f)
            {
                return("Arctic");
            }
            TerrainDef terrain = GridsUtility.GetTerrain(pawn.Position, pawn.Map);

            if (!(text != "notDefined") && terrain != null)
            {
                if ((terrain?.smoothedTerrain) != null || terrain.affordances.Contains(TerrainAffordanceDefOf.SmoothableStone))
                {
                    return("Stone");
                }
                if (CamoGearUtility.IsFluffyStuffed(terrain, out string text2))
                {
                    text = text2;
                }
                else
                {
                    text = CamoDefGet.GetCamoDefTerrain(terrain);
                }
                if (Prefs.DevMode && Controller.Settings.ShowTerrainLogs && Find.TickManager.TicksGame % 120 == 0)
                {
                    Log.Message("Terrain: " + terrain.defName + " : " + text, false);
                }
            }
            if (!(text != "notDefined") && !GridsUtility.UsesOutdoorTemperature(pawn.Position, pawn.Map))
            {
                return("Urban");
            }
            if (!(text != "notDefined"))
            {
                text = CamoDefGet.GetCamoDefBiome(pawn.Map.Biome);
            }
            return(text);
        }
コード例 #2
0
        // Token: 0x0600003E RID: 62 RVA: 0x00004794 File Offset: 0x00002994
        internal static string GetCamoType(Pawn pawn)
        {
            var text = "notDefined";

            if (text == "notDefined" && pawn.Position.GetSnowDepth(pawn.Map) >= 0.25f)
            {
                return("Arctic");
            }

            var terrain = pawn.Position.GetTerrain(pawn.Map);

            if (text == "notDefined" && terrain != null)
            {
                if (terrain.smoothedTerrain != null ||
                    terrain.affordances.Contains(TerrainAffordanceDefOf.SmoothableStone))
                {
                    return("Stone");
                }

                text = IsFluffyStuffed(terrain, out var text2) ? text2 : CamoDefGet.GetCamoDefTerrain(terrain);

                if (Prefs.DevMode && Controller.Settings.ShowTerrainLogs && Find.TickManager.TicksGame % 120 == 0)
                {
                    Log.Message("Terrain: " + terrain.defName + " : " + text);
                }
            }

            if (text == "notDefined" && !pawn.Position.UsesOutdoorTemperature(pawn.Map))
            {
                return("Urban");
            }

            if (text == "notDefined")
            {
                text = CamoDefGet.GetCamoDefBiome(pawn.Map.Biome);
            }

            return(text);
        }