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 MoveToTarget() { time += Time.deltaTime; change = targetPosition - startPosition; if (time <= duration) { transform.position = new Vector2(TweenManager.LinearTween(time, startPosition.x, change.x, duration), transform.position.y); } if (Mathf.Round(transform.position.x) == target.transform.position.x) { Destroy(gameObject); } }
private void increaseSpringJoint() { springJoint.spring = weakSpringValue; timePassed += Time.deltaTime; change = targetValue - startValue; springJoint.spring = TweenManager.LinearTween(timePassed, startValue, change, tweenDuration); if (timePassed >= tweenDuration) { springJoint.spring = startValue; timePassed = 0f; struckBall = false; } }
private void MoveToTrash() { time += Time.deltaTime; targetPosition = trashExit.transform.position; change = targetPosition - startPosition; if (time <= duration) { transform.position = new Vector2(TweenManager.LinearTween(time, startPosition.x, change.x, durationForTrash), TweenManager.LinearTween(time, startPosition.y, change.y, durationForTrash)); } if (time >= duration) { if (Mathf.Round(transform.position.x) == targetPosition.x) { Destroy(gameObject); } } }
// Update is called once per frame void Update() { if (!ItemGenerator.gameOver) { if (Input.GetKeyDown(KeyCode.Space)) { slamming = true; slamSFX.Play(); } if (slamming) { gorillaSr.sprite = armsDown; gorillaSr.sortingOrder = 9; change = targetPosition - startPosition; if (time <= duration) { time += Time.deltaTime; transform.position = new Vector2(targetPosition.x, TweenManager.LinearTween(time, startPosition.y, change.y, duration)); slamSr.enabled = true; } if (time >= duration) { slamming = false; transform.position = startPosition; time = 0f; } } else { //slamSFX.Stop(); gorillaSr.sprite = armsUp; gorillaSr.sortingOrder = 1; slamSr.enabled = false; } } }
//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; } } }