void FocusPostProcessing() { foreach (PostProcessVolume m_Volume in m_VolumeList) { m_Volume.profile.TryGetSettings(out depthOfFieldLayer); float a = depthOfFieldLayer.focusDistance.value; float b = 300f; float c = b - a; //Bloom Values depthOfFieldLayer.enabled.value = true; depthOfFieldLayer.focusDistance.value = TweenManager.EaseInOutQuint(tweenTimeValue, a, c, totalTweenDuration); if (depthOfFieldLayer.focusDistance.value == 300f) { float temp = b; b = a; a = temp; a = 0.1f; } /* * PLUS LA VALEUR CURRENT FOCUS SE RAPPROCHE DE TARGET FOCUS, PLUS LA VALEUR FOCAL LENGTH DOIT SE RAPPROCHER DE FOCUS DISTANCE * focus distance = 150 * focal length = Lerp(300, 150, totalTweenDuration) * if startValue = 150, *flip* */ } }
IEnumerator FadeTransition(float startValue, float targetValue, float transitionDuration, float timePassed) { transitionCanvas.sortingOrder = 999; float valueChange = targetValue - startValue; Color alphaColor = new Color(); alphaColor = fadeImage.color; while (timePassed <= transitionDuration) { timePassed += Time.deltaTime; switch (transitionType) { case TransitionType.LinearTween: alphaColor.a = TweenManager.LinearTween(timePassed, startValue, valueChange, transitionDuration); yield return(null); break; case TransitionType.EaseInQuad: alphaColor.a = TweenManager.EaseInQuad(timePassed, startValue, valueChange, transitionDuration); yield return(null); break; case TransitionType.EaseOutQuad: alphaColor.a = TweenManager.EaseOutQuad(timePassed, startValue, valueChange, transitionDuration); yield return(null); break; case TransitionType.EaseInOutQuad: alphaColor.a = TweenManager.EaseInOutQuad(timePassed, startValue, valueChange, transitionDuration); yield return(null); break; case TransitionType.EaseInOutQuint: alphaColor.a = TweenManager.EaseInOutQuint(timePassed, startValue, valueChange, transitionDuration); yield return(null); break; case TransitionType.EaseInOutSine: alphaColor.a = TweenManager.EaseInOutSine(timePassed, startValue, valueChange, transitionDuration); yield return(null); break; } fadeImage.color = alphaColor; } }
void EaseInOutQuadFocus() { distanceToFocalMax = focalEndPosition - focalStartPosition; if (tweenTimeValue < totalTweenDuration) { currentFocus = TweenManager.EaseInOutQuint(tweenTimeValue, focalStartPosition, distanceToFocalMax, totalTweenDuration); } if (tweenTimeValue > totalTweenDuration) { Debug.Log("I've finished Easing"); float temp = focalEndPosition; focalEndPosition = focalStartPosition; focalStartPosition = temp; tweenTimeValue = 0.0f; } }
//fucntion that actually moves the cube public IEnumerator MoveCube(Vector3 destination, bool isFalling) // TODO : Change isFalling logic { isStopMouv = false; currentPos = basePos = transform.position; //float currentV = 0; change = destination - basePos; while (time <= moveTime) { time += Time.deltaTime; switch (transitionType) { case _LoaderQueuer.TransitionType.LinearTween: currentPos.x = TweenManager.LinearTween(time, basePos.x, change.x, moveTime); currentPos.y = TweenManager.LinearTween(time, basePos.y, change.y, moveTime); currentPos.z = TweenManager.LinearTween(time, basePos.z, change.z, moveTime); yield return(null); break; case _LoaderQueuer.TransitionType.EaseInQuad: currentPos.x = TweenManager.EaseInQuad(time, basePos.x, change.x, moveTime); currentPos.y = TweenManager.EaseInQuad(time, basePos.y, change.y, moveTime); currentPos.z = TweenManager.EaseInQuad(time, basePos.z, change.z, moveTime); yield return(null); break; case _LoaderQueuer.TransitionType.EaseOutQuad: currentPos.x = TweenManager.EaseOutQuad(time, basePos.x, change.x, moveTime); currentPos.y = TweenManager.EaseOutQuad(time, basePos.y, change.y, moveTime); currentPos.z = TweenManager.EaseOutQuad(time, basePos.z, change.z, moveTime); yield return(null); break; case _LoaderQueuer.TransitionType.EaseInOutQuad: currentPos.x = TweenManager.EaseInOutQuad(time, basePos.x, change.x, moveTime); currentPos.y = TweenManager.EaseInOutQuad(time, basePos.y, change.y, moveTime); currentPos.z = TweenManager.EaseInOutQuad(time, basePos.z, change.z, moveTime); yield return(null); break; case _LoaderQueuer.TransitionType.EaseInOutQuint: currentPos.x = TweenManager.EaseInOutQuint(time, basePos.x, change.x, moveTime); currentPos.y = TweenManager.EaseInOutQuint(time, basePos.y, change.y, moveTime); currentPos.z = TweenManager.EaseInOutQuint(time, basePos.z, change.z, moveTime); yield return(null); break; case _LoaderQueuer.TransitionType.EaseInOutSine: currentPos.x = TweenManager.EaseInOutSine(time, basePos.x, change.x, moveTime); currentPos.y = TweenManager.EaseInOutSine(time, basePos.y, change.y, moveTime); currentPos.z = TweenManager.EaseInOutSine(time, basePos.z, change.z, moveTime); yield return(null); break; } transform.position = currentPos; } currentPos = destination; transform.position = currentPos; currentTime = 0; isStopMouv = true; if (hasChildCubes == true) // Si il a des enfant, les enfants doivent checker si ils sont dans le vide { foreach (_MovableCube cubes in physicCube) { cubes.MakeMouv(); } hasChildCubes = false; physicCube.Clear(); // Reset la liste des cubes qui sont aussi dessus du cube } foreach (_MovableCube push in pushCube) { push.MakeMouv(); } pushCube.Clear(); time = 0; yield return(null); }
//fucntion that actually moves the cube public IEnumerator MoveCube(Vector3 destination, bool isFalling, int playerMouv) // TODO : Change isFalling logic { if (!isStatic) // Check si le cube est static ( surement va se faire tej ) { isStopMouv = false; // Annonce que le cube va bouger currentPos = basePos = transform.position; //float currentV = 0; change = destination - basePos; while (time <= moveTime) // Mouvement du cube { time += Time.deltaTime; switch (transitionType) { case _LoaderQueuer.TransitionType.LinearTween: currentPos.x = TweenManager.LinearTween(time, basePos.x, change.x, moveTime); currentPos.y = TweenManager.LinearTween(time, basePos.y, change.y, moveTime); currentPos.z = TweenManager.LinearTween(time, basePos.z, change.z, moveTime); yield return(null); break; case _LoaderQueuer.TransitionType.EaseInQuad: currentPos.x = TweenManager.EaseInQuad(time, basePos.x, change.x, moveTime); currentPos.y = TweenManager.EaseInQuad(time, basePos.y, change.y, moveTime); currentPos.z = TweenManager.EaseInQuad(time, basePos.z, change.z, moveTime); yield return(null); break; case _LoaderQueuer.TransitionType.EaseOutQuad: currentPos.x = TweenManager.EaseOutQuad(time, basePos.x, change.x, moveTime); currentPos.y = TweenManager.EaseOutQuad(time, basePos.y, change.y, moveTime); currentPos.z = TweenManager.EaseOutQuad(time, basePos.z, change.z, moveTime); yield return(null); break; case _LoaderQueuer.TransitionType.EaseInOutQuad: currentPos.x = TweenManager.EaseInOutQuad(time, basePos.x, change.x, moveTime); currentPos.y = TweenManager.EaseInOutQuad(time, basePos.y, change.y, moveTime); currentPos.z = TweenManager.EaseInOutQuad(time, basePos.z, change.z, moveTime); yield return(null); break; case _LoaderQueuer.TransitionType.EaseInOutQuint: currentPos.x = TweenManager.EaseInOutQuint(time, basePos.x, change.x, moveTime); currentPos.y = TweenManager.EaseInOutQuint(time, basePos.y, change.y, moveTime); currentPos.z = TweenManager.EaseInOutQuint(time, basePos.z, change.z, moveTime); yield return(null); break; case _LoaderQueuer.TransitionType.EaseInOutSine: currentPos.x = TweenManager.EaseInOutSine(time, basePos.x, change.x, moveTime); currentPos.y = TweenManager.EaseInOutSine(time, basePos.y, change.y, moveTime); currentPos.z = TweenManager.EaseInOutSine(time, basePos.z, change.z, moveTime); yield return(null); break; } transform.position = currentPos; } currentPos = destination; transform.position = currentPos; // Au cas ou, TP le cube sur la position final ( précision ) isStopMouv = true; // Le cube arrete de bouger //Debug.LogError("isFalling + " + isFalling); if (isFalling == false) { DataManager.instance.AddListActive(0); // Rajoute le deplacement dans les liste de déplacement ( liée au Undo ) } if (hasChildCubes == true) // Si il a des enfant, les enfants doivent checker si ils sont dans le vide { foreach (_MovableCube cubes in physicCube) { cubes.MakeMouv(); } hasChildCubes = false; physicCube.Clear(); // Reset la liste des cubes qui sont aussi dessus du cube } //if (stickyCube != null) // stickyCube.CheckSides(); if (OutsideKUB == false) { MakeMouv(); // CheckFloor au cas ou il est dans les air } time = 0; // Reset Lerp value //parentReset(); GetBasePoint(); // Get TOuch First Position if (playerMouv == 1) { DataManager.instance.EndMouvement.Invoke(); } } else { yield return(null); } }
public static IEnumerator FadeTransition(float startValue, float targetValue, float transitionDuration, float timePassed, string type) { float valueChange = targetValue - startValue; Color alphaColor = new Color(); if (type == "Transition") { alphaColor = UIManager.instance.transitionCanvasImage.color; } else if (type == "DimGame") { alphaColor = UIManager.instance.gameDimImage.color; } while (timePassed <= transitionDuration) { timePassed += Time.deltaTime; switch (_LoaderQueuer.instance.transitionType) { case TransitionType.LinearTween: alphaColor.a = TweenManager.LinearTween(timePassed, startValue, valueChange, transitionDuration); yield return(null); break; case TransitionType.EaseInQuad: alphaColor.a = TweenManager.EaseInQuad(timePassed, startValue, valueChange, transitionDuration); yield return(null); break; case TransitionType.EaseOutQuad: alphaColor.a = TweenManager.EaseOutQuad(timePassed, startValue, valueChange, transitionDuration); yield return(null); break; case TransitionType.EaseInOutQuad: alphaColor.a = TweenManager.EaseInOutQuad(timePassed, startValue, valueChange, transitionDuration); yield return(null); break; case TransitionType.EaseInOutQuint: alphaColor.a = TweenManager.EaseInOutQuint(timePassed, startValue, valueChange, transitionDuration); yield return(null); break; case TransitionType.EaseInOutSine: alphaColor.a = TweenManager.EaseInOutSine(timePassed, startValue, valueChange, transitionDuration); yield return(null); break; } if (type == "Transition") { UIManager.instance.transitionCanvasImage.color = alphaColor; } else if (type == "DimGame") { UIManager.instance.gameDimImage.color = alphaColor; } } }