Пример #1
0
        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 EaseInQuadFocus()
    {
        distanceToFocalMax = focalEndPosition - focalStartPosition;

        if (tweenTimeValue < totalTweenDuration)
        {
            currentFocus = TweenManager.EaseInQuad(tweenTimeValue, focalStartPosition, distanceToFocalMax, totalTweenDuration);
            if (currentFocus == maxFocus)
            {
                currentFocus = TweenManager.EaseOutQuad(tweenTimeValue, focalStartPosition, distanceToFocalMax, totalTweenDuration);
            }
        }
        if (tweenTimeValue > totalTweenDuration)
        {
            Debug.Log("I've finished Easing");
            float temp = focalEndPosition;
            focalEndPosition   = focalStartPosition;
            focalStartPosition = temp;
            tweenTimeValue     = 0.0f;
        }
    }
Пример #3
0
        //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);
        }
Пример #4
0
        //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);
            }
        }
Пример #5
0
        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;
                }
            }
        }