public WaterfallRenderingModule(Game2DWaterfall waterfallObject, WaterfallRenderingModuleParameters parameters)
            : base(parameters.RenderPixelLights, parameters.FarClipPlane, parameters.AllowMSAA, parameters.AllowHDR, parameters.SortingLayerID, parameters.SortingOrder)
        {
            _waterfallObject = waterfallObject;

            Refraction = new WaterRenderingMode(parameters.RefractionParameters, false);
        }
        private void ExecuteRendering(WaterRenderingMode renderingMode, Camera camera, WaterRenderingVisibleArea visibleArea, Color backgroundColor, bool hdr, bool msaa, int extraLayersToIgnoreMask = 0)
        {
#if GAME_2D_WATER_KIT_LWRP || GAME_2D_WATER_KIT_URP
            renderingMode.Render(_renderingContext, camera, visibleArea, backgroundColor, hdr, msaa, extraLayersToIgnoreMask);
#else
            renderingMode.Render(camera, visibleArea, backgroundColor, hdr, msaa, extraLayersToIgnoreMask);
#endif
        }
        public WaterRenderingModule(Game2DWater waterObject, WaterRenderingModuleParameters parameters)
            : base(parameters.RenderPixelLights, parameters.FarClipPlane, parameters.AllowMSAA, parameters.AllowHDR, parameters.SortingLayerID, parameters.SortingOrder)
        {
            _waterObject = waterObject;

            ReflectionZOffset = parameters.ReflectionZOffset;

            Refraction = new WaterRenderingMode(parameters.RefractionParameters, isReflectionMode: false);
            RefractionPartiallySubmergedObjects = new WaterRenderingMode(parameters.RefractionPartiallySubmergedObjectsParameters, isReflectionMode: false);
            Reflection = new WaterRenderingMode(parameters.ReflectionParameters, isReflectionMode: true);
            ReflectionPartiallySubmergedObjects = new WaterRenderingMode(parameters.ReflectionPartiallySubmergedObjectsParameters, isReflectionMode: true);
        }
        public WaterRenderingModule(WaterRenderingModuleParameters parameters, Transform renderingCamerasRoot)
        {
            _renderPixelLights = parameters.RenderPixelLights;
            _farClipPlane      = parameters.FarClipPlane;
            _allowHDR          = parameters.AllowHDR;
            _allowMSAA         = parameters.AllowMSAA;
            _sortingLayerID    = parameters.SortingLayerID;
            _sortingOrder      = parameters.SortingOrder;

            _refraction = new WaterRenderingMode(this, parameters.RefractionParameters, renderingCamerasRoot, isReflectionMode: false);
            _refractionPartiallySubmergedObjects = new WaterRenderingMode(this, parameters.RefractionPartiallySubmergedObjectsParameters, renderingCamerasRoot, isReflectionMode: false);
            _reflection = new WaterRenderingMode(this, parameters.ReflectionParameters, renderingCamerasRoot, isReflectionMode: true);
            _reflectionPartiallySubmergedObjects = new WaterRenderingMode(this, parameters.ReflectionPartiallySubmergedObjectsParameters, renderingCamerasRoot, isReflectionMode: true);
        }