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); }
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); }
public static bool CanGetWater(this TerrainDef def) { return(def.IsRiver() || def.IsLakeOrPond() || def.IsMarsh() || def.IsSea()); }