Exemple #1
0
    public void FillTestData(int noteCount)
    {
        if (!Application.isEditor)
        {
            throw new Exception();
        }

        ClearCount = noteCount;
        for (var i = 0; i < noteCount; i++)
        {
            Judgements[i] = new NoteJudgement
            {
                IsJudged = true,
                Grade    = NoteGrade.Perfect,
                Error    = 0,
            }
        }
        ;
        Combo = MaxCombo = noteCount;
#if UNITY_EDITOR
        Score    = 1000000;
        Accuracy = 1.000000;
#else
        Score    = 0;
        Accuracy = 0.000000;
#endif
    }
Exemple #2
0
        //Types: 0 = Normal Note (On top of and hit) 1 = Touch Note (Just on top of) 2 = Hold Note (On top of and hold)
        protected Note CreateNote(float time, int lane, float speed, char type, float holdtime, int specialnum)
        {
            Note note = new Note
            {
                Time             = time,
                Lane             = lane,
                Speed            = speed,
                Currtime         = time,
                SpecialNum       = specialnum,
                HitTimeThreshold = HitTimeThreshold
            };

            note.setType(type);
            GameObject noteObject = null;

            if (note.isTouchNote)
            {
                noteObject = Instantiate(TouchNotePrefab);
            }
            else if (note.isHoldNote)
            {
                noteObject = Instantiate(HoldNotePrefab);
                noteObject.GetComponent <HoldNoteScript>().speed  = speed;
                noteObject.GetComponent <HoldNoteScript>().length = -speed * holdtime;
                note.setHoldLength(noteObject.GetComponent <HoldNoteScript>().length);
                //Debug.Log(1 / (BMReader.GetBps() * 2));
                noteObject.GetComponent <HoldNoteScript>().interval = 1 / (BMReader.GetBps() * 2);

                HoldNoteScript holdscript = noteObject.GetComponent <HoldNoteScript>();
                holdscript.NoteManager = this;
                holdscript.Note        = note;
            }
            else if (note.isHitNote)
            {
                noteObject = Instantiate(NotePrefab);
            }
            else
            {
                //Do nothing
            }

            //Debug.Log("Lane:"+lane);
            if (noteObject)
            {
                noteObject.transform.position = new Vector2(LanePositions[lane], transform.position.y);

                NoteMovement noteMovement = noteObject.GetComponent <NoteMovement>();
                noteMovement.NoteManager = this;
                noteMovement.Note        = note;

                NoteJudgement noteJudgement = noteObject.GetComponent <NoteJudgement>();
                noteJudgement.NoteManager = this;
                noteJudgement.Note        = note;

                return(note);
            }

            return(null);
        }
Exemple #3
0
    private void Awake()
    {
        instance = this;

        noteSpawn     = this.GetComponentInChildren <NoteSpawn>();
        noteJudgement = this.GetComponentInChildren <NoteJudgement>();

        float widthRatio = Screen.width / 1920f;

        dragMinDistance = 200f * widthRatio;
        dragMinDelta    = 6f * widthRatio;
    }
Exemple #4
0
        public static string ToLocalizedString(this NoteJudgement judgement, bool descending = true)
        {
            var res = new List <string>();

            var values = judgement.GetType().GetEnumValues().Cast <NoteJudgement>();

            if (descending)
            {
                values = values.OrderByDescending(x => x);
            }
            foreach (var x in values)
            {
                if (judgement.HasFlag(x))
                {
                    res.Add(m_judgeNames[x]);
                }
            }
            return(string.Join("/", res.ToArray()));
        }
        void StartJudgeAnim(NoteJudgement Judgement, int Index)
        {
            var sb = JudgeAnimations[Index];

            sb.Stop(DropperParent);

            string name = "Judge" + (Index + 1);

            JudgementLabels.Judge judge = (JudgementLabels.Judge)FindName(name);
            if (judge != null)
            {
                EventHandler ev = null;
                ev = (sender, e) =>
                {
                    judge.Judgement = null;
                    sb.Completed   -= ev;
                };
                sb.Completed += ev;

                sb.Begin(DropperParent);
                judge.Judgement = Judgement;
            }
        }
 public JudgementEventArgs(NoteJudgement judgement, double difference, SugaEngine.Note note)
 {
     Judgement  = judgement;
     Difference = difference;
     Note       = note;
 }