void OnTriggerEnter2D(Collider2D other) { if (other.gameObject.CompareTag("Current Pointer")) { PointerLabel fraction = other.gameObject.GetComponent <PointerLabel> (); fraction.SetValue(this.numerator, this.denominator); } }
private IEnumerator MovePointer(float numerator, float denominator) { fractionLabel.SetActive(true); // pauseController.PauseGame (); GameController_v7.Instance.GetPauseController().Pause(); int i = (int)numerator; if (numerator > denominator) { for (int j = 0; j < (numerator - denominator); j++) { ExtendLine(); } } PointerLabel label = lcdAnswerPointer.GetComponent <PointerLabel> (); float startTime = Time.unscaledTime; float journeyLength = Vector2.Distance(this.lcdAnswerPointer.transform.position, segments[i].transform.position); float distCovered; float fracJourney; lineRenderer.positionCount = 2; Vector3[] listPositions = new Vector3[2]; float distanceMultiplier = 0.25f; Physics2D.autoSimulation = false; while (this.lcdAnswerPointer.transform.position != segments[i].transform.position) { distCovered = (Time.unscaledTime - startTime) * distanceMultiplier; fracJourney = distCovered / journeyLength; Physics2D.Simulate(fracJourney); this.lcdAnswerPointer.transform.position = Vector3.MoveTowards(this.lcdAnswerPointer.transform.position, segments[i].transform.position, fracJourney); listPositions [0] = new Vector3(this.transform.position.x, this.transform.position.y, -1.0f); listPositions [1] = new Vector3(lcdAnswerPointer.transform.position.x, this.transform.position.y, -1.0f); //pointer.transform.position.y, (float)-0.1); highlightRenderer.SetPositions(listPositions); yield return(null); } label.SetValue(segments [i].GetComponent <SegmentCollider> ().GetNumerator(), segments [i].GetComponent <SegmentCollider> ().GetDenominator()); for (int j = 0; j < 2; j++) { yield return(new WaitForSecondsRealtime(1.0f)); } while (this.lcdAnswerPointer.transform.position != this.segments [0].transform.position) { distCovered = (Time.unscaledTime - startTime) * distanceMultiplier; fracJourney = distCovered / journeyLength; Physics2D.Simulate(fracJourney); this.lcdAnswerPointer.transform.position = Vector3.MoveTowards(this.lcdAnswerPointer.transform.position, this.segments [0].transform.position, fracJourney); listPositions [0] = new Vector3(this.transform.position.x, this.transform.position.y, -1.0f); listPositions [1] = new Vector3(lcdAnswerPointer.transform.position.x, this.transform.position.y, -1.0f); //pointer.transform.position.y, (float)-0.1); highlightRenderer.SetPositions(listPositions); yield return(null); } Physics2D.autoSimulation = true; // pauseController.ContinueGame (); GameController_v7.Instance.GetPauseController().Continue(); Destroy(this.gameObject); }