Added Sprite Updater to AnimationEditor

This commit is contained in:
quinnvoker
2018-11-28 15:59:22 -08:00
parent 3e24ac9527
commit 297e19f2a7
2 changed files with 59 additions and 1 deletions
+36
View File
@@ -83,6 +83,9 @@ namespace AnimationEditor
frameTrackBar.Enabled = true;
playAnimationButton.Enabled = true;
animationPreview.Enabled = true;
editToolStripMenuItem.Enabled = true;
updateAnimationSpritesFromSpriteMapToolStripMenuItem.Enabled = true;
}
private void InitiateAnimationList(bool newAnimation = true)
@@ -218,6 +221,11 @@ namespace AnimationEditor
}
private void loadSpriteMapToolStripMenuItem_Click(object sender, EventArgs e)
{
LoadSpriteMapFromFile();
}
private Dictionary<string, SpriteMapRegion> LoadSpriteMapFromFile()
{
if (loadSpriteMapDialog.ShowDialog() == DialogResult.OK)
{
@@ -247,7 +255,9 @@ namespace AnimationEditor
EnableSpriteMapControls();
EnableAnimationEditingControls();
return loadedSpriteMap;
}
return null;
}
private void animationPreview_FrameChanged(object sender, EventArgs e)
@@ -478,5 +488,31 @@ namespace AnimationEditor
UpdateAnimation();
}
}
private void updateAnimationSpritesFromSpriteMapToolStripMenuItem_Click(object sender, EventArgs e)
{
var loadedSpriteMap = LoadSpriteMapFromFile();
using(XmlReader xmlRead = XmlReader.Create(loadSpriteMapDialog.FileName))
{
loadedSpriteMap = IntermediateSerializer.Deserialize<Dictionary<string, SpriteMapRegion>>(xmlRead, null);
}
int updateCounter = 0;
foreach(Animation anim in Animations)
{
foreach(Frame frame in anim.Frames)
{
if (loadedSpriteMap.ContainsKey(frame.Name))
{
frame.Sprite = loadedSpriteMap[frame.Name];
updateCounter++;
}
}
}
MessageBox.Show("Updated " + updateCounter + " sprites!");
}
}
}