Exemplo n.º 1
0
        public void OnObjectRemoved(VisualObject obj)
        {
            CurrentSelectedObject = null;

            RenderWindow.RemoveVisualObject(obj);

            if (Globals.Paths.Contains(obj))
            {
                LedgeBuilder b = obj as LedgeBuilder;

                if (b != null)
                {
                    Globals.Paths.Remove(b);
                }
            }
        }
        private void lsAvailablePaths_SelectedIndexChanged(object sender, EventArgs e)
        {
            // Deselect all scene objects
            foreach (LedgeBuilder vo in PathingNodes)
            {
                vo.IsSelected = false;
            }

            // Loop thru and select all the ones we have highlighted in the list box
            foreach (var i in lsAvailablePaths.SelectedItems)
            {
                if (i is LedgeBuilder)
                {
                    LedgeBuilder o = i as LedgeBuilder;
                    o.IsSelected = true;
                }
            }
        }
        private void btnSubmit_Click(object sender, EventArgs e)
        {
            if (lsSceneObjects.SelectedItem != null && lsAvailablePaths.SelectedItem != null)
            {
                if (lsSceneObjects.SelectedItem is EditorGroup)
                {
                    EditorGroup  vo = lsSceneObjects.SelectedItem as EditorGroup;
                    LedgeBuilder bo = lsAvailablePaths.SelectedItem as LedgeBuilder;

                    if (bo != null)
                    {
                        vo.AttachedPathingNode     = bo;
                        vo.CurrentPathNodeIndex    = Convert.ToInt16(tbNodeIndex.Text);
                        vo.AttachedPathingNodeName = bo.Name;

                        foreach (LedgeNodeDisplay node in bo.Nodes)
                        {
                            node.Scale = vo.Scale;
                        }

                        Globals.IsDialogWindowOpen = false;

                        Dispose();
                    }
                }

                if (lsSceneObjects.SelectedItem is EditorSprite)
                {
                    EditorSprite vo = lsSceneObjects.SelectedItem as EditorSprite;
                    LedgeBuilder bo = lsAvailablePaths.SelectedItem as LedgeBuilder;

                    if (bo != null)
                    {
                        vo.AttachedPathingNode     = bo;
                        vo.CurrentPathNodeIndex    = Convert.ToInt16(tbNodeIndex.Text);
                        vo.AttachedPathingNodeName = bo.Name;

                        foreach (LedgeNodeDisplay node in bo.Nodes)
                        {
                            node.Scale = vo.Scale;
                        }

                        Globals.IsDialogWindowOpen = false;

                        Dispose();
                    }
                }

                if (lsSceneObjects.SelectedItem is EditorEmitter)
                {
                    EditorEmitter vo = lsSceneObjects.SelectedItem as EditorEmitter;
                    LedgeBuilder  bo = lsAvailablePaths.SelectedItem as LedgeBuilder;

                    if (bo != null)
                    {
                        vo.AttachedPathingNode     = bo;
                        vo.CurrentPathNodeIndex    = Convert.ToInt16(tbNodeIndex.Text);
                        vo.AttachedPathingNodeName = bo.Name;

                        foreach (LedgeNodeDisplay node in bo.Nodes)
                        {
                            node.Scale = vo.Scale;
                        }

                        Globals.IsDialogWindowOpen = false;

                        Dispose();
                    }
                }

                if (lsSceneObjects.SelectedItem is EditorActor)
                {
                    EditorActor  vo = lsSceneObjects.SelectedItem as EditorActor;
                    LedgeBuilder bo = lsAvailablePaths.SelectedItem as LedgeBuilder;

                    if (bo != null)
                    {
                        vo.AttachedPathingNode     = bo;
                        vo.CurrentPathNodeIndex    = Convert.ToInt16(tbNodeIndex.Text);
                        vo.AttachedPathingNodeName = bo.Name;

                        // Store these in the pathing node
                        bo.Sequences = vo.Sequences;

                        foreach (LedgeNodeDisplay node in bo.Nodes)
                        {
                            node.AnimationSequence = vo.ClipPlayer.CurrentSequence;
                            node.Scale             = vo.Scale;
                        }

                        Globals.IsDialogWindowOpen = false;

                        Dispose();
                    }
                }
            }
            else
            {
                MessageBox.Show(@"Please select a scene object and an available pathing node to attach it to.");
            }
        }
Exemplo n.º 4
0
        public conNodeEditor(IWindowsFormsEditorService editor)
        {
            InitializeComponent();

            Service = editor;

            Globals.IsDialogWindowOpen = true;

            if (Globals.RenderWindow.CurrentSelectedObject is LedgeBuilder)
            {
                LedgeBuilder b = Globals.RenderWindow.CurrentSelectedObject as LedgeBuilder;
                {
                    Builder            = b;
                    lbNodes.DataSource = Builder.Nodes;

                    if (Builder.Nodes.Count > 0)
                    {
                        // Node Scale
                        tbScaleX.Text = Builder.Nodes[0].Scale.X.ToString();
                        tbScaleY.Text = Builder.Nodes[0].Scale.Y.ToString();

                        // Node Position
                        tbPositionX.Text = Builder.Nodes[0].Position.X.ToString();
                        tbPositionY.Text = Builder.Nodes[0].Position.Y.ToString();

                        tbRotation.Text = Builder.Nodes[0].Rotation.ToString();

                        tbTravelSpeed.Text = Builder.Nodes[0].TravelSpeed.ToString();
                        tbDrawOrder.Text   = Builder.Nodes[0].DrawOrder.ToString();

                        switch (Builder.Nodes[0].SpriteEffect)
                        {
                        case SpriteEffects.None:
                            cbSpriteEffects.SelectedIndex = 0;
                            break;

                        case SpriteEffects.FlipHorizontally:
                            cbSpriteEffects.SelectedIndex = 1;
                            break;

                        case SpriteEffects.FlipVertically:
                            cbSpriteEffects.SelectedIndex = 2;
                            break;
                        }

                        if (Builder.Sequences != null && Builder.Sequences.Count > 0)
                        {
                            // Add our sequences to the drop down box
                            foreach (var s in Builder.Sequences)
                            {
                                if (cbAnimationSequence.Items.Contains(s.Name.Trim()))
                                {
                                    continue;
                                }

                                cbAnimationSequence.Items.Add(s.Name.Trim());
                            }

                            cbAnimationSequence.Text = Builder.Sequences[0].Name;

                            switch (Builder.Nodes[0].IsLooped)
                            {
                            case true:
                                cbLooped.Text = @"True";
                                break;

                            case false:
                                cbLooped.Text = @"False";
                                break;
                            }
                        }
                    }
                }
            }
            else
            {
                return;
            }
        }