public void OnConnectionDragCompleted(Point currentDragPoint, ConnectionViewModel newConnection, ConnectorViewModel sourceConnector) { this.currentDragPoint = currentDragPoint; if (connectingTo) { InputConnectorViewModel nearbyConnector = FindNearbyInputConnector(newConnection, currentDragPoint); if (nearbyConnector == null) { RequestNodePickerWindow(newConnection); // pick return; } if (nearbyConnector == null || sourceConnector.Element == nearbyConnector.Element) { Connections.Remove(newConnection); return; } ConnectionViewModel existingConnection = nearbyConnector.Connection; if (existingConnection != null) { Connections.Remove(existingConnection); } newConnection.To = nearbyConnector; } else { OutputConnectorViewModel nearbyConnector = FindNearbyOutputConnector(newConnection, currentDragPoint); foreach (ConnectionViewModel con in Connections.Where(c => c.To == newConnection.To && c.From != null).ToList()) { Connections.Remove(con); } if (nearbyConnector == null) { RequestNodePickerWindow(newConnection); // pick return; } if (nearbyConnector == null || sourceConnector.Element == nearbyConnector.Element) { Connections.Remove(newConnection); return; } newConnection.From = nearbyConnector; } }
private void Button_Click(object sender, RoutedEventArgs e) { try { // ObservableCollection<ConnectionViewModel> test = new ObservableCollection<ConnectionViewModel>(); AnimationNodeViewModel evm = new AnimationNodeViewModel(); OutputNodeViewModel onvm = new OutputNodeViewModel(); OutputConnectorViewModel opcvm = new OutputConnectorViewModel() { Element = evm }; InputConnectorViewModel ipcvm = new InputConnectorViewModel() { Element = onvm }; var cvm = new ConnectionViewModel() { From = opcvm, To = ipcvm }; //test.Add(); List <Type> knownTypes = new List <Type>() { typeof(AnimationNodeViewModel), typeof(OutputNodeViewModel) }; AnimationComponent ac = new AnimationComponent(); ac.FB_AnimationComponent.AnimationBlendTree.AnimNodes.Add(evm); ac.FB_AnimationComponent.AnimationBlendTree.AnimNodes.Add(onvm); ac.FB_AnimationComponent.AnimationBlendTree.NodeConnections.Add(cvm); ObjectSerialize.Serialize(ac, "./test", knownTypes); // var testRes = ObjectSerialize.Deserialize<AnimationComponent>("./test"); var testRes = ObjectSerialize.Deserialize <VEXProjectModel>(@"F:\Projekte\coop\XGame\data\Editor\New VEX Project xyy.oideProj"); } catch (Exception ex) { } }
public ConnectionViewModel(InputConnectorViewModel to) { To = to; }
public ConnectionViewModel(OutputConnectorViewModel from, InputConnectorViewModel to) { From = from; To = to; }
public ConnectionViewModel(OutputConnectorViewModel from, InputConnectorViewModel to) { From = from; To = to; }
public QuestConnectionViewModel(InputConnectorViewModel <QuestViewModel, QuestConnectionViewModel> to, QuestConnectionType connectionType) : base(to) { ConnectionType = connectionType; }
public QuestConnectionViewModel(OutputConnectorViewModel <QuestViewModel, QuestConnectionViewModel> from, InputConnectorViewModel <QuestViewModel, QuestConnectionViewModel> to, QuestConnectionType connectionType) : base(from, to) { ConnectionType = connectionType; }
public OutputLayerViewModel() { Input = AddInput("input"); }
protected void AddInputConnector(string name, Color color) { var inputConnector = new InputConnectorViewModel(this, name, color); inputConnector.SourceChanged += (sender, e) => OnInputConnectorConnectionChanged(); _inputConnectors.Add(inputConnector); }