IEnumerator doubleTapPageActions(GameObject instructionText, float initialDelay, onDoubleTapPageActionsCompleteCB onPageActionsComplete) { Vector3 originalTextScale = instructionText.transform.localScale; m_gestureSphere.transform.position = new Vector3(0.0f, 0.0f, kSphereZPos); yield return StartCoroutine(Actions.Wait(initialDelay)); // Instruction text actions instructionText.transform.localScale = Vector3.zero; instructionText.SetActive(true); StartCoroutine(instructionText.transform.ScaleTo(originalTextScale, 0.75f, EaseType.CubeOut)); yield return StartCoroutine(Actions.Wait(1.5f)); m_gestureSphere.SetActive(true); StartCoroutine(m_gestureSphere.transform.ScaleTo(new Vector3(1.0f / transform.localScale.x, 1.0f / transform.localScale.y, 1.0f / transform.localScale.z), 0.75f, EaseType.BackOut)); yield return StartCoroutine(Actions.Wait(1.25f)); StartCoroutine(m_gestureSphere.transform.ScaleTo(new Vector3(2.0f / transform.localScale.x, 2.0f / transform.localScale.y, 2.0f / transform.localScale.z), 0.4f, EaseType.SineInOut)); yield return StartCoroutine(Actions.Wait(0.4f)); StartCoroutine(m_gestureSphere.transform.ScaleTo(new Vector3(1.0f / transform.localScale.x, 1.0f / transform.localScale.y, 1.0f / transform.localScale.z), 0.4f, EaseType.SineInOut)); yield return StartCoroutine(Actions.Wait(0.4f)); StartCoroutine(m_gestureSphere.transform.ScaleTo(new Vector3(2.0f / transform.localScale.x, 2.0f / transform.localScale.y, 2.0f / transform.localScale.z), 0.4f, EaseType.SineInOut)); yield return StartCoroutine(Actions.Wait(0.4f)); StartCoroutine(m_gestureSphere.transform.ScaleTo(new Vector3(1.0f / transform.localScale.x, 1.0f / transform.localScale.y, 1.0f / transform.localScale.z), 0.4f, EaseType.SineInOut)); yield return StartCoroutine(Actions.Wait(0.6f)); StartCoroutine(m_gestureSphere.transform.ScaleTo(Vector3.zero, 0.75f, EaseType.CubeIn)); StartCoroutine(instructionText.transform.ScaleTo(Vector3.zero, 0.75f, EaseType.CubeIn)); yield return StartCoroutine(Actions.Wait(0.75f)); m_gestureSphere.SetActive(false); instructionText.SetActive(false); instructionText.transform.localScale = originalTextScale; onPageActionsComplete(); yield return 0; }
public void doDoubleTapPageActions(GameObject instructionText, float initialDelay, onDoubleTapPageActionsCompleteCB onPageActionsComplete) { StartCoroutine(doubleTapPageActions(instructionText, initialDelay, onPageActionsComplete)); }