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; }
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); }
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(); } }
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)); } }