private List <Sequence2D> OnSequenceAddedEvent(Sequence2D seq) { if (seq != null) { Sequences.Add(seq); } return(Sequences); }
private void lsSequences_SelectedIndexChanged_1(object sender, EventArgs e) { if (lsSequences.SelectedIndex == -1) { return; } CurrentSequence = Sequences[lsSequences.SelectedIndex]; tbName.Text = CurrentSequence.Name; lsFrames.DataSource = CurrentSequence.Frames; lsFrames.DisplayMember = "AssetFilename"; }
private void tsRemoveSequence_Click(object sender, EventArgs e) { if (CurrentSequence != null) { Sequences.Remove(CurrentSequence); CurrentFrame = null; CurrentSequence = null; tbName.Text = string.Empty; tbFrameDuration.Text = string.Empty; lsFrames.DataSource = null; lsSequences.DataSource = null; lsSequences.DataSource = Sequences; lsSequences.DisplayMember = "Name"; } }
private void btnAddActor_Click(object sender, EventArgs e) { if ( MessageBox.Show("Are you sure you want to add this to the scene?", "Add Actor Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } // Disable all thse tbName.Enabled = false; cbRole.Enabled = false; gbSequences.Enabled = false; gbPreview.Enabled = false; btnSave.Enabled = false; pgBar.Style = ProgressBarStyle.Continuous; // Create our actor Actor = new EditorActor(Globals.Game, string.Empty, string.Empty); if (tvSequences.Nodes.Count >= 0) { // Set our Actors Role switch (cbRole.Text) { case "Player": Actor.Role = ActorRole.Player; break; case "Enemy": Actor.Role = ActorRole.Enemy; break; case "NPC": Actor.Role = ActorRole.NPC; break; case "Prop": Actor.Role = ActorRole.Prop; break; } Actor.Name = tbName.Text; // Init our clip player Actor.ClipPlayer = new AnimationPlayer2D(Globals.Game); Actor.ClipPlayer.Initialize(); // Loop thru the Tree view controls Nodes adding our Key Frames to our Clip Player foreach (TreeNode node in tvSequences.Nodes) { // Reset our frame index { int endFrameIndex = (node.Nodes.Count - 1); Sequence2D sequence = new Sequence2D(node.Name); sequence.StartFrame = 0; sequence.EndFrame = endFrameIndex; // Add our Frames foreach (TreeNode child in tvSequences.Nodes[node.Name].Nodes) { KeyFrame2D frame = new KeyFrame2D(); frame.Duration = 1f; frame.AssetFilename = child.Tag.ToString(); sequence.Frames.Add(frame); } // Add our Sequence Actor.ClipPlayer.Sequences.Add(sequence); } } // Generate our Sprite Sheet for the Clip Player SpriteTools.GenerateSpriteSheet(Actor, Globals.AppSettings.ProjectPath, tbName.Text); Actor.ClipPlayer.Texture = Catalyst3D.XNA.Engine.UtilityClasses.Utilitys.TextureFromFile( Globals.Game.GraphicsDevice, Globals.AppSettings.ProjectPath + @"\" + Actor.SpriteSheetFileName); } // Default to the idle sequence if (Actor.Sequences.Count > 0) { Actor.Play(Actor.ClipPlayer.Sequences[0].Name, true); } // Add it to our Scene Globals.ActorAdded.Invoke(Actor); tvSequences.Nodes.Clear(); Close(); }