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; }
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); }