public static WaterSettings ReadWaterSettings(this SCMap scMap) { WaterSettings waterSettings = new WaterSettings(); waterSettings.hasWater = scMap.ReadByte() == 1; //ReadWater if (waterSettings.hasWater) { waterSettings.waterElevationInv = scMap.ReadFloat(); waterSettings.waterElevationDeep = scMap.ReadFloat(); waterSettings.waterElevationAbyss = scMap.ReadFloat(); } else { //Skip & setDefault scMap.ReadVector3(); waterSettings.waterElevationInv = 17.5f; waterSettings.waterElevationDeep = 15f; waterSettings.waterElevationAbyss = 2.5f; } return(waterSettings); }