public WaterConstantRipplesModule(Game2DWater waterObject, WaterConstantRipplesModuleParameters parameters, Transform ripplesEffectsRoot) { _waterObject = waterObject; _isActive = parameters.IsActive; _updateWhenOffscreen = parameters.UpdateWhenOffscreen; _randomizeDisturbance = parameters.RandomizeDisturbance; _smoothRipples = parameters.SmoothDisturbance; _smoothingFactor = parameters.SmoothFactor; _disturbance = parameters.Disturbance; _minimumDisturbance = parameters.MinimumDisturbance; _maximumDisturbance = parameters.MaximumDisturbance; _randomizeTimeInterval = parameters.RandomizeInterval; _timeInterval = parameters.Interval; _minimumTimeInterval = parameters.MinimumInterval; _maximumTimeInterval = parameters.MaximumInterval; _randomizeRipplesSourcePositions = parameters.RandomizeRipplesSourcesPositions; _randomRipplesSourceCount = parameters.RandomizeRipplesSourcesCount; _allowDuplicateRipplesSourcePositions = parameters.AllowDuplicateRipplesSourcesPositions; _sourcePositions = parameters.SourcePositions; _ripplesEffectsRoot = CreateRipplesEffectsRoot(ripplesEffectsRoot); _particleEffect = new WaterRipplesParticleEffect(parameters.ParticleEffectParameters, _ripplesEffectsRoot); _soundEffect = new WaterRipplesSoundEffect(parameters.SoundEffectParameters, _ripplesEffectsRoot); }
internal void Validate(WaterConstantRipplesModuleParameters parameters) { IsActive = parameters.IsActive; UpdateWhenOffscreen = parameters.UpdateWhenOffscreen; RandomizeDisturbance = parameters.RandomizeDisturbance; SmoothRipples = parameters.SmoothDisturbance; SmoothingFactor = parameters.SmoothFactor; Disturbance = parameters.Disturbance; MinimumDisturbance = parameters.MinimumDisturbance; MaximumDisturbance = parameters.MaximumDisturbance; RandomizeTimeInterval = parameters.RandomizeInterval; TimeInterval = parameters.Interval; MinimumTimeInterval = parameters.MinimumInterval; MaximumTimeInterval = parameters.MaximumInterval; RandomizeRipplesSourcePositions = parameters.RandomizeRipplesSourcesPositions; RandomRipplesSourceCount = parameters.RandomizeRipplesSourcesCount; AllowDuplicateRipplesSourcePositions = parameters.AllowDuplicateRipplesSourcesPositions; SourcePositions = parameters.SourcePositions; _particleEffect.Validate(parameters.ParticleEffectParameters); _soundEffect.Validate(parameters.SoundEffectParameters); if (Application.isPlaying) { RecomputeIndices(); } }