Пример #1
0
    void goodHit(int skip) // when a hit is correct
    {
        streak++;
        GameObject toBeDeleted = currentNotes[skip];//dequeue first in queue

        currentNotes.RemoveAt(skip);

        foreach (GameObject ge in currentNotes)
        {
            EnemyMoveScript eMoveScript = ge.GetComponent <EnemyMoveScript>();
            eMoveScript.isMoving = true;
        }
        Destroy(toBeDeleted);
        limit--;

        toBeDeleted = currentMonster[skip];//dequeue first in queue
        currentMonster.RemoveAt(skip);
        // sprite exploder stuff


        IncreaseScore(toBeDeleted);//increment the score
        UpdateUI();
        top_bar.setPercentage(score / scoreMin);

        foreach (GameObject ge in currentMonster)
        {
            EnemyMoveScript eMoveScript = ge.GetComponent <EnemyMoveScript>();
            eMoveScript.isMoving = true;
        }
        Destroy(toBeDeleted);
        foreach (GameObject go in GameObject.FindGameObjectsWithTag("background"))
        {
            go.GetComponent <background_scroll>().isMoving = true;
        }
        IncreaseEnemyCount();
        if (!IsInvoking("Spawn"))
        {
            InvokeRepeating("Spawn", 1, spawnTime);
        }
        if ((streak % 10) == 0 && streak != 0)
        {
            IncreaseThreshold();
        }
    }
Пример #2
0
    public void KeyPress(int key)  //called when a key has been pressed
    {
        if (limit > 0)
        {
            GameObject     firstNote = currentNotes.Peek();
            BossMoveScript ems       = firstNote.GetComponent <BossMoveScript>();
            if (ems.BossIsInThreshold == true && ems.assignedKey == key)
            {
                streak++;
                GameObject toBeDeleted = currentNotes.Dequeue();//dequeue first in queue

                foreach (GameObject ge in currentNotes)
                {
                    BossMoveScript eMoveScript = ge.GetComponent <BossMoveScript>();
                    eMoveScript.BossIsMoving = true;
                }
                Destroy(toBeDeleted);
                limit--;

                //toBeDeleted = currentMonster.Dequeue();//dequeue first in queue

                // sprite exploder stuff
                try {
                    // trigger the explosion
                    toBeDeleted.GetComponent <SpriteExploder>().ExplodeSprite();
                    // unparent the explosion object so it doesn't get deleted below
                    Transform explosion = toBeDeleted.transform.Find("ExplosionPixels");
                    explosion.transform.parent = null;
                }
                // for all the enemies who don't explode yet
                catch (System.Exception ex) {
                    print("Error: I probably don't have a sprite exploder.");
                    print(ex.Message);
                }

                IncreaseScore(toBeDeleted);//increment the score
                UpdateUI();
                top_bar.setPercentage(score / 2400f);

                /*foreach (GameObject ge in currentMonster)
                 * {
                 *  BossMoveScript eMoveScript = ge.GetComponent<BossMoveScript>();
                 *  eMoveScript.BossIsMoving = true;
                 * }
                 * Destroy(toBeDeleted);*/
                foreach (GameObject go in GameObject.FindGameObjectsWithTag("background"))
                {
                    go.GetComponent <background_scroll>().isMoving = true;
                }
                IncreaseEnemyCount();
                if (!IsInvoking("Spawn"))
                {
                    InvokeRepeating("Spawn", 1, spawnTime);
                }
                if ((streak % 10) == 0 && streak != 0)
                {
                    IncreaseThreshold();
                }
            }
            else
            {
                streak = 0;
                bad_hit++;
                if (bad_hit >= 3)
                {
                    if (AmbrosiaCount >= 1)
                    {
                        AmbrosiaCount--;
                        statusText.text = "Ambrosia Activated ";
                        UpdateUI();
                        bad_hit = 0;
                    }
                    else
                    {
                        DecreaseThreshold();
                    }
                }
            }
        }

        noteText.text = "Last note pressed: " + noteNames[key - 21];
    }