Restruct: QURO << QURO.Animation; SpriteMapRegion -> Sprite: Now can draw itself

This commit is contained in:
quinnvoker
2018-12-19 09:16:17 -08:00
parent 06486e72fc
commit b8173d688d
19 changed files with 63 additions and 275 deletions
+22 -22
View File
@@ -23,8 +23,8 @@ namespace SpriteMapEditor
{
private History undoHistory;
private BindingList<SpriteMapRegion> sprites;
private List<SpriteMapRegion> selectedSprites;
private BindingList<Sprite> sprites;
private List<Sprite> selectedSprites;
private bool highlight = false;
private int zoomLevel = 3;
@@ -96,8 +96,8 @@ namespace SpriteMapEditor
spriteSheetViewer.Width = 1;
spriteSheetViewer.Height = 1;
sprites = new BindingList<SpriteMapRegion> { new SpriteMapRegion() };
selectedSprites = new List<SpriteMapRegion>();
sprites = new BindingList<Sprite> { new Sprite() };
selectedSprites = new List<Sprite>();
spriteList.DataSource = sprites;
spriteList.DisplayMember = "Name";
@@ -123,7 +123,7 @@ namespace SpriteMapEditor
CurrentSpriteMapFileLocation = null;
CurrentSpriteSheetFileLocation = null;
sprites = new BindingList<SpriteMapRegion>() { new SpriteMapRegion() };
sprites = new BindingList<Sprite>() { new Sprite() };
LoadSpriteSheet();
if (spriteSheet == null)
return;
@@ -152,14 +152,14 @@ namespace SpriteMapEditor
{
CurrentSpriteMapFileLocation = loadMapDialog.FileName;
Dictionary<string, SpriteMapRegion> loadedSpriteMap;
Dictionary<string, Sprite> loadedSpriteMap;
using (XmlReader xmlRead = XmlReader.Create(CurrentSpriteMapFileLocation))
{
loadedSpriteMap = IntermediateSerializer.Deserialize<Dictionary<string, SpriteMapRegion>>(xmlRead, null);
loadedSpriteMap = IntermediateSerializer.Deserialize<Dictionary<string, Sprite>>(xmlRead, null);
}
sprites = new BindingList<SpriteMapRegion>();
foreach (KeyValuePair<string, SpriteMapRegion> sprite in loadedSpriteMap)
sprites = new BindingList<Sprite>();
foreach (KeyValuePair<string, Sprite> sprite in loadedSpriteMap)
{
sprites.Add(sprite.Value);
}
@@ -210,7 +210,7 @@ namespace SpriteMapEditor
importSpriteSheetToolStripMenuItem.Text = "Replace Sprite Sheet...";
sprites = new BindingList<SpriteMapRegion>(loadedProject.SpriteMap);
sprites = new BindingList<Sprite>(loadedProject.SpriteMap);
spriteList.DataSource = sprites;
saveProjectToolStripMenuItem.Enabled = true;
@@ -240,7 +240,7 @@ namespace SpriteMapEditor
e.Graphics.DrawImage(highlightMask.Bitmap, highlightBounds);
}
foreach (SpriteMapRegion currentSprite in selectedSprites)
foreach (Sprite currentSprite in selectedSprites)
{
DrawHighContrastOutline(GetDrawingRect(currentSprite.Bounds), e.Graphics);
DrawOriginPoint(currentSprite, e.Graphics);
@@ -265,7 +265,7 @@ namespace SpriteMapEditor
}
else if(spriteList.SelectedIndices.Count > 0)
{
SpriteMapRegion currentSprite = selectedSprites[0];
Sprite currentSprite = selectedSprites[0];
spriteNameBox.Text = currentSprite.Name;
spriteXPosBox.Value = currentSprite.Bounds.X;
spriteXPosBox.Text = currentSprite.Bounds.X.ToString();
@@ -298,7 +298,7 @@ namespace SpriteMapEditor
return drawingRect;
}
private Point GetOriginDrawingPoint(SpriteMapRegion sprite)
private Point GetOriginDrawingPoint(Sprite sprite)
{
var drawingPoint = new Point(sprite.Bounds.X, sprite.Bounds.Y);
drawingPoint.X = drawingPoint.X * zoomLevel;
@@ -308,7 +308,7 @@ namespace SpriteMapEditor
return drawingPoint;
}
private void DrawOriginPoint(SpriteMapRegion sprite, Graphics graphics)
private void DrawOriginPoint(Sprite sprite, Graphics graphics)
{
if (editingOrigin)
{
@@ -335,7 +335,7 @@ namespace SpriteMapEditor
if (highlight)
{
InitializeMask();
foreach (SpriteMapRegion currentSprite in selectedSprites)
foreach (Sprite currentSprite in selectedSprites)
{
var highlightRect = currentSprite.Bounds;
@@ -518,7 +518,7 @@ namespace SpriteMapEditor
Microsoft.Xna.Framework.Rectangle rightMost = selectedSprites[0].Bounds;
Microsoft.Xna.Framework.Rectangle bottomMost = selectedSprites[0].Bounds;
foreach (SpriteMapRegion currentSprite in selectedSprites)
foreach (Sprite currentSprite in selectedSprites)
{
if (currentSprite.Bounds.X < leftMost.X)
leftMost = currentSprite.Bounds;
@@ -537,8 +537,8 @@ namespace SpriteMapEditor
private void exportMapToolStripMenuItem_Click(object sender, EventArgs e)
{
var exportDict = new Dictionary<string, SpriteMapRegion>();
foreach (SpriteMapRegion sprite in sprites)
var exportDict = new Dictionary<string, Sprite>();
foreach (Sprite sprite in sprites)
{
if (exportDict.ContainsKey(sprite.Name))
{
@@ -577,7 +577,7 @@ namespace SpriteMapEditor
bool hovering = false;
foreach (SpriteMapRegion currentSprite in selectedSprites)
foreach (Sprite currentSprite in selectedSprites)
{
if (GetDrawingRect(currentSprite.Bounds).Contains(mousePosition))
{
@@ -602,7 +602,7 @@ namespace SpriteMapEditor
groupRect.Y + groupRect.Height + differenceY > spriteSheet.Height)
differenceY = 0;
foreach (SpriteMapRegion spriteToMove in selectedSprites)
foreach (Sprite spriteToMove in selectedSprites)
{
var newBounds = spriteToMove.Bounds;
newBounds.X += differenceX;
@@ -626,13 +626,13 @@ namespace SpriteMapEditor
Point mousePosition = new Point(e.X, e.Y);
foreach (SpriteMapRegion currentSprite in selectedSprites)
foreach (Sprite currentSprite in selectedSprites)
{
if (GetDrawingRect(currentSprite.Bounds).Contains(mousePosition))
{
movingWithMouse = true;
preDragBounds = new List<Microsoft.Xna.Framework.Rectangle>();
foreach (SpriteMapRegion sprite in selectedSprites)
foreach (Sprite sprite in selectedSprites)
{
preDragBounds.Add(sprite.Bounds);
}
@@ -11,14 +11,14 @@ namespace SpriteMapEditor.SpriteMapModifications
{
class AddSprite : ISpriteMapModification
{
private readonly BindingList<SpriteMapRegion> allSprites;
private readonly BindingList<Sprite> allSprites;
private readonly SpriteMapRegion selectedSprite;
private readonly Sprite selectedSprite;
private List<int> preChangeSelection;
private List<int> postChangeSelection;
public AddSprite(BindingList<SpriteMapRegion> spriteList, SpriteMapRegion selected = null)
public AddSprite(BindingList<Sprite> spriteList, Sprite selected = null)
{
allSprites = spriteList;
@@ -28,9 +28,9 @@ namespace SpriteMapEditor.SpriteMapModifications
public void Do()
{
if (selectedSprite != null)
allSprites.Add(new SpriteMapRegion(selectedSprite.Name, selectedSprite.Bounds, selectedSprite.Origin));
allSprites.Add(new Sprite(selectedSprite.Name, selectedSprite.Bounds, selectedSprite.Origin));
else
allSprites.Add(new SpriteMapRegion());
allSprites.Add(new Sprite());
}
public void Undo()
@@ -10,7 +10,7 @@ namespace SpriteMapEditor.SpriteMapModifications
{
class ApplyOriginPreset : ISpriteMapModification
{
private readonly List<SpriteMapRegion> sprites;
private readonly List<Sprite> sprites;
private readonly OriginPreset preset;
@@ -19,7 +19,7 @@ namespace SpriteMapEditor.SpriteMapModifications
private List<int> preChangeSelection;
private List<int> postChangeSelection;
public ApplyOriginPreset(List<SpriteMapRegion> spritesToEditOrigin, OriginPreset presetToApply)
public ApplyOriginPreset(List<Sprite> spritesToEditOrigin, OriginPreset presetToApply)
{
sprites = spritesToEditOrigin.ToList();
preset = presetToApply;
@@ -33,7 +33,7 @@ namespace SpriteMapEditor.SpriteMapModifications
public void Do()
{
foreach(SpriteMapRegion sprite in sprites)
foreach(Sprite sprite in sprites)
{
Vector2 newOrigin = sprite.Origin;
@@ -46,7 +46,7 @@ namespace SpriteMapEditor.SpriteMapModifications
public static void SelectFromList(ListBox listBox, List<int> newSelection)
{
listBox.SelectedIndices.Clear();
var source = (BindingList<SpriteMapRegion>)listBox.DataSource;
var source = (BindingList<Sprite>)listBox.DataSource;
foreach (int currentIndex in newSelection)
{
if(currentIndex < source.Count)
@@ -11,7 +11,7 @@ namespace SpriteMapEditor.SpriteMapModifications
{
class ModifyBounds : ISpriteMapModification
{
private readonly List<SpriteMapRegion> sprites;
private readonly List<Sprite> sprites;
private readonly int newXPosition;
private readonly int newYPosition;
@@ -23,7 +23,7 @@ namespace SpriteMapEditor.SpriteMapModifications
private List<int> preChangeSelection;
private List<int> postChangeSelection;
public ModifyBounds(List<SpriteMapRegion> spritesToModify, int x = -1, int y = -1, int width = -1, int height = -1)
public ModifyBounds(List<Sprite> spritesToModify, int x = -1, int y = -1, int width = -1, int height = -1)
{
sprites = spritesToModify.ToList();
newXPosition = x;
@@ -10,7 +10,7 @@ namespace SpriteMapEditor.SpriteMapModifications
{
class ModifyOrigin : ISpriteMapModification
{
private readonly List<SpriteMapRegion> sprites;
private readonly List<Sprite> sprites;
private readonly int newOriginX;
private readonly int newOriginY;
@@ -20,7 +20,7 @@ namespace SpriteMapEditor.SpriteMapModifications
private List<int> preChangeSelection;
private List<int> postChangeSelection;
public ModifyOrigin(List<SpriteMapRegion> spritesToEditOrigin, int x = -1, int y = -1)
public ModifyOrigin(List<Sprite> spritesToEditOrigin, int x = -1, int y = -1)
{
sprites = spritesToEditOrigin.ToList();
newOriginX = x;
@@ -10,7 +10,7 @@ namespace SpriteMapEditor.SpriteMapModifications
{
class MoveBounds : ISpriteMapModification
{
private readonly List<SpriteMapRegion> sprites;
private readonly List<Sprite> sprites;
private readonly int xDiff;
private readonly int yDiff;
@@ -19,7 +19,7 @@ namespace SpriteMapEditor.SpriteMapModifications
private List<int> preChangeSelection;
private List<int> postChangeSelection;
public MoveBounds(List<SpriteMapRegion> spritesToMove, int xDifference, int yDifference, List<Rectangle> preDragBounds = null)
public MoveBounds(List<Sprite> spritesToMove, int xDifference, int yDifference, List<Rectangle> preDragBounds = null)
{
sprites = spritesToMove.ToList();
xDiff = xDifference;
@@ -29,7 +29,7 @@ namespace SpriteMapEditor.SpriteMapModifications
public void Do()
{
foreach (SpriteMapRegion sprite in sprites)
foreach (Sprite sprite in sprites)
{
var newBounds = sprite.Bounds;
newBounds.X += xDiff;
@@ -48,7 +48,7 @@ namespace SpriteMapEditor.SpriteMapModifications
}
else
{
foreach (SpriteMapRegion sprite in sprites)
foreach (Sprite sprite in sprites)
{
var newBounds = sprite.Bounds;
newBounds.X -= xDiff;
@@ -10,7 +10,7 @@ namespace SpriteMapEditor.SpriteMapModifications
{
class MoveSpriteListEntry : ISpriteMapModification
{
private readonly BindingList<SpriteMapRegion> allSprites;
private readonly BindingList<Sprite> allSprites;
private readonly int selectedIndex;
private readonly int dir;
@@ -18,7 +18,7 @@ namespace SpriteMapEditor.SpriteMapModifications
private List<int> preChangeSelection;
private List<int> postChangeSelection;
public MoveSpriteListEntry(BindingList<SpriteMapRegion> spriteList, int selection, int direction)
public MoveSpriteListEntry(BindingList<Sprite> spriteList, int selection, int direction)
{
allSprites = spriteList;
selectedIndex = selection;
@@ -10,16 +10,16 @@ namespace SpriteMapEditor.SpriteMapModifications
{
class RemoveSprite : ISpriteMapModification
{
private readonly BindingList<SpriteMapRegion> allSprites;
private readonly BindingList<Sprite> allSprites;
private readonly int index;
private readonly SpriteMapRegion removedSprite;
private readonly Sprite removedSprite;
private List<int> preChangeSelection;
private List<int> postChangeSelection;
public RemoveSprite(BindingList<SpriteMapRegion> spriteList, int indexToRemove)
public RemoveSprite(BindingList<Sprite> spriteList, int indexToRemove)
{
allSprites = spriteList;
index = indexToRemove;
@@ -9,7 +9,7 @@ namespace SpriteMapEditor.SpriteMapModifications
{
class RenameSprite : ISpriteMapModification
{
private readonly SpriteMapRegion sprite;
private readonly Sprite sprite;
private readonly string newName;
private readonly string oldName;
@@ -17,7 +17,7 @@ namespace SpriteMapEditor.SpriteMapModifications
private List<int> preChangeSelection;
private List<int> postChangeSelection;
public RenameSprite(SpriteMapRegion spriteToRename, string name)
public RenameSprite(Sprite spriteToRename, string name)
{
sprite = spriteToRename;
newName = name;
+2 -2
View File
@@ -7,14 +7,14 @@ namespace SpriteMapEditor
public class SpriteMapProject
{
public string SpriteSheetFileLocation { get; set; }
public List<SpriteMapRegion> SpriteMap { get; set; }
public List<Sprite> SpriteMap { get; set; }
public SpriteMapProject()
{
}
public SpriteMapProject(string spriteSheetLocation, List<SpriteMapRegion> spriteMap)
public SpriteMapProject(string spriteSheetLocation, List<Sprite> spriteMap)
{
SpriteSheetFileLocation = spriteSheetLocation;
SpriteMap = spriteMap;