Example #1
0
        public static ShortNote Factory(JsonObject json)
        {
            var noteType = NoteType.Parse(typeof(NoteType), json["NoteType"]);

            switch (noteType)
            {
            case NoteType.Touch:
            {
                var note = new Touch(new LanePotision(0), new TimingPosition(1, 0), new NoteSize(1));
                note.Exchange(json);
                return(note);
            }

            case NoteType.Chain:
            {
                var note = new Chain(new LanePotision(0), new TimingPosition(1, 0), new NoteSize(1));
                note.Exchange(json);
                return(note);
            }

            case NoteType.SlideL:
            {
                var note = new SlideL(new LanePotision(0), new TimingPosition(1, 0), new NoteSize(1));
                note.Exchange(json);
                return(note);
            }

            case NoteType.SlideR:
            {
                var note = new SlideR(new LanePotision(0), new TimingPosition(1, 0), new NoteSize(1));
                note.Exchange(json);
                return(note);
            }

            case NoteType.SnapU:
            {
                var note = new SnapU(new LanePotision(0), new TimingPosition(1, 0), new NoteSize(1));
                note.Exchange(json);
                return(note);
            }

            case NoteType.SnapD:
            {
                var note = new SnapD(new LanePotision(0), new TimingPosition(1, 0), new NoteSize(1));
                note.Exchange(json);
                return(note);
            }

            default:
                Debug.Assert(false);
                return(null);
            }
        }