using UnityEngine; using ERAGANX.WaterReflection2D; public sealed class GuideWaterSelection : MonoBehaviour { [SerializeField] WaterReflectionSurface water = null; [SerializeField] LayerMask included = 0; [SerializeField] LayerMask excluded = 0; [SerializeField] LayerMask movingActors = 0; [SerializeField] Sprite puddleShape = null; [SerializeField] Renderer[] selectedRenderers = null; public void UseHybridLayers() { if (!water) return; var settings = water.Settings; settings.Capture.IncludedLayers = included; settings.Capture.ExcludedLayers = excluded; settings.Capture.ObjectFilter = ReflectionObjectFilter.Layers; settings.Optimization.DynamicLayers = movingActors; water.SetReflectionMode(ReflectionMode.Hybrid); water.NotifySettingsChanged(); water.SetSurfaceShape(puddleShape, 0.001f); water.RefreshCachedReflection(); } public void UseSelectedSprites() { if (!water) return; water.Settings.Capture.ObjectFilter = ReflectionObjectFilter.IncludeSelected; water.Settings.Capture.SelectedRenderers = selectedRenderers; water.SetReflectionMode(ReflectionMode.LightweightSprite); water.NotifySettingsChanged(); } }