Example #1
0
        /// <summary>
        /// Create a "Trigger" with a Setter that has a reference kept in the list TriggerFields.
        ///
        /// By storing these set methods' reference in the list, we can easily set the value whenever we want,
        /// and pass setter methods around like any other variable.
        /// </summary>
        /// <returns>NodePortTriggerField</returns>
        public static NodePortTriggerField Create(MethodInfo field, ITriggeredNode node)
        {
            var newTriggerField = new NodePortTriggerField(field, node);

            TriggerFields.Add(newTriggerField);
            return(newTriggerField);
        }
Example #2
0
    public override void OnCreateConnection(NodePort from, NodePort to)
    {
        if (to.nodeType.GetInterfaces().Contains(typeof(ITriggeredNode)))
        {
            var field = typeof(ITriggeredNode).GetProperty("Trigger").GetSetMethod();
            NodePortTriggerField.Create(field, to.node as ITriggeredNode);

            // Make sure trigger is part of the delegate
            MidiMaster.noteOnDelegate -= TriggerConnectedNodes;
            MidiMaster.noteOnDelegate += TriggerConnectedNodes;
        }
    }