예제 #1
0
 public void AddSingle(TinyEdge edge)
 {
     Clean();
     In  = edge.In;
     Out = edge.Out;
     OnEdgeSelectionChanged?.Invoke(edge.In, edge.Out);
 }
예제 #2
0
        public void CreateEdge(Guid @out, Guid @in, object data = default)
        {
            if (@in == @out || _edges.Any(x => x.In == @in && x.Out == @out))
            {
                return;
            }

            var edge = TinyEdge.Create(@out, @in, data);

            OnCreateEdge?.Invoke(edge);
            _edges.Add(edge);
        }
예제 #3
0
 public bool IsSelected(TinyEdge edge) =>
 edge != null && (_selections.Contains(edge.In) || _selections.Contains(edge.Out)) ||
 In == edge.In && Out == edge.Out;
예제 #4
0
 public void CopyEdge(Guid @out, Guid @in, object data) =>
 _edges.Add(TinyEdge.Create(@out, @in, OnCopyEdge?.Invoke(data)));
예제 #5
0
 protected override void OnDisable() =>
 _edge = null;
예제 #6
0
 protected override void InternalOnEnable() =>
 _edge = serializedObject.targetObject as TinyEdge;
예제 #7
0
 protected virtual void OnCreateEdge(TinyEdge edge)
 {
 }