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); }
public void CopyEdge(Guid @out, Guid @in, object data) => _edges.Add(TinyEdge.Create(@out, @in, OnCopyEdge?.Invoke(data)));