Beispiel #1
0
        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;
            }
        }
Beispiel #2
0
        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)
            {
            }
        }
Beispiel #3
0
 public ConnectionViewModel(InputConnectorViewModel to)
 {
     To = to;
 }
Beispiel #4
0
 public ConnectionViewModel(OutputConnectorViewModel from, InputConnectorViewModel to)
 {
     From = from;
     To   = to;
 }
 public ConnectionViewModel(OutputConnectorViewModel from, InputConnectorViewModel to)
 {
     From = from;
     To = to;
 }
Beispiel #6
0
 public QuestConnectionViewModel(InputConnectorViewModel <QuestViewModel, QuestConnectionViewModel> to,
                                 QuestConnectionType connectionType) : base(to)
 {
     ConnectionType = connectionType;
 }
Beispiel #7
0
 public QuestConnectionViewModel(OutputConnectorViewModel <QuestViewModel, QuestConnectionViewModel> from,
                                 InputConnectorViewModel <QuestViewModel, QuestConnectionViewModel> to,
                                 QuestConnectionType connectionType) : base(from, to)
 {
     ConnectionType = connectionType;
 }
Beispiel #8
0
 public OutputLayerViewModel()
 {
     Input = AddInput("input");
 }
Beispiel #9
0
 protected void AddInputConnector(string name, Color color)
 {
     var inputConnector = new InputConnectorViewModel(this, name, color);
     inputConnector.SourceChanged += (sender, e) => OnInputConnectorConnectionChanged();
     _inputConnectors.Add(inputConnector);
 }