Files
SpineViewer/SpineViewer/Dialogs/AnimationTracksEditorDialog.cs
2025-04-02 23:59:18 +08:00

44 lines
1.4 KiB
C#

using SpineViewer.Spine;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace SpineViewer.Dialogs
{
public partial class AnimationTracksEditorDialog : Form
{
private readonly Spine.Spine spine;
public AnimationTracksEditorDialog(Spine.Spine spine)
{
InitializeComponent();
this.spine = spine;
propertyGrid_AnimationTracks.SelectedObject = spine.AnimationTracks;
}
private void button_Add_Click(object sender, EventArgs e)
{
spine.SetAnimation(spine.GetTrackIndices().Max() + 1, spine.AnimationNames[0]);
propertyGrid_AnimationTracks.Refresh();
}
private void button_Delete_Click(object sender, EventArgs e)
{
if (propertyGrid_AnimationTracks.SelectedGridItem?.Value is TrackWrapper tr)
{
if (tr.Index == 0)
MessageBox.Info("必须保留轨道 0");
else
spine.ClearTrack(tr.Index);
}
propertyGrid_AnimationTracks.Refresh();
propertyGrid_AnimationTracks.SelectedGridItem = propertyGrid_AnimationTracks.SelectedGridItem.Parent.GridItems.Cast<GridItem>().Last();
}
}
}