/// <summary> /// On play we trigger the selected fade event /// </summary> /// <param name="position"></param> /// <param name="feedbacksIntensity"></param> protected override void CustomPlayFeedback(Vector3 position, float feedbacksIntensity = 1.0f) { if (Active) { _position = GetPosition(position); _fadeType = FadeType; if (!NormalPlayDirection) { if (FadeType == FadeTypes.FadeIn) { _fadeType = FadeTypes.FadeOut; } else if (FadeType == FadeTypes.FadeOut) { _fadeType = FadeTypes.FadeIn; } } switch (_fadeType) { case FadeTypes.Custom: MMFadeEvent.Trigger(FeedbackDuration, TargetAlpha, Curve, ID, IgnoreTimeScale, _position); break; case FadeTypes.FadeIn: MMFadeInEvent.Trigger(FeedbackDuration, Curve, ID, IgnoreTimeScale, _position); break; case FadeTypes.FadeOut: MMFadeOutEvent.Trigger(FeedbackDuration, Curve, ID, IgnoreTimeScale, _position); break; } } }
//********************************************************************************************************************************************************************************************************** /// <summary> /// Create a new instance of FadeSettings class. The FadeType must be CUSTOM or UNDO_CUSTOM!!! /// </summary> /// <param name="fadeStartTime_ms">The fade begin time. Time offset of FadePoints</param> /// <param name="fadeType">fade type. Must be CUSTOM or UNDO_CUSTOM!!!</param> /// <param name="fadePointsFile">XML file that contains the fade points that describe the custom fade</param> /// <param name="fadeChannels">channels that are faded</param> public FadeSettings(double fadeStartTime_ms, FadeTypes fadeType, string fadePointsFile, AudioChannels fadeChannels) { FadeStartTime_ms = fadeStartTime_ms; try { XmlSerializer serializer = new XmlSerializer(typeof(List <PointF>)); TextReader textReader = new StreamReader(fadePointsFile); FadePoints = (List <PointF>)serializer.Deserialize(textReader); textReader.Close(); } catch (Exception) { } if (FadePoints != null) { FadePoints = FadePoints.OrderBy(p => p.X).ToList(); //Sort after X-coordinate FadeLength_ms = (FadePoints.Last().X - FadePoints.First().X); FadeBeginFactor = FadePoints.First().Y; FadeEndFactor = FadePoints.Last().Y; FadeChannels = fadeChannels; FadeShapeFactor = 10; if (fadeType != FadeTypes.CUSTOM && fadeType != FadeTypes.UNDO_CUSTOM) { FadeType = FadeTypes.CUSTOM; } else { FadeType = fadeType; } } }
public void InitiateFadeLevel(string nextLevel) { currentFadeState = FadeStates.FadeOut; currentFadeType = FadeTypes.FadeLevel; sNextLevel = nextLevel; }
//########################################################################################################################################################################################################## /// <summary> /// Create a new instance of FadeSettings class. The FadeType isn't allowed to be CUSTOM or UNDO_CUSTOM!!! Use other constructor instead to create CUSTOM fade settings. /// </summary> /// <param name="fadeStartTime_ms">Where should the fade begin in ms</param> /// <param name="fadeLength_ms">How long should the fade last in ms</param> /// <param name="fadeBeginFactor">Begin fade factor</param> /// <param name="fadeEndFactor">End fade factor</param> /// <param name="fadeChannels">Fade only left or right channel or both</param> /// <param name="fadeType">Type of the fade (Linear, Log, Hyp or Undo cases). Isn't allowed to be CUSTOM or UNDO_CUSTOM!!!</param> /// <param name="fadeShapeFactor">Factor that is used by the Log and Hyp fades</param> public FadeSettings(double fadeStartTime_ms, double fadeLength_ms, double fadeBeginFactor, double fadeEndFactor, AudioChannels fadeChannels, FadeTypes fadeType, double fadeShapeFactor = 10) { FadeStartTime_ms = fadeStartTime_ms; FadeLength_ms = fadeLength_ms; FadeBeginFactor = fadeBeginFactor; FadeEndFactor = fadeEndFactor; FadeChannels = fadeChannels; FadeShapeFactor = fadeShapeFactor; if (fadeType == FadeTypes.CUSTOM || fadeType == FadeTypes.UNDO_CUSTOM) { FadeType = FadeTypes.LINEAR; } else { FadeType = fadeType; } }
//********************************************************************************************************************************************************************************************************** /// <summary> /// Create a new instance of FadeSettings class. The FadeType must be CUSTOM or UNDO_CUSTOM!!! /// </summary> /// <param name="fadeStartTime_ms">The fade begin time. Time offset of FadePoints</param> /// <param name="fadeType">fade type. Must be CUSTOM or UNDO_CUSTOM!!!</param> /// <param name="fadePoints">Fade points that describe the custom fade</param> /// <param name="fadeChannels">channels that are faded</param> public FadeSettings(double fadeStartTime_ms, FadeTypes fadeType, List <PointF> fadePoints, AudioChannels fadeChannels) { FadePoints = fadePoints; if (FadePoints != null && FadePoints.Count > 0) { FadePoints = FadePoints.OrderBy(p => p.X).ToList(); //Sort after X-coordinate FadeLength_ms = (FadePoints.Last().X - FadePoints.First().X); FadeBeginFactor = FadePoints.First().Y; FadeEndFactor = FadePoints.Last().Y; } FadeStartTime_ms = fadeStartTime_ms; FadeChannels = fadeChannels; if (fadeType != FadeTypes.CUSTOM && fadeType != FadeTypes.UNDO_CUSTOM) { FadeType = FadeTypes.CUSTOM; } else { FadeType = fadeType; } }
public void FadeScreen(FadeTypes type) { fadeFlowchart.ExecuteBlock(type.ToString()); }