protected override void OnUpdate(float time, float previousTime) { if (steadyCamEffect > 0 && time != previousTime) { DirectorCamera.ApplyNoise(steadyCamEffect, GetClipWeight(time, 1f)); } if (blendInEffect == BlendInEffectType.FadeIn) { if (time <= blendIn) { var color = Color.black; color.a = Easing.Ease(EaseType.QuadraticInOut, 1, 0, GetClipWeight(time)); DirectorGUI.UpdateFade(color); } else if (time < length - blendOut) { DirectorGUI.UpdateFade(Color.clear); } } if (blendOutEffect == BlendOutEffectType.FadeOut) { if (time >= length - blendOut) { var color = Color.black; color.a = Easing.Ease(EaseType.QuadraticInOut, 1, 0, GetClipWeight(time)); DirectorGUI.UpdateFade(color); } else if (time > blendIn) { DirectorGUI.UpdateFade(Color.clear); } } if (blendInEffect == BlendInEffectType.CrossDissolve && previousShot != null && previousShot.targetShot != null) { if (time <= blendIn) { var res = new Vector2(Screen.width, Screen.height); #if UNITY_EDITOR res = EditorTools.GetGameViewSize(); #endif var dissolver = previousShot.targetShot.GetRenderTexture((int)res.x, (int)res.y); var ease = Easing.Ease(EaseType.QuadraticInOut, 0, 1, GetClipWeight(time)); DirectorGUI.UpdateDissolve(dissolver, ease); } else { DirectorGUI.UpdateDissolve(null, 0); } } }
protected override void OnReverse() { DirectorGUI.UpdateFade(lastFadeColor); DirectorGUI.UpdateDissolve(null, 0); track.currentShot = previousShot; }