Beispiel #1
0
    private void OnNoteJudge(float timer, int playerLine)
    {
        if (CheckBeforeNotes())
        {
            int deltaLine = player.nowLine;
            if (note.gameObject.tag == playerLine.ToString() || note.gameObject.tag == deltaLine.ToString())
            {
                if (Mathf.Abs(note.timeDiff - timer) <= NotesManagement.perfectTime / 2)
                {
                    NotesManagement.noteList [int.Parse(note.gameObject.tag) - 1].RemoveAt(0);

                    PlayerManagement.inputTrigger = true;

                    NotesManagement.perfectCount++;
                    manager.AddScore(NotesManagement.perfectScore);
                    manager.AddCombo();
                    manager.ExplosionBlue(this.gameObject.tag);
                    hp.ChangeHP(0.02000f);
                    ObjectPool.instance.ReleaseGameObject(gameObject);
                    return;
                }
                else if (Mathf.Abs(note.timeDiff - timer) <= NotesManagement.goodTime / 2)
                {
                    NotesManagement.noteList [int.Parse(note.gameObject.tag) - 1].RemoveAt(0);

                    PlayerManagement.inputTrigger = true;

                    NotesManagement.goodCount++;
                    manager.AddScore(NotesManagement.goodScore);
                    manager.AddCombo();
                    manager.ExplosionBlue(this.gameObject.tag);
                    hp.ChangeHP(0.01000f);
                    ObjectPool.instance.ReleaseGameObject(gameObject);
                    return;
                }
                else if (Mathf.Abs(note.timeDiff - timer) <= NotesManagement.badTime / 2)
                {
                    NotesManagement.noteList [int.Parse(note.gameObject.tag) - 1].RemoveAt(0);
                    PlayerManagement.inputTrigger = true;
                    Debug.Log("badだよ");
                    NotesManagement.badCount++;
                    manager.ResetCombo();
                    hp.ChangeHP(-0.05000f);
                    ObjectPool.instance.ReleaseGameObject(gameObject);
                    return;
                }
                else
                {
                    //判定外なので何もしない//
                    return;
                }
            }
        }
    }
Beispiel #2
0
    // Update is called once per frame
    void Update()
    {
        /*if (!isSE && judgeCount == 3) {
         *      isSE = true;
         *      AudioManager.Instance.PlaySE ("SE_Slide");
         * }
         *
         * if (judgeCount == 5 && okCount < 3) {
         *      isJudged = true;
         *      //NotesManagement.noteList [int.Parse (note.gameObject.tag) - 1].RemoveAt (0);
         *      NotesManagement.missCount++;
         *      manager.ResetCombo ();
         *      hp.ChangeHP (-0.05f);
         *      ObjectPool.instance.ReleaseGameObject(gameObject);
         * }*/

        /*if (okCount >= 3 && !isJudged && judgeCount == 5) {
         *      isJudged = true;
         *      //NotesManagement.noteList [int.Parse (note.gameObject.tag) - 1].RemoveAt (0);
         *      manager.ExplosionSlide();
         *      NotesManagement.perfectCount++;
         *      manager.AddScore (NotesManagement.perfectScore);
         *      manager.AddCombo ();
         *      hp.ChangeHP (0.02000f);
         *      ObjectPool.instance.ReleaseGameObject (gameObject);
         * }*/

        if (okCount >= 1 && !isJudged)
        {
            isJudged = true;
            manager.ExplosionSlide();
            AudioManager.Instance.PlaySE("SE_Slide");
            NotesManagement.perfectCount++;
            manager.AddScore(NotesManagement.perfectScore);
            manager.AddCombo();
            hp.ChangeHP(0.02000f);
            ObjectPool.instance.ReleaseGameObject(gameObject);
        }
        else if (note.timeDiff - NotesManagement.timer <= -NotesManagement.goodTime && !isJudged)
        {
            isJudged = true;
            NotesManagement.missCount++;
            manager.ResetCombo();
            hp.ChangeHP(-0.05f);
            ObjectPool.instance.ReleaseGameObject(gameObject);
        }

        if (flag)
        {
            OnNoteJudge(player.player_Pos.transform.localPosition.x, Input.GetAxis("Mouse X"));
        }
    }