Esempio n. 1
0
    public static void SetType(this Note note, Note.NoteType type)
    {
        note.flags = Note.Flags.None;
        switch (type)
        {
        case (Note.NoteType.Strum):
            if (note.isChord)
            {
                note.flags &= ~Note.Flags.Forced;
            }
            else
            {
                if (note.isNaturalHopo)
                {
                    note.flags |= Note.Flags.Forced;
                }
                else
                {
                    note.flags &= ~Note.Flags.Forced;
                }
            }

            break;

        case (Note.NoteType.Hopo):
            if (!note.cannotBeForced)
            {
                if (note.isChord)
                {
                    note.flags |= Note.Flags.Forced;
                }
                else
                {
                    if (!note.isNaturalHopo)
                    {
                        note.flags |= Note.Flags.Forced;
                    }
                    else
                    {
                        note.flags &= ~Note.Flags.Forced;
                    }
                }
            }
            break;

        case (Note.NoteType.Tap):
            if (!note.IsOpenNote())
            {
                note.flags |= Note.Flags.Tap;
            }
            break;

        default:
            break;
        }

        note.ApplyFlagsToChord();
    }
    void setFlags(Note note)
    {
        if (Toolpane.currentTool != Toolpane.Tools.Note)
        {
            note.ApplyFlagsToChord();

            ChartEditor.isDirty = true;
        }

        foreach (Note chordNote in note.chord)
        {
            if (chordNote.controller)
            {
                chordNote.controller.SetDirty();
            }
        }
    }
    protected static ActionHistory.Action AutoForcedCheck(Note note)
    {
        Note next = note.nextSeperateNote;

        if (next != null && (next.flags & Note.Flags.Forced) == Note.Flags.Forced && next.cannotBeForced)
        {
            Note originalNext = (Note)next.Clone();
            next.flags &= ~Note.Flags.Forced;
            next.ApplyFlagsToChord();

            return(new ActionHistory.Modify(originalNext, next));
        }
        else
        {
            return(null);
        }
    }
    public static void SetType(this Note note, Note.NoteType type)
    {
        note.flags = note.GetFlagsToSetType(type);

        note.ApplyFlagsToChord();
    }