Esempio n. 1
0
        public LiveNote[] GetLiveNotes(AxisTransformer2 transformer)
        {
            var list = new System.Collections.Generic.List <LiveNote>();

            foreach (var note in lane)
            {
                list.Add(new LiveNote(
                             transformer(note.lane, 0),
                             note.starttime / 1000f,
                             note.parallel,
                             note.longnote));
            }
            return(list.ToArray());
        }
        public LiveNote[] GetLiveNotes(AxisTransformer2 transformer, int level)
        {
            int counter = 0;
            var list    = new System.Collections.Generic.List <LiveNote>();

            for (int i = 0; i < lane.Length; i++)
            {
                var note = lane[i];

                if (counter % level == 0)
                {
                    list.Add(new LiveNote(
                                 transformer(note.lane, 0),
                                 note.starttime / 1000f,
                                 note.parallel,
                                 note.longnote));

                    if (note.parallel)
                    {
                        if (i > 0 && System.Math.Abs(lane[i - 1].starttime - note.starttime) < 1)
                        {
                            note = lane[i - 1];
                            list.Add(new LiveNote(
                                         transformer(note.lane, 0),
                                         note.starttime / 1000f,
                                         note.parallel,
                                         note.longnote));
                        }
                        else if (i < lane.Length - 1 && System.Math.Abs(lane[i + 1].starttime - note.starttime) < 1)
                        {
                            note = lane[i + 1];
                            list.Add(new LiveNote(
                                         transformer(note.lane, 0),
                                         note.starttime / 1000f,
                                         note.parallel,
                                         note.longnote));
                        }
                    }
                }

                counter += 1;
            }

            return(list.ToArray());
        }
Esempio n. 3
0
    public LiveNote[] GetLiveNotes(AxisTransformer2 transformer)
    {
        var          list       = new System.Collections.Generic.List <LiveNote>();
        OsuHitObject lastObject = null;

        foreach (var hitObject in HitObjects)
        {
            bool isPara = lastObject != null && lastObject.time == hitObject.time;
            if (isPara)
            {
                list[list.Count - 1].isPara = true;
            }

            list.Add(new LiveNote(
                         transformer(hitObject.x / 512f, hitObject.y / 384f),
                         hitObject.time / 1000f,
                         isPara,
                         (hitObject.hitSound != 0)));
            lastObject = hitObject;
        }
        return(list.ToArray());
    }