Exemplo n.º 1
0
 public void newCircleNunchunk(BeatMove beat)
 {
     if (beat.go == lastBeatNun.go)
     {
         return;
     }
     lastBeatNun = beat;
     for (int i = 0; i < nbRemotes; i++)
     {
         rdyToPlayNunchunk[i] = true;
     }
 }
Exemplo n.º 2
0
 public void newCircleWiimote(BeatMove beat)
 {
     if (beat.go == lastBeatWii.go)
     {
         return;
     }
     lastBeatWii = beat;
     for (int i = 0; i < nbRemotes; i++)
     {
         rdyToPlayWiimote[i] = true;
     }
 }
Exemplo n.º 3
0
    void Update()
    {
        if (!playback.isPlaying && first)
        {
            playback.PlayDelayed(5.1f - nextBeatTime());
            first = false;
        }

        if (!playback.isPlaying && !first && livingBeats.Count == 0)
        {
            players.endOfGame();
        }

        float tempCoordx = nextBeatTime();
        float tempCoordy = nextBeatValue();

        if (tempCoordy > 4f)
        {
            tempCoordy = 4f;
        }

        if (tempCoordx != coordx && tempCoordy != coordy)
        {
            if (livingBeats.Count == 0 || (livingBeats.Count > 0 && (Time.time - livingBeats[livingBeats.Count - 1].dateOfBirth) > 0.1f))
            {
                coordx = tempCoordx;
                coordy = tempCoordy;

                if (Random.Range(0, 2) == 0)
                {
                    coordy = coordy * -1;
                }

                BeatMove bm = new BeatMove();
                bm.go          = new GameObject();
                bm.dateOfBirth = Time.time;

                bm.go.AddComponent <SpriteRenderer>();
                if (coordy > 0)
                {
                    bm.go.GetComponent <SpriteRenderer>().sprite = beatSprite1;
                }
                else if (coordy < 0)
                {
                    bm.go.GetComponent <SpriteRenderer>().sprite = beatSprite2;
                }
                bm.go.transform.localScale = new Vector3(0.3f, 0.3f, 1);
                bm.go.transform.position   = new Vector3(startPosition.x, coordy, coordy);
                livingBeats.Add(bm);
            }
        }

        BeatMove toDestroy = new BeatMove();

        foreach (BeatMove beat in livingBeats)
        {
            float proportion = 1 - (beat.dateOfBirth + TRAVEL_TIME - Time.time) / TRAVEL_TIME;
            beat.go.transform.position = startPosition + proportion * direction + new Vector2(-0.3f * beat.go.GetComponent <SpriteRenderer>().bounds.size.x, beat.go.transform.position.y);

            if (beat.go.transform.position.x <= -8.5)
            {
                if (beat.go.transform.position.y > 0)
                {
                    players.newCircleWiimote(beat);
                }
                if (beat.go.transform.position.y < 0)
                {
                    players.newCircleNunchunk(beat);
                }

                if (beat.go.transform.position.x <= -10)
                {
                    toDestroy = beat;
                }
            }
        }
        livingBeats.Remove(toDestroy);
        Destroy(toDestroy.go);

        lineRenderer.material        = myMaterial;
        lineRenderer.widthMultiplier = 0.1f;
        List <Vector3> pointsToLineRenderer = new List <Vector3>();

        lineRenderer.colorGradient = gradient;

        pointsToLineRenderer.Add(new Vector3(-10, 0, 0));
        pointsToLineRenderer.Add(endPosition);

        foreach (BeatMove Beat in livingBeats)
        {
            pointsToLineRenderer.Add(new Vector3(Beat.go.transform.position.x - 0.2f, 0, 0));
            pointsToLineRenderer.Add(Beat.go.transform.position);
            pointsToLineRenderer.Add(new Vector3(Beat.go.transform.position.x + 0.2f, 0, 0));
        }
        pointsToLineRenderer.Add(startPosition);

        int size = pointsToLineRenderer.Count;

        Vector3[] toRender = new Vector3[size];
        for (int i = 0; i < size; i++)
        {
            toRender[i] = pointsToLineRenderer[i];
        }
        lineRenderer.positionCount = size;
        lineRenderer.SetPositions(toRender);
    }