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
-4
View File
@@ -152,10 +152,6 @@
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\QURO.AnimationLibrary\QURO.AnimationLibrary.csproj">
<Project>{69dadc27-fbeb-4625-9212-6eb5bed5102a}</Project>
<Name>QURO.AnimationLibrary</Name>
</ProjectReference>
<ProjectReference Include="..\QURO\QURO.csproj">
<Project>{4581e0c8-b14a-454d-9a7b-52d37535e7e9}</Project>
<Name>QURO</Name>
+1 -1
View File
@@ -7,7 +7,7 @@ using System.Threading.Tasks;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using MonoGame.Forms.Controls;
using QURO.AnimationLibrary;
using QURO.Animation;
namespace AnimationEditor
{
+14 -14
View File
@@ -11,7 +11,7 @@ using System.IO;
using System.Xml.Serialization;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using QURO.AnimationLibrary;
using QURO.Animation;
using QURO;
using System.Xml;
using Microsoft.Xna.Framework.Content.Pipeline.Serialization.Intermediate;
@@ -23,9 +23,9 @@ namespace AnimationEditor
private Texture2D spriteSheet;
private int frameRate;
private BindingList<SpriteMapRegion> sprites;
private BindingList<Sprite> sprites;
private BindingList<Frame> frames;
private BindingList<SpriteMapRegion> subSprites;
private BindingList<Sprite> subSprites;
private BindingList<Animation> animations;
private Animation currentAnimation;
@@ -82,7 +82,7 @@ namespace AnimationEditor
{
if (spriteListBox.SelectedItem != null)
{
AddFrame(new Frame((SpriteMapRegion)spriteListBox.SelectedItem, importDelay));
AddFrame(new Frame((Sprite)spriteListBox.SelectedItem, importDelay));
}
}
@@ -156,7 +156,7 @@ namespace AnimationEditor
{
if (spriteListBox.SelectedItem != null)
{
var currentSprite = (SpriteMapRegion)spriteListBox.SelectedItem;
var currentSprite = (Sprite)spriteListBox.SelectedItem;
Stream texture2DToImageStream = new MemoryStream();
Texture2DRegionExtractor.GetTexture2DFromRegion(spriteSheet, spriteSheet.GraphicsDevice, currentSprite.Bounds)
.SaveAsPng(texture2DToImageStream, currentSprite.Bounds.Width, currentSprite.Bounds.Height);
@@ -177,9 +177,9 @@ namespace AnimationEditor
}
subSpritePanel.Enabled = true;
if (currentFrame.SubSprites != null)
subSprites = new BindingList<SpriteMapRegion>(currentFrame.SubSprites);
subSprites = new BindingList<Sprite>(currentFrame.SubSprites);
else
subSprites = new BindingList<SpriteMapRegion>();
subSprites = new BindingList<Sprite>();
subSpriteListBox.DataSource = subSprites;
subSpriteListBox.DisplayMember = "Name";
UpdateFrameInformation();
@@ -221,18 +221,18 @@ namespace AnimationEditor
LoadSpriteMapFromFile();
}
private Dictionary<string, SpriteMapRegion> LoadSpriteMapFromFile()
private Dictionary<string, Sprite> LoadSpriteMapFromFile()
{
if (loadSpriteMapDialog.ShowDialog() == DialogResult.OK)
{
Dictionary<string, SpriteMapRegion> loadedSpriteMap;
Dictionary<string, Sprite> loadedSpriteMap;
using (XmlReader xmlRead = XmlReader.Create(loadSpriteMapDialog.FileName))
{
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);
}
@@ -491,7 +491,7 @@ namespace AnimationEditor
using(XmlReader xmlRead = XmlReader.Create(loadSpriteMapDialog.FileName))
{
loadedSpriteMap = IntermediateSerializer.Deserialize<Dictionary<string, SpriteMapRegion>>(xmlRead, null);
loadedSpriteMap = IntermediateSerializer.Deserialize<Dictionary<string, Sprite>>(xmlRead, null);
}
int updateCounter = 0;
@@ -563,7 +563,7 @@ namespace AnimationEditor
currentFrame.SubSpritePositions = new List<Vector2>();
currentFrame.SubSpritePositions.Add(Vector2.Zero);
if (currentFrame.SubSprites == null)
currentFrame.SubSprites = new List<SpriteMapRegion>();
currentFrame.SubSprites = new List<Sprite>();
currentFrame.SubSprites.Add(spriteToAdd);
subSprites.Add(spriteToAdd);
}
-6
View File
@@ -5,8 +5,6 @@ VisualStudioVersion = 15.0.27703.2047
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PuzzSwap", "PuzzSwap\PuzzSwap.csproj", "{CD753795-0CB4-4F05-A0E7-2D2EFC968D82}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "QURO.AnimationLibrary", "QURO.AnimationLibrary\QURO.AnimationLibrary.csproj", "{69DADC27-FBEB-4625-9212-6EB5BED5102A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "QURO", "QURO\QURO.csproj", "{4581E0C8-B14A-454D-9A7B-52D37535E7E9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SpriteMapEditor", "SpriteMapEditor\SpriteMapEditor.csproj", "{2AF6999F-93F0-4096-9BC1-863CEE5E7791}"
@@ -23,10 +21,6 @@ Global
{CD753795-0CB4-4F05-A0E7-2D2EFC968D82}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CD753795-0CB4-4F05-A0E7-2D2EFC968D82}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CD753795-0CB4-4F05-A0E7-2D2EFC968D82}.Release|Any CPU.Build.0 = Release|Any CPU
{69DADC27-FBEB-4625-9212-6EB5BED5102A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{69DADC27-FBEB-4625-9212-6EB5BED5102A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{69DADC27-FBEB-4625-9212-6EB5BED5102A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{69DADC27-FBEB-4625-9212-6EB5BED5102A}.Release|Any CPU.Build.0 = Release|Any CPU
{4581E0C8-B14A-454D-9A7B-52D37535E7E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4581E0C8-B14A-454D-9A7B-52D37535E7E9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4581E0C8-B14A-454D-9A7B-52D37535E7E9}.Release|Any CPU.ActiveCfg = Release|Any CPU
-112
View File
@@ -1,112 +0,0 @@
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using QURO;
namespace QURO.AnimationLibrary
{
public class AnimatedSprite
{
public Texture2D SpriteSheet { get; set; }
private Animation currentAnimation;
public Animation CurrentAnimation
{
get { return currentAnimation; }
set
{
currentAnimation = value;
finishedPlaying = false;
CurrentFrameIndex = 0;
timer = CurrentFrame.Delay;
}
}
public int CurrentFrameIndex { get; set; }
public Frame CurrentFrame => CurrentAnimation.Frames[CurrentFrameIndex];
private float timer;
private bool finishedPlaying;
public AnimatedSprite() { }
public AnimatedSprite(Texture2D spriteSheet, Animation startingAnimation)
{
SpriteSheet = spriteSheet;
CurrentAnimation = startingAnimation;
timer = CurrentFrame.Delay;
finishedPlaying = false;
}
public void Reset()
{
CurrentFrameIndex = 0;
finishedPlaying = false;
timer = CurrentFrame.Delay;
}
public void Update(GameTime gameTime)
{
if (!CurrentAnimation.IsStillImage && !finishedPlaying)
{
if (timer <= 0)
{
if (CurrentFrameIndex < CurrentAnimation.Frames.Length - 1)
{
CurrentFrameIndex++;
}
else
{
if (CurrentAnimation.IsLooping)
{
CurrentFrameIndex = 0;
}
else
{
finishedPlaying = true;
}
}
timer = CurrentFrame.Delay;
}
else
{
timer -= (float)gameTime.ElapsedGameTime.TotalSeconds;
}
}
}
public void Draw(SpriteBatch spriteBatch, Vector2 position, Color tint)
{
spriteBatch.Draw(SpriteSheet, position - CurrentFrame.Origin, CurrentFrame.Bounds, tint);
if (CurrentFrame.SubSprites != null)
DrawSubSprites(spriteBatch, position, tint);
}
public void Draw(SpriteBatch spriteBatch, Vector2 position, Vector2 spriteMapOffset, Color tint, bool offsetSubSprites = false)
{
Rectangle sourceRect = CurrentFrame.Bounds;
sourceRect.Offset(spriteMapOffset);
spriteBatch.Draw(SpriteSheet, position, sourceRect, tint);
if (CurrentFrame.SubSprites != null)
DrawSubSprites(spriteBatch, position, tint, offsetSubSprites? (Vector2?)spriteMapOffset : null);
}
public void DrawSubSprites(SpriteBatch spriteBatch, Vector2 position, Color tint, Vector2? spriteMapOffset = null)
{
if (CurrentFrame.SubSprites.Count != CurrentFrame.SubSpritePositions.Count)
{
System.Console.WriteLine("SubSpriteCount and SubSpritePositionCount are not equal! Skipping subsprites...");
return;
}
for (int index = 0; index < CurrentFrame.SubSprites.Count; index++)
{
var subSprite = CurrentFrame.SubSprites[index];
Rectangle sourceRect = subSprite.Bounds;
if (spriteMapOffset != null)
sourceRect.Offset((Vector2)spriteMapOffset);
spriteBatch.Draw(SpriteSheet, position - subSprite.Origin + CurrentFrame.SubSpritePositions[index], sourceRect, tint);
}
}
}
}
-25
View File
@@ -1,25 +0,0 @@
using Microsoft.Xna.Framework;
namespace QURO.AnimationLibrary
{
public class Animation
{
public string Name { get; set; }
public bool IsLooping { get; set; }
public Frame[] Frames { get; set; }
public bool IsStillImage => Frames.Length <= 1;
public Animation() : this("unnamed", new Frame[] { new Frame() }, false)
{
}
public Animation(string name, Frame[] frames, bool loop)
{
Name = name;
Frames = frames;
IsLooping = loop;
}
}
}
-29
View File
@@ -1,29 +0,0 @@
using System.Collections.Generic;
namespace QURO.AnimationLibrary
{
public class AnimationSet
{
public Dictionary<string, Animation> Anims;
public AnimationSet()
{
Anims = new Dictionary<string, Animation>();
}
public void Add(Animation anim)
{
Anims.Add(anim.Name, anim);
}
public void Remove(Animation anim)
{
Anims.Remove(anim.Name);
}
public void Remove(string animName)
{
Anims.Remove(animName);
}
}
}
-36
View File
@@ -1,36 +0,0 @@
using QURO;
using System.Collections.Generic;
using Microsoft.Xna.Framework;
namespace QURO.AnimationLibrary
{
public class Frame
{
public SpriteMapRegion Sprite { get; set; }
public List<SpriteMapRegion> SubSprites { get; set; }
public List<Vector2> SubSpritePositions { get; set; }
public float Delay { get; set; }
public string Name { get { return Sprite.Name; } }
public Rectangle Bounds { get { return Sprite.Bounds; } }
public Vector2 Origin { get { return Sprite.Origin; } }
public Frame() : this(new SpriteMapRegion(), 0, null, null)
{
}
public Frame(SpriteMapRegion sprite, float delay) : this(sprite, delay, null, null)
{
}
public Frame(SpriteMapRegion sprite, float delay, List<SpriteMapRegion> subSprites, List<Vector2> subSpritePositons)
{
Sprite = sprite;
Delay = delay;
SubSprites = subSprites;
SubSpritePositions = subSpritePositons;
}
}
}
+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;