Ejemplo n.º 1
0
 public static WaterType ToWaterType(this TerrainDef def)
 {
     if (def.IsSea())
     {
         return(WaterType.SeaWater);
     }
     else if (def.IsMarsh() || def.IsMud())
     {
         return(WaterType.MudWater);
     }
     else if (def.IsRiver() || def.IsLakeOrPond())
     {
         return(WaterType.RawWater);
     }
     return(WaterType.NoWater);
 }
Ejemplo n.º 2
0
        public override AcceptanceReport AllowsPlacing(BuildableDef checkingDef, IntVec3 loc, Rot4 rot, Map map, Thing thingToIgnore = null)
        {
            ThingDef def = checkingDef as ThingDef;

            if (def == null)
            {
                Log.Error("invalid ThingDef");
                return(false);
            }

            TerrainDef terrainLoc = map.terrainGrid.TerrainAt(loc);

            if (!(terrainLoc.IsSea() || terrainLoc.IsRiver() || terrainLoc.IsLakeOrPond() || terrainLoc.IsMarsh()))
            {
                // 水でないなら
                return(new AcceptanceReport(MizuStrings.AcceptanceReportCantBuildExceptOverWater.Translate()));
            }

            return(true);
        }
Ejemplo n.º 3
0
 public static bool CanGetWater(this TerrainDef def)
 {
     return(def.IsRiver() || def.IsLakeOrPond() || def.IsMarsh() || def.IsSea());
 }
Ejemplo n.º 4
0
 public static bool IsLakeOrPond(this TerrainDef def)
 {
     return(!def.IsSea() && !def.IsRiver() && def.defName.Contains("Water"));
 }