Ejemplo n.º 1
0
    IEnumerator MoveCamera()
    {
        mCameraIsMoving = true;

        Transform startingTransform = new GameObject().transform;

        startingTransform.position = this.transform.position;
        startingTransform.rotation = this.transform.rotation;

        Transform currentTransform          = this.transform;
        float     time                      = 0.0f;
        float     percentageOfTimeCompleted = 0.0f;
        float     step                      = percentageOfTimeCompleted;

        while (time <= mTimeToReachDestination)
        {
            time += Time.deltaTime;
            percentageOfTimeCompleted = time / mTimeToReachDestination;
            step = Lineartransformations.SmoothStop2(percentageOfTimeCompleted);

            currentTransform.position = Vector3.Lerp(startingTransform.position, mTargetTransformLocation.position, step);
            currentTransform.rotation = Quaternion.Lerp(startingTransform.rotation, mTargetTransformLocation.rotation, step);

            yield return(new WaitForSeconds(Time.deltaTime));
        }

        yield return(new WaitForEndOfFrame());

        mCameraIsMoving = false;
    }
Ejemplo n.º 2
0
    private void ApplyScaledTorque(Vector3 fieldForceDirection, Collider other, Vector3 mowerCasterPosition, Vector3 lowerWheelLocaition)
    {
        Vector3 cross = Vector3.Cross(fieldForceDirection, other.transform.forward);

        cross.y = 0;
        cross.x = Lineartransformations.ReverseScale(Lineartransformations.SmoothStop2, cross.x);
        cross.z = Lineartransformations.ReverseScale(Lineartransformations.SmoothStop2, cross.z);

        Rigidbody mowerRigidBody = other.transform.parent.GetComponent <Rigidbody>();

        ApplyTorqueAtPositionAroundPosition(mTorqueForceMagnitude * cross, mowerCasterPosition, lowerWheelLocaition, mowerRigidBody);
        //Debug.Log(mTorqueForceMagnitude * cross);
    }
Ejemplo n.º 3
0
    IEnumerator CountDownOneNumber(int startingInt)
    {
        mContainerWtihShiftSound.PlayOneTimeSound();

        mNumberText.text = startingInt.ToString();

        float time       = 0.0f;
        float scaledTime = time;
        float scaleChange;
        Color tempNumberColor  = mNumberText.color;
        Color tempOutlineColor = mOutline.effectColor;

        while (time < 1.0f)
        {
            scaledTime = Lineartransformations.SmoothStart3(time);

            scaleChange = mFontMaxandMin.y + (mFontMaxandMin.x - mFontMaxandMin.y * scaledTime);

            mNumberText.fontSize = (int)scaleChange;

            tempNumberColor.a = 1.0f - scaledTime;
            mNumberText.color = tempNumberColor;

            tempOutlineColor.a   = 1.0f - scaledTime;
            mOutline.effectColor = tempOutlineColor;

            time += Time.deltaTime;
            yield return(new WaitForSeconds(Time.deltaTime));
        }

        startingInt--;
        if (startingInt > 0)
        {
            StartCoroutine(CountDownOneNumber(startingInt));
        }
        else
        {
            EndCountDown();
        }
    }
Ejemplo n.º 4
0
    IEnumerator Fade(float targetAlpha)
    {
        Image endGameImage = mFadeImage;

        Color tempColor     = endGameImage.color;
        float startingAlpha = tempColor.a;

        float time = 0.0f;
        float percentageOfTimeCompleted = 1f;
        float step = percentageOfTimeCompleted;

        while (time <= mFadeTime)
        {
            time += Time.deltaTime;

            percentageOfTimeCompleted = time / mFadeTime;
            step = Lineartransformations.SmoothStop3(percentageOfTimeCompleted);

            tempColor.a        = Mathf.Lerp(startingAlpha, targetAlpha, step);
            endGameImage.color = tempColor;

            yield return(new WaitForSeconds(Time.deltaTime));
        }
    }