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