Exemplo n.º 1
0
 //SL--
 ///Adds a new input port definition to the Macro
 public bool AddInputDefinition(DynamicPortDefinition def)
 {
     if (parameters.Find(d => d.ID == def.ID) == null)
     {
         parameters.Add(def);
         return(true);
     }
     return(false);
 }
Exemplo n.º 2
0
 ///Adds a new output port definition to the Macro
 public bool AddOutputDefinition(DynamicPortDefinition def)
 {
     if (outputDefinitions.Find(d => d.ID == def.ID) == null)
     {
         outputDefinitions.Add(def);
         return(true);
     }
     return(false);
 }
Exemplo n.º 3
0
 ///Adds a new output port definition to the Macro
 public Port AddOutputDefinition(DynamicPortDefinition def)
 {
     if (outputDefinitions.Find(d => d.ID == def.ID) == null)
     {
         outputDefinitions.Add(def);
         exit.GatherPorts();
         return(exit.GetInputPort(def.ID));
     }
     return(null);
 }
Exemplo n.º 4
0
 ///Adds a new input port definition to the Macro
 public Port AddInputDefinition(DynamicPortDefinition def)
 {
     if (inputDefinitions.Find(d => d.ID == def.ID) == null)
     {
         inputDefinitions.Add(def);
         entry.GatherPorts();
         return(entry.GetOutputPort(def.ID));
     }
     return(null);
 }
Exemplo n.º 5
0
 protected override UnityEditor.GenericMenu OnDragAndDropPortContextMenu(UnityEditor.GenericMenu menu, Port port)
 {
     if (port is ValueInput || port is FlowInput)
     {
         menu.AddItem(new GUIContent(string.Format("Promote to new Input '{0}'", port.name)), false, () => {
             var def = new DynamicPortDefinition(port.name, port.type);
             if (macro.AddInputDefinition(def))
             {
                 GatherPorts();
                 BinderConnection.Create(GetOutputPort(def.ID), port);
             }
         });
     }
     return(menu);
 }
Exemplo n.º 6
0
 protected override UnityEditor.GenericMenu OnDragAndDropPortContextMenu(UnityEditor.GenericMenu menu, Port port)
 {
     if (macro == null)
     {
         return(menu);
     }
     if (port.IsInputPort())
     {
         menu.AddItem(new GUIContent(string.Format("Promote to new Input '{0}'", port.name)), false, () => {
             var def     = new DynamicPortDefinition(port.name, port.type);
             var defPort = macro.AddInputDefinition(def);
             BinderConnection.Create(defPort, port);
         });
     }
     return(menu);
 }
Exemplo n.º 7
0
 ///validates the entry and exit references
 protected override void OnGraphValidate()
 {
     base.OnGraphValidate();
     _entry = null;
     _exit  = null;
     _entry = entry;
     _exit  = exit;
     //create initial example ports in case there are none in both entry and exit
     if (inputDefinitions.Count == 0 && outputDefinitions.Count == 0)
     {
         var defIn  = new DynamicPortDefinition("In", typeof(Flow));
         var defOut = new DynamicPortDefinition("Out", typeof(Flow));
         var source = AddInputDefinition(defIn);
         var target = AddOutputDefinition(defOut);
         BinderConnection.Create(source, target);
     }
 }