public void SetColourEffectsConfig(IColourEffectsStage effect, ColourEffectConfiguration config, float transitionSeconds) { if (effect == null) { throw new Yak2DException("Unable to set colour effect as stage passed is null"); } SetColourEffectsConfig(effect.Id, config, transitionSeconds); }
public void SetColourEffectsConfig(ulong effect, ColourEffectConfiguration config, float transitionSeconds) { config.SingleColour = Utility.Clamper.Clamp(config.SingleColour, 0.0f, 1.0f); config.GrayScale = Utility.Clamper.Clamp(config.GrayScale, 0.0f, 1.0f); config.Colourise = Utility.Clamper.Clamp(config.Colourise, 0.0f, 1.0f); config.Negative = Utility.Clamper.Clamp(config.Negative, 0.0f, 1.0f); config.Opacity = Utility.Clamper.Clamp(config.Opacity, 0.0f, 1.0f); transitionSeconds = Utility.Clamper.Clamp(transitionSeconds, 0.0f, float.MaxValue); CacheRenderStageModelInVisitor(effect); _renderStageVisitor.CachedColourEffectModel?.SetEffectTransition(ref config, ref transitionSeconds); }
public void SetEffectTransition(ref ColourEffectConfiguration config, ref float transitionSeconds) { transitionSeconds = Clamper.Clamp(transitionSeconds, 0.0f, float.MaxValue); //Might be duplicated clamp for this value if (transitionSeconds == 0.0f) { _current = config; _isTransitioning = false; UpdateBufferAndClearColour(); return; } _previous = _current; _target = config; _transitionTotalTime = transitionSeconds; _transitionCurrentTime = 0.0f; _isTransitioning = true; }
public ColourEffectsStageModel(IFrameworkMessenger frameworkMessenger, ISystemComponents systemComponents) { _frameworkMessenger = frameworkMessenger; _systemComponents = systemComponents; _current = new ColourEffectConfiguration() { ColourForSingleColourAndColourise = new Colour(1.0f, 1.0f, 1.0f, 1.0f), BackgroundClearColour = new Colour(0.0f, 0.0f, 0.0f, 0.0f), SingleColour = 0.0f, Negative = 0.0f, Colourise = 0.0f, GrayScale = 0.0f, Opacity = 1.0f }; _isTransitioning = false; CreateBuffer(); UpdateBufferAndClearColour(); }