Ejemplo n.º 1
0
    public void Hold_judge(Touch_Manager.My_touch my_Touch, float hold_end_time)
    {
        Note_data note_Data = Dc.Get_any_note_data(my_Touch.Hold_note_line, my_Touch.Hold_note_data_index);
        float     lag       = Mathf.Abs((float)note_Data.hold_end_time - hold_end_time);
        int       judgetype = -1;

        if (lag <= perfectTime)
        {
            //Debug.Log("Hold_Judge PERFECT!!! ");
            //debug_Disp_Info.disp_judge(raw_lag);
            judgetype = 1;
        }
        else if (lag <= greatTime)
        {
            //Debug.Log("Hold_Judge GREAT!! ");
            //debug_Disp_Info.disp_judge(raw_lag);
            judgetype = 2;
        }
        else if (lag <= goodTime)
        {
            //Debug.Log("Hold_Judge GREAT!! ");
            //debug_Disp_Info.disp_judge(raw_lag);
            judgetype = 3;
        }
        else if (lag <= poorTime)
        {
            //Debug.Log("Hold_Judge BAD… ");
            judgetype = 4;
        }
        else
        {
            judgetype = 4;
        }
        Hold_end(judgetype, my_Touch.Hold_note_line, my_Touch.Hold_note_data_index);
    }
Ejemplo n.º 2
0
    public bool Is_hold_within_range(Vector2 touchpos, Touch_Manager.My_touch my_Touch)
    {
        Note_data note_Data = Dc.Get_any_note_data(my_Touch.Hold_note_line, my_Touch.Hold_note_data_index);

        if (touchpos.x <= note_Data.note_end_pos.x + touchwidth &&
            touchpos.x >= note_Data.note_end_pos.x - touchwidth)
        {
            if (touchpos.y <= note_Data.note_end_pos.y + touchwidth &&
                touchpos.y >= note_Data.note_end_pos.y - touchwidth)
            {
                return(true);
            }
        }
        return(false);
    }
Ejemplo n.º 3
0
    /// <summary>
    /// 判定時に最初に呼ばれる処理
    /// </summary>
    /// <param name="touchType">0がタッチorホールドの最初、1がフリック</param>
    /// <param name="my_Touch"></param>
    public void Main_judge(int touchType, Touch_Manager.My_touch my_Touch)
    {
        //Debug.Log("judege ");
        note_Data_line1 = Dc.Get_Judge_note_data(1);
        if (Dc.Note_data_list_line2.Length != 0)
        {
            note_Data_line2 = Dc.Get_Judge_note_data(2);
        }

        if (touchType == 0)        //タッチorホールド始点のとき
        {
            if (Is_touch_within_range(my_Touch.touchPos))
            {
                int       hold_note_data_index = 0;
                Note_data note_Data            = new Note_data();
                switch (within_range_line)
                {
                case 1:
                    hold_note_data_index = Dc.judge_Index.get_note_data_line1;
                    note_Data            = note_Data_line1;
                    break;

                case 2:
                    hold_note_data_index = Dc.judge_Index.get_note_data_line2;
                    note_Data            = note_Data_line2;
                    break;

                default: break;
                }
                if (note_Data.judged == false)                //まだ未判定
                {
                    if (note_Data.noteType == 0 || note_Data.noteType == 2)
                    {
                        Time_judge(note_Data, within_range_line, hold_note_data_index, my_Touch.touchTime, my_Touch.fingerID);
                    }
                }
                else
                {
                    return;
                }
            }
        }
        else if (touchType == 1)        //フリックのとき
        {
            if (Is_Swipe_within_range(my_Touch.touchPos))
            {
                Note_data note_Data = new Note_data();
                switch (within_range_line)
                {
                case 1:
                    //hold_note_data_index = Dc.judge_Index.get_note_data_line1;//note_data.made
                    note_Data = note_Data_line1;
                    break;

                case 2:
                    //hold_note_data_index = Dc.judge_Index.get_note_data_line2;
                    note_Data = note_Data_line2;
                    break;

                default: break;
                }
                if (note_Data.judged == false)                //まだ未判定
                {
                    Time_judge(note_Data, within_range_line, -1, my_Touch.touchTime, my_Touch.fingerID);
                }
                else
                {
                    return;
                }
            }
        }
    }