using UnityEngine; using ERAGANX.Parallax2D.Runtime; using ERAGANX.Parallax2D.Layers; public sealed class GuidePresets : MonoBehaviour { public Parallax2DManager manager; public Parallax2DLayer selectedLayer; public Parallax2DLayerPreset layerPreset; public Parallax2DEnvironmentPreset environmentPreset; public Parallax2DPreset compositePreset; public Parallax2DQualityController quality; private Parallax2DEnvironmentPreset sessionSnapshot; public void ApplyLayer() { if (layerPreset && selectedLayer) layerPreset.ApplyTo(selectedLayer); } public void ApplyEnvironment() { if (!environmentPreset || !manager) return; environmentPreset.ApplyTo(manager, createMissingLayers: false); if (quality) quality.Refresh(); } public void ApplyComposite() { if (compositePreset && manager) compositePreset.ApplyTo(manager); } public void CaptureSession() { if (!manager) return; if (!sessionSnapshot) sessionSnapshot = ScriptableObject .CreateInstance(); sessionSnapshot.CaptureFrom(manager); } void OnDestroy() { if (sessionSnapshot) Destroy(sessionSnapshot); } }