Пример #1
0
 void OnTriggerEnter2D(Collider2D other)
 {
     if (other.gameObject.CompareTag("Current Pointer"))
     {
         PointerLabel fraction = other.gameObject.GetComponent <PointerLabel> ();
         fraction.SetValue(this.numerator, this.denominator);
     }
 }
Пример #2
0
    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);
    }