Пример #1
0
    /// <summary>
    /// Adds a connection between a node's connector and another node.
    /// </summary>
    /// <param name='sourceConnector'>
    /// Source connector.
    /// </param>
    /// <param name='targetNode'>
    /// Target node.
    /// </param>
    public void AddConnection(UTNode.Connector sourceConnector, UTNode targetNode)
    {
        var sourceEntry = sourceConnector.owner.Data;
        var property    = sourceConnector.property;
        var targetEntry = targetNode.Data;
        var sourceNode  = sourceConnector.owner;

        CUUndoUtility.RegisterUndo(new UObject[] { sourceEntry, graphData }, "Add connector");
        var reference = graphData.GetReference(sourceEntry, property);

        if (reference == null)
        {
            reference                = new UTReference();
            reference.Source         = sourceEntry;
            reference.SourceProperty = property;
            graphData.AddReference(reference);
        }
        reference.Target = targetEntry;
        SetProperty(sourceEntry, property, targetEntry);
        sourceNode.Recalc();
        EditorUtility.SetDirty(sourceEntry);
        EditorUtility.SetDirty(graphData);
    }
Пример #2
0
	/// <summary>
	/// Deletes a reference from the graph.
	/// </summary>
	/// <param name='reference'>
	/// Reference to delete.
	/// </param>
	public void DeleteReference(UTReference reference) {
		if (references == null || !references.Contains(reference)) {
			throw new ArgumentException("Trying to delete non-existing reference.");
		}
		references.Remove(reference);
	}
Пример #3
0
	/// <summary>
	/// Adds a reference to the graph.
	/// </summary>
	/// <param name='reference'>
	/// Reference to be added.
	/// </param>
	public void AddReference(UTReference reference) {
		if (references == null) {
			references = new List<UTReference>();
		}
		references.Add(reference);
	}
 /// <summary>
 /// Adds a reference to the graph.
 /// </summary>
 /// <param name='reference'>
 /// Reference to be added.
 /// </param>
 public void AddReference(UTReference reference)
 {
     if (references == null) {
         references = new List<UTReference>();
     }
     references.Add(reference);
 }
 /// <summary>
 /// Deletes a reference from the graph.
 /// </summary>
 /// <param name='reference'>
 /// Reference to delete.
 /// </param>
 public void DeleteReference(UTReference reference)
 {
     if (references == null || !references.Contains(reference)) {
         throw new ArgumentException("Trying to delete non-existing reference.");
     }
     references.Remove(reference);
 }