Beispiel #1
0
    public void WakeUp()
    {
        running    = true;
        timeWaited = 0.0f;
        NoteDataHolder initialWait = Loader.getNextNote();

        timeToWait = initialWait.noteLength;
    }
Beispiel #2
0
 public NoteDataHolder getNextNote()
 {
     if (ReadNotes.Count > 0)
     {
         return(ReadNotes.Dequeue());
     }
     else
     {
         NoteDataHolder note = new NoteDataHolder();
         note.button     = NoteButton.WAIT;
         note.direction  = NoteDirection.NONE;
         note.noteLength = 0;
         return(note);
     }
 }
Beispiel #3
0
    //public void WakeUp()
    //{
    //	running = true;
    //	timeWaited = 0.0f;
    //	next = loader.getNextNote();
    //	timeToWait = next.noteLength;
    //}

    //void Update()
    //{
    //	if (running)
    //	{
    //		if ( timeWaited >= timeToWait )
    //		{
    //			next = loader.getNextNote();
    //			if ( next.button == NoteButton.WAIT && next.direction == NoteDirection.NONE ) //we encountered a wait
    //			{

    //			}
    //			else
    //			{
    //				Note spawnedNote = Instantiate( DetermineNote( next.button ), DetermineSpawnPoint( next.direction ), Quaternion.identity ) as Note;
    //				spawnedNote.Initialize( next.button, next.direction, DetermineNoteSpeed( next.direction ) + (Vector3.up * 1.5f) );
    //				LevelManager.Instance.NoteQueue.Enqueue( spawnedNote );
    //			}
    //			if (!loader.IsEmpty())
    //			{
    //				timeToWait = next.noteLength;
    //				next = loader.getNextNote();
    //			}
    //		}
    //		timeWaited += Time.deltaTime;
    //		if (timeWaited >= timeToWait)
    //		{

    //		}
    //	}
    //}

    void Update()
    {
        if (running)
        {
            timeWaited += Time.deltaTime;
            Debug.Log("Started Parsing notes");
            //if it spawned, spawn it
            if (timeWaited >= timeToWait)
            {
                if (!Loader.IsEmpty())
                {
                    next = Loader.getNextNote();
                    if (next.button == NoteButton.WAIT && next.direction == NoteDirection.NONE)                       //we encountered a wait
                    {
                    }
                    else
                    {
                        Note spawnedNote = Instantiate(DetermineNote(next.button), DetermineSpawnPoint(next.direction), Quaternion.identity) as Note;
                        spawnedNote.Initialize(next.button, next.direction, DetermineNoteSpeed(next.direction) + (Vector3.up * 1.5f));
                        LevelManager.Instance.NoteQueue.Enqueue(spawnedNote);
                    }

                    float extraWaited = 0;
                    float newWait     = next.noteLength;
                    if (timeWaited - timeToWait > 0)
                    {
                        extraWaited = timeWaited - timeToWait;
                    }
                    timeWaited = extraWaited;
                    timeToWait = newWait;
                    timeToWait = next.noteLength;
                }
                else
                {
                    running = false;
                    //Notify the game manager
                    GameManager.Instance.EndGame(true);
                }
            }
        }
    }
Beispiel #4
0
    private NoteDataHolder SongLineToNoteData(string fileLine, float secsPerBeat)
    {
        float numberOfBeatsToWait;

        string[] parts = fileLine.Split('.');
        if (parts[0].Contains("/"))
        {
            string[] timeToWaitParts = parts[0].Split('/');
            float    numerator       = float.Parse(timeToWaitParts[0]);
            float    denominator     = float.Parse(timeToWaitParts[1]);
            numberOfBeatsToWait = numerator / denominator;
        }
        else
        {
            numberOfBeatsToWait = float.Parse(parts[0]);
        }
        NoteDirection dir;
        NoteButton    but;

        if (parts[1] != "")
        {
            dir = Note.CharToDirection(parts[1][0]);
            but = Note.CharToButton(parts[1][1]);
        }
        else
        {
            Debug.Log("Encountered a wait for " + numberOfBeatsToWait);
            dir = NoteDirection.NONE;
            but = NoteButton.WAIT;
        }

        NoteDataHolder note = new NoteDataHolder();

        note.button     = but;
        note.direction  = dir;
        note.noteLength = secsPerBeat * numberOfBeatsToWait;
        return(note);
    }