private bool SupportsNativePath()
    {
        bool flag = true;

        try
        {
            WaterDynamics.ImageDesc imageDesc = new WaterDynamics.ImageDesc();
            byte[] numArray = new byte[1];
            WaterDynamics.RasterBindImage_Native(ref imageDesc, ref numArray[0]);
        }
        catch (EntryPointNotFoundException entryPointNotFoundException)
        {
            Debug.Log("[WaterDynamics] Fast native path not available. Reverting to managed fallback.");
            flag = false;
        }
        return(flag);
    }
 public Image(Texture2D tex)
 {
     this.desc    = new WaterDynamics.ImageDesc(tex);
     this.texture = tex;
     this.pixels  = this.GetDisplacementPixelsFromTexture(tex);
 }
 private static extern void RasterBindImage_Native(ref WaterDynamics.ImageDesc desc, ref byte pixels);
 private void RasterBindImage(WaterDynamics.Image image)
 {
     this.imageDesc   = image.desc;
     this.imagePixels = image.pixels;
 }