public LiteGraph.Node ConvertLogicalNodeToLitegraphNode(LogicalNode logicalNode) { LiteGraph.Node node = new LiteGraph.Node { title = logicalNode.Title, type = logicalNode.Type, id = logicalNode.Id }; node.properties["objectType"] = logicalNode.GetType().ToString(); if (logicalNode.Position != null) node.pos = new[] { logicalNode.Position.X, logicalNode.Position.Y }; if (logicalNode.Size != null) node.size = new[] { logicalNode.Size.Width, logicalNode.Size.Height }; node.inputs = new List<Input>(); node.outputs = new List<Output>(); if (logicalNode.Inputs != null) for (int j = 0; j < logicalNode.Inputs.Count; j++) { node.inputs.Add(new Input { name = logicalNode.Inputs[j].Name, type = "string" }); } if (logicalNode.Outputs != null) for (int j = 0; j < logicalNode.Outputs.Count; j++) { node.outputs.Add(new Output { name = logicalNode.Outputs[j].Name, type = "string" }); } return node; }
private static void OnNewLogicalNodeEvent(LogicalNode node) { NodesEditorAPIController nodesEditorApi=new NodesEditorAPIController(); LiteGraph.Node liteGraphNode = nodesEditorApi.ConvertLogicalNodeToLitegraphNode(node); hub.Clients.All.OnNewLogicalNodeEvent(liteGraphNode); }
private void UpdateNodes(object sender, ElapsedEventArgs e) { if (nodes == null) return; updateNodesTimer.Stop(); try { //to prevent changing of collection while writing to db is not yet finished LogicalNode[] nodesTemp = new LogicalNode[nodes.Count]; nodes.CopyTo(nodesTemp); foreach (var node in nodesTemp) { node.Loop(); } } catch { } updateNodesTimer.Start(); }
public void UpdateNode(LogicalNode node) { DebugEngine($"Update node {node.GetType().Name}"); LogicalNode oldNode = nodes.FirstOrDefault(x => x.Id == node.Id); oldNode.Inputs = node.Inputs; oldNode.Outputs = node.Outputs; oldNode.Position = node.Position; oldNode.Size = node.Size; oldNode.Title = node.Title; oldNode.Type = node.Type; if (db != null) db.UpdateNode(oldNode); OnNodeUpdatedEvent?.Invoke(node); }
public void RemoveNode(LogicalNode node) { DebugEngine($"Remove node {node.GetType().Name}"); OnNodeDeleteEvent?.Invoke(node); nodes.Remove(node); if (db != null) db.DeleteNode(node.Id); }
public void AddNode(LogicalNode node) { nodes.Add(node); if (db != null) db.AddNode(node); DebugEngine($"New node {node.GetType().Name}"); OnNewNodeEvent?.Invoke(node); }