diff --git a/AnimationGenerator/AnimationGenerator.csproj b/AnimationGenerator/AnimationGenerator.csproj deleted file mode 100644 index 2c4eaeb..0000000 --- a/AnimationGenerator/AnimationGenerator.csproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Debug - AnyCPU - {B1938BD7-A474-427F-91F1-F8A1875B28CE} - Exe - AnimationGenerator - AnimationGenerator - v4.6.1 - 512 - true - - - AnyCPU - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - AnyCPU - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - False - C:\Program Files (x86)\MonoGame\v3.0\Assemblies\DesktopGL\MonoGame.Framework.dll - - - C:\Program Files (x86)\MSBuild\MonoGame\v3.0\Tools\MonoGame.Framework.Content.Pipeline.dll - - - - - - - - - - - - - - - - - - - - {69dadc27-fbeb-4625-9212-6eb5bed5102a} - QURO.AnimationLibrary - - - {4581e0c8-b14a-454d-9a7b-52d37535e7e9} - QURO - - - - - PreserveNewest - - - - \ No newline at end of file diff --git a/AnimationGenerator/App.config b/AnimationGenerator/App.config deleted file mode 100644 index 731f6de..0000000 --- a/AnimationGenerator/App.config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/AnimationGenerator/Content/boardMap.xml b/AnimationGenerator/Content/boardMap.xml deleted file mode 100644 index 4189def..0000000 --- a/AnimationGenerator/Content/boardMap.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - block00 0 16 16 - - block0_bounce116 0 16 16 - - block0_bounce232 0 16 16 - - block0_flash48 0 16 16 - - block0_pop64 0 16 16 - - block0_squish80 0 16 16 - - block10 16 16 16 - - block1_bounce116 16 16 16 - - block1_bounce232 16 16 16 - - block1_flash48 16 16 16 - - block1_pop64 16 16 16 - - block1_squish80 16 16 16 - - block20 32 16 16 - - block2_bounce116 32 16 16 - - block2_bounce232 32 16 16 - - block2_flash48 32 16 16 - - block2_pop64 32 16 16 - - block2_squish80 32 16 16 - - block30 48 16 16 - - block3_bounce116 48 16 16 - - block3_bounce232 48 16 16 - - block3_flash48 48 16 16 - - block3_pop64 48 16 16 - - block3_squish80 48 16 16 - - block40 64 16 16 - - block4_bounce116 64 16 16 - - block4_bounce232 64 16 16 - - block4_flash48 64 16 16 - - block4_pop64 64 16 16 - - block4_squish80 64 16 16 - - soloCursor16 80 23 23 - - soloCursor_pulse39 80 23 23 - - tiledBG_default0 80 16 16 - - twinCursor0 103 39 23 - - twinCursor_pulse39 103 39 23 - - - \ No newline at end of file diff --git a/AnimationGenerator/Content/boardMapNames.cs b/AnimationGenerator/Content/boardMapNames.cs deleted file mode 100644 index 95b63b6..0000000 --- a/AnimationGenerator/Content/boardMapNames.cs +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Class auto generated by TexturePacker - * - * Contains references to each image within the sprite sheet. - * - * https://www.codeandweb.com/texturepacker - * $TexturePacker:SmartUpdate:9c249f83b4f96ec61c8a09e8200742d5:d881ff5ec3da86acaaa577e6ab9bd7aa:05477a09d9d5a6dca0fdadde24fc3000$ - * - */ -namespace TexturePackerSpriteDefinitions -{ - public class SpriteNames - { - public const string Block0 = "block0"; - public const string Block0_bounce1 = "block0_bounce1"; - public const string Block0_bounce2 = "block0_bounce2"; - public const string Block0_flash = "block0_flash"; - public const string Block0_pop = "block0_pop"; - public const string Block0_squish = "block0_squish"; - public const string Block1 = "block1"; - public const string Block1_bounce1 = "block1_bounce1"; - public const string Block1_bounce2 = "block1_bounce2"; - public const string Block1_flash = "block1_flash"; - public const string Block1_pop = "block1_pop"; - public const string Block1_squish = "block1_squish"; - public const string Block2 = "block2"; - public const string Block2_bounce1 = "block2_bounce1"; - public const string Block2_bounce2 = "block2_bounce2"; - public const string Block2_flash = "block2_flash"; - public const string Block2_pop = "block2_pop"; - public const string Block2_squish = "block2_squish"; - public const string Block3 = "block3"; - public const string Block3_bounce1 = "block3_bounce1"; - public const string Block3_bounce2 = "block3_bounce2"; - public const string Block3_flash = "block3_flash"; - public const string Block3_pop = "block3_pop"; - public const string Block3_squish = "block3_squish"; - public const string Block4 = "block4"; - public const string Block4_bounce1 = "block4_bounce1"; - public const string Block4_bounce2 = "block4_bounce2"; - public const string Block4_flash = "block4_flash"; - public const string Block4_pop = "block4_pop"; - public const string Block4_squish = "block4_squish"; - public const string SoloCursor = "soloCursor"; - public const string SoloCursor_pulse = "soloCursor_pulse"; - public const string TiledBG_default = "tiledBG_default"; - public const string TwinCursor = "twinCursor"; - public const string TwinCursor_pulse = "twinCursor_pulse"; - } -} \ No newline at end of file diff --git a/AnimationGenerator/Program.cs b/AnimationGenerator/Program.cs deleted file mode 100644 index 4ac10d6..0000000 --- a/AnimationGenerator/Program.cs +++ /dev/null @@ -1,161 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Xml; -using QURO; -using QURO.AnimationLibrary; -using Microsoft.Xna.Framework; -using Microsoft.Xna.Framework.Content.Pipeline.Serialization.Intermediate; - -namespace AnimationGenerator -{ - class Program - { - public static Dictionary loadedFrames; - public static AnimationSet output; - - public static void Main(string[] args) - { - using(XmlReader xmlRead = XmlReader.Create("Content/boardMap.xml")) - { - loadedFrames = IntermediateSerializer.Deserialize>(xmlRead, null); - } - - output = new AnimationSet(); - - Frame[] soloCursor_pulse_frames = new Frame[] - { - new Frame(loadedFrames["soloCursor"], FrameTime.FramesToSeconds(20)), - new Frame(loadedFrames["soloCursor_pulse"], FrameTime.FramesToSeconds(20)), - }; - output.Add(new Animation("soloCursor_pulse", soloCursor_pulse_frames, true)); - - Frame[] twinCursor_pulse_frames = new Frame[] - { - new Frame(loadedFrames["twinCursor"], FrameTime.FramesToSeconds(20)), - new Frame(loadedFrames["twinCursor_pulse"], FrameTime.FramesToSeconds(20)), - }; - output.Add(new Animation("twinCursor_pulse", twinCursor_pulse_frames, true)); - - Frame[] block_default_frames = new Frame[] - { - new Frame(loadedFrames["block0"], 0), - }; - output.Add(new Animation("block_default", block_default_frames, false)); - - Frame[] block_matched_frames = new Frame[] - { - new Frame(loadedFrames["block0"], 0), - new Frame(loadedFrames["block0_flash"], 0) - }; - output.Add(new Animation("block_matched", block_matched_frames, true)); - - Frame[] block_pop_frames = new Frame[] - { - new Frame(loadedFrames["block0_pop"], 0), - }; - output.Add(new Animation("block_pop", block_pop_frames, false)); - - Frame[] block_fall_frames = new Frame[] - { - new Frame(loadedFrames["block0"], 0), - new Frame(loadedFrames["block0_bounce1"], 0), - new Frame(loadedFrames["block0_bounce2"], 0), - }; - output.Add(new Animation("block_fall", block_fall_frames, false)); - - Frame[] block_squished_frames = new Frame[] - { - new Frame(loadedFrames["block0_squish"], 0), - }; - output.Add(new Animation("block_squished", block_squished_frames, false)); - - Frame[] block_bounce_frames = new Frame[] - { - new Frame(loadedFrames["block0_bounce2"], FrameTime.FramesToSeconds(1)), - new Frame(loadedFrames["block0"], FrameTime.FramesToSeconds(1)), - new Frame(loadedFrames["block0_squish"], FrameTime.FramesToSeconds(1)), - new Frame(loadedFrames["block0"], FrameTime.FramesToSeconds(1)), - new Frame(loadedFrames["block0_bounce1"], FrameTime.FramesToSeconds(2)), - new Frame(loadedFrames["block0"], FrameTime.FramesToSeconds(0)), - }; - output.Add(new Animation("block_bounce", block_bounce_frames, false)); - - Frame[] tiledBG_default_frames = new Frame[] - { - new Frame(loadedFrames["tiledBG_default"], 0), - }; - output.Add(new Animation("tiledBG_default", tiledBG_default_frames, false)); - - var xmlSettings = new XmlWriterSettings(); - xmlSettings.Indent = true; - using(XmlWriter writer = XmlWriter.Create("output.xml")) - { - IntermediateSerializer.Serialize(writer, output, null); - } - - } - /* - public Animation TwinCursor_pulse => new Animation("twinCursor_pulse", textureAtlas, twinCursor_pulse_frames, FrameTimerUtility.FramesToSeconds(20), true); - private readonly string[] twinCursor_pulse_frames = new string[] - { - SpriteNames.TwinCursor, - SpriteNames.TwinCursor_pulse - }; - - //red blocks - public Animation Block_default => new Animation("block_default", textureAtlas, block_default_frames, defaultDelay, false); - private readonly string[] block_default_frames = new string[] - { - SpriteNames.Block0 - }; - - public Animation Block_matched => new Animation("block_matched", textureAtlas, block_matched_frames, defaultDelay, true); - private readonly string[] block_matched_frames = new string[] - { - SpriteNames.Block0, - SpriteNames.Block0_flash - }; - - public Animation Block_pop => new Animation("block_pop", textureAtlas, block_pop_frames, defaultDelay, true); - private readonly string[] block_pop_frames = new string[] - { - SpriteNames.Block0_pop - }; - - public Animation Block_fall => new Animation("block_fall", textureAtlas, block_fall_frames, defaultDelay, false); - private readonly string[] block_fall_frames = new string[] - { - SpriteNames.Block0, - SpriteNames.Block0_bounce1, - SpriteNames.Block0_bounce2, - }; - - public Animation Block_squished => new Animation("block_squished", textureAtlas, block_squished_frames, defaultDelay, false); - private readonly string[] block_squished_frames = new string[] - { - SpriteNames.Block0_squish - }; - - public Animation Block_bounce => new Animation("block_bounce", textureAtlas, block_bounce_frames, defaultDelay, false); - private readonly string[] block_bounce_frames = new string[] - { - SpriteNames.Block0_bounce2, - SpriteNames.Block0, - SpriteNames.Block0_squish, - SpriteNames.Block0, - SpriteNames.Block0_bounce1, - SpriteNames.Block0_bounce1, - SpriteNames.Block0 - }; - - public Animation TiledBG_default => new Animation("tiledBG_default", textureAtlas, tiledBG_default_frames, defaultDelay, false); - private readonly string[] tiledBG_default_frames = new string[] - { - SpriteNames.TiledBG_default - }; - */ - } -} diff --git a/AnimationGenerator/Properties/AssemblyInfo.cs b/AnimationGenerator/Properties/AssemblyInfo.cs deleted file mode 100644 index 19aceef..0000000 --- a/AnimationGenerator/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("AnimationGenerator")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("AnimationGenerator")] -[assembly: AssemblyCopyright("Copyright © 2018")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("b1938bd7-a474-427f-91f1-f8a1875b28ce")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/SpriteMapEditor/Form1.Designer.cs b/SpriteMapEditor/Form1.Designer.cs index 23a86aa..25bfa18 100644 --- a/SpriteMapEditor/Form1.Designer.cs +++ b/SpriteMapEditor/Form1.Designer.cs @@ -37,11 +37,14 @@ this.moveUpButton = new System.Windows.Forms.Button(); this.spritesLabel = new System.Windows.Forms.Label(); this.spriteEditPanel = new System.Windows.Forms.Panel(); - this.editingOriginCheckBox = new System.Windows.Forms.CheckBox(); + this.originEditPanel = new System.Windows.Forms.Panel(); + this.originPresetLabel = new System.Windows.Forms.Label(); + this.originPresetBox = new System.Windows.Forms.ComboBox(); + this.originXPosLabel = new System.Windows.Forms.Label(); + this.originYPosLabel = new System.Windows.Forms.Label(); this.originYPosBox = new System.Windows.Forms.NumericUpDown(); this.originXPosBox = new System.Windows.Forms.NumericUpDown(); - this.originYPosLabel = new System.Windows.Forms.Label(); - this.originXPosLabel = new System.Windows.Forms.Label(); + this.editingOriginCheckBox = new System.Windows.Forms.CheckBox(); this.spriteHeightBox = new System.Windows.Forms.NumericUpDown(); this.spriteWidthBox = new System.Windows.Forms.NumericUpDown(); this.spriteYPosBox = new System.Windows.Forms.NumericUpDown(); @@ -62,23 +65,27 @@ this.zoomLabel = new System.Windows.Forms.Label(); this.menuStrip1 = new System.Windows.Forms.MenuStrip(); this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.loadSpriteSheetToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.loadSpriteMapToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.newProjectToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.openProjectToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripSeparator(); - this.saveSpriteMapToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.saveSpriteMapAsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.saveProjectToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.saveProjectAsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripSeparator(); + this.importSpriteMapToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.exportSpriteMapToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.undoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.redoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.highlightCheckBox = new System.Windows.Forms.CheckBox(); this.outlineTimer = new System.Windows.Forms.Timer(this.components); - this.originPresetBox = new System.Windows.Forms.ComboBox(); - this.originPresetLabel = new System.Windows.Forms.Label(); - this.originEditPanel = new System.Windows.Forms.Panel(); this.viewEditPanel = new System.Windows.Forms.Panel(); + this.saveProjectDialog = new System.Windows.Forms.SaveFileDialog(); + this.openProjectDialog = new System.Windows.Forms.OpenFileDialog(); + this.importSpriteSheetToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.spriteSheetViewer = new SpriteMapEditor.PictureBoxWithInterpolationMode(); this.spriteListEditPanel.SuspendLayout(); this.spriteEditPanel.SuspendLayout(); + this.originEditPanel.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.originYPosBox)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.originXPosBox)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.spriteHeightBox)).BeginInit(); @@ -87,7 +94,6 @@ ((System.ComponentModel.ISupportInitialize)(this.spriteXPosBox)).BeginInit(); this.spriteViewerPanel.SuspendLayout(); this.menuStrip1.SuspendLayout(); - this.originEditPanel.SuspendLayout(); this.viewEditPanel.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.spriteSheetViewer)).BeginInit(); this.SuspendLayout(); @@ -103,7 +109,7 @@ this.spriteList.MinimumSize = new System.Drawing.Size(4, 4); this.spriteList.Name = "spriteList"; this.spriteList.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended; - this.spriteList.Size = new System.Drawing.Size(182, 121); + this.spriteList.Size = new System.Drawing.Size(182, 251); this.spriteList.TabIndex = 0; this.spriteList.SelectedValueChanged += new System.EventHandler(this.spriteList_SelectedValueChanged); // @@ -143,13 +149,13 @@ this.spriteListEditPanel.Enabled = false; this.spriteListEditPanel.Location = new System.Drawing.Point(2, 27); this.spriteListEditPanel.Name = "spriteListEditPanel"; - this.spriteListEditPanel.Size = new System.Drawing.Size(191, 215); + this.spriteListEditPanel.Size = new System.Drawing.Size(191, 321); this.spriteListEditPanel.TabIndex = 8; // // moveDownButton // this.moveDownButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.moveDownButton.Location = new System.Drawing.Point(41, 183); + this.moveDownButton.Location = new System.Drawing.Point(41, 289); this.moveDownButton.Name = "moveDownButton"; this.moveDownButton.Size = new System.Drawing.Size(70, 20); this.moveDownButton.TabIndex = 5; @@ -160,7 +166,7 @@ // moveUpButton // this.moveUpButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.moveUpButton.Location = new System.Drawing.Point(117, 183); + this.moveUpButton.Location = new System.Drawing.Point(117, 289); this.moveUpButton.Name = "moveUpButton"; this.moveUpButton.Size = new System.Drawing.Size(71, 20); this.moveUpButton.TabIndex = 6; @@ -195,21 +201,61 @@ this.spriteEditPanel.Controls.Add(this.spriteSettingsLabel); this.spriteEditPanel.Controls.Add(this.spriteNameBox); this.spriteEditPanel.Enabled = false; - this.spriteEditPanel.Location = new System.Drawing.Point(2, 241); + this.spriteEditPanel.Location = new System.Drawing.Point(2, 347); this.spriteEditPanel.Name = "spriteEditPanel"; this.spriteEditPanel.Size = new System.Drawing.Size(191, 180); this.spriteEditPanel.TabIndex = 9; // - // editingOriginCheckBox + // originEditPanel // - this.editingOriginCheckBox.AutoSize = true; - this.editingOriginCheckBox.Location = new System.Drawing.Point(9, 103); - this.editingOriginCheckBox.Name = "editingOriginCheckBox"; - this.editingOriginCheckBox.Size = new System.Drawing.Size(107, 17); - this.editingOriginCheckBox.TabIndex = 23; - this.editingOriginCheckBox.Text = "Edit Origin Point?"; - this.editingOriginCheckBox.UseVisualStyleBackColor = true; - this.editingOriginCheckBox.CheckedChanged += new System.EventHandler(this.editingOriginCheckBox_CheckedChanged); + this.originEditPanel.Controls.Add(this.originPresetLabel); + this.originEditPanel.Controls.Add(this.originPresetBox); + this.originEditPanel.Controls.Add(this.originXPosLabel); + this.originEditPanel.Controls.Add(this.originYPosLabel); + this.originEditPanel.Controls.Add(this.originYPosBox); + this.originEditPanel.Controls.Add(this.originXPosBox); + this.originEditPanel.Enabled = false; + this.originEditPanel.Location = new System.Drawing.Point(0, 123); + this.originEditPanel.Name = "originEditPanel"; + this.originEditPanel.Size = new System.Drawing.Size(191, 54); + this.originEditPanel.TabIndex = 18; + // + // originPresetLabel + // + this.originPresetLabel.AutoSize = true; + this.originPresetLabel.Location = new System.Drawing.Point(6, 33); + this.originPresetLabel.Name = "originPresetLabel"; + this.originPresetLabel.Size = new System.Drawing.Size(70, 13); + this.originPresetLabel.TabIndex = 25; + this.originPresetLabel.Text = "Origin Preset:"; + // + // originPresetBox + // + this.originPresetBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.originPresetBox.FormattingEnabled = true; + this.originPresetBox.Location = new System.Drawing.Point(78, 30); + this.originPresetBox.Name = "originPresetBox"; + this.originPresetBox.Size = new System.Drawing.Size(110, 21); + this.originPresetBox.TabIndex = 24; + this.originPresetBox.SelectedIndexChanged += new System.EventHandler(this.originPresetBox_SelectedIndexChanged); + // + // originXPosLabel + // + this.originXPosLabel.AutoSize = true; + this.originXPosLabel.Location = new System.Drawing.Point(6, 7); + this.originXPosLabel.Name = "originXPosLabel"; + this.originXPosLabel.Size = new System.Drawing.Size(44, 13); + this.originXPosLabel.TabIndex = 19; + this.originXPosLabel.Text = "Origin X"; + // + // originYPosLabel + // + this.originYPosLabel.AutoSize = true; + this.originYPosLabel.Location = new System.Drawing.Point(98, 7); + this.originYPosLabel.Name = "originYPosLabel"; + this.originYPosLabel.Size = new System.Drawing.Size(44, 13); + this.originYPosLabel.TabIndex = 20; + this.originYPosLabel.Text = "Origin Y"; // // originYPosBox // @@ -247,23 +293,16 @@ this.originXPosBox.TabIndex = 21; this.originXPosBox.ValueChanged += new System.EventHandler(this.originXPosBox_ValueChanged); // - // originYPosLabel + // editingOriginCheckBox // - this.originYPosLabel.AutoSize = true; - this.originYPosLabel.Location = new System.Drawing.Point(98, 7); - this.originYPosLabel.Name = "originYPosLabel"; - this.originYPosLabel.Size = new System.Drawing.Size(44, 13); - this.originYPosLabel.TabIndex = 20; - this.originYPosLabel.Text = "Origin Y"; - // - // originXPosLabel - // - this.originXPosLabel.AutoSize = true; - this.originXPosLabel.Location = new System.Drawing.Point(6, 7); - this.originXPosLabel.Name = "originXPosLabel"; - this.originXPosLabel.Size = new System.Drawing.Size(44, 13); - this.originXPosLabel.TabIndex = 19; - this.originXPosLabel.Text = "Origin X"; + this.editingOriginCheckBox.AutoSize = true; + this.editingOriginCheckBox.Location = new System.Drawing.Point(9, 103); + this.editingOriginCheckBox.Name = "editingOriginCheckBox"; + this.editingOriginCheckBox.Size = new System.Drawing.Size(107, 17); + this.editingOriginCheckBox.TabIndex = 23; + this.editingOriginCheckBox.Text = "Edit Origin Point?"; + this.editingOriginCheckBox.UseVisualStyleBackColor = true; + this.editingOriginCheckBox.CheckedChanged += new System.EventHandler(this.editingOriginCheckBox_CheckedChanged); // // spriteHeightBox // @@ -383,19 +422,23 @@ // // loadSpriteSheetDialog // - this.loadSpriteSheetDialog.FileName = "openFileDialog1"; + this.loadSpriteSheetDialog.FileName = " "; this.loadSpriteSheetDialog.Filter = "PNG files|*.png"; + this.loadSpriteSheetDialog.Title = "Import Sprite Sheet Image"; // // loadMapDialog // this.loadMapDialog.DefaultExt = "smap"; - this.loadMapDialog.FileName = "openFileDialog1"; + this.loadMapDialog.FileName = " "; this.loadMapDialog.Filter = "QUROGame SpriteMap|*.smap"; + this.loadMapDialog.Title = "Import Sprite Map"; // // saveMapDialog // this.saveMapDialog.DefaultExt = "smap"; + this.saveMapDialog.FileName = " "; this.saveMapDialog.Filter = "QUROGame SpriteMap|*.smap"; + this.saveMapDialog.Title = "Export Sprite Map"; // // spriteViewerPanel // @@ -409,7 +452,7 @@ this.spriteViewerPanel.Enabled = false; this.spriteViewerPanel.Location = new System.Drawing.Point(198, 59); this.spriteViewerPanel.Name = "spriteViewerPanel"; - this.spriteViewerPanel.Size = new System.Drawing.Size(599, 362); + this.spriteViewerPanel.Size = new System.Drawing.Size(599, 468); this.spriteViewerPanel.TabIndex = 14; this.spriteViewerPanel.Scroll += new System.Windows.Forms.ScrollEventHandler(this.spriteViewerPanel_Scroll); // @@ -459,50 +502,74 @@ // fileToolStripMenuItem // this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.loadSpriteSheetToolStripMenuItem, - this.loadSpriteMapToolStripMenuItem, + this.newProjectToolStripMenuItem, + this.openProjectToolStripMenuItem, this.toolStripMenuItem1, - this.saveSpriteMapToolStripMenuItem, - this.saveSpriteMapAsToolStripMenuItem}); + this.saveProjectToolStripMenuItem, + this.saveProjectAsToolStripMenuItem, + this.toolStripMenuItem2, + this.importSpriteSheetToolStripMenuItem, + this.importSpriteMapToolStripMenuItem, + this.exportSpriteMapToolStripMenuItem}); this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20); this.fileToolStripMenuItem.Text = "File"; // - // loadSpriteSheetToolStripMenuItem + // newProjectToolStripMenuItem // - this.loadSpriteSheetToolStripMenuItem.Name = "loadSpriteSheetToolStripMenuItem"; - this.loadSpriteSheetToolStripMenuItem.Size = new System.Drawing.Size(183, 22); - this.loadSpriteSheetToolStripMenuItem.Text = "Load Sprite Sheet..."; - this.loadSpriteSheetToolStripMenuItem.Click += new System.EventHandler(this.loadSpriteSheetToolStripMenuItem_Click); + this.newProjectToolStripMenuItem.Name = "newProjectToolStripMenuItem"; + this.newProjectToolStripMenuItem.Size = new System.Drawing.Size(184, 22); + this.newProjectToolStripMenuItem.Text = "New Project..."; + this.newProjectToolStripMenuItem.Click += new System.EventHandler(this.newProjectMenuItem_Click); // - // loadSpriteMapToolStripMenuItem + // openProjectToolStripMenuItem // - this.loadSpriteMapToolStripMenuItem.Enabled = false; - this.loadSpriteMapToolStripMenuItem.Name = "loadSpriteMapToolStripMenuItem"; - this.loadSpriteMapToolStripMenuItem.Size = new System.Drawing.Size(183, 22); - this.loadSpriteMapToolStripMenuItem.Text = "Load Sprite Map..."; - this.loadSpriteMapToolStripMenuItem.Click += new System.EventHandler(this.loadMapToolStripMenuItem_Click); + this.openProjectToolStripMenuItem.Name = "openProjectToolStripMenuItem"; + this.openProjectToolStripMenuItem.Size = new System.Drawing.Size(184, 22); + this.openProjectToolStripMenuItem.Text = "Open Project..."; + this.openProjectToolStripMenuItem.Click += new System.EventHandler(this.openProjectToolStripMenuItem_Click); // // toolStripMenuItem1 // this.toolStripMenuItem1.Name = "toolStripMenuItem1"; - this.toolStripMenuItem1.Size = new System.Drawing.Size(180, 6); + this.toolStripMenuItem1.Size = new System.Drawing.Size(181, 6); // - // saveSpriteMapToolStripMenuItem + // saveProjectToolStripMenuItem // - this.saveSpriteMapToolStripMenuItem.Enabled = false; - this.saveSpriteMapToolStripMenuItem.Name = "saveSpriteMapToolStripMenuItem"; - this.saveSpriteMapToolStripMenuItem.Size = new System.Drawing.Size(183, 22); - this.saveSpriteMapToolStripMenuItem.Text = "Save Sprite Map"; - this.saveSpriteMapToolStripMenuItem.Click += new System.EventHandler(this.saveSpriteMapToolStripMenuItem_Click); + this.saveProjectToolStripMenuItem.Enabled = false; + this.saveProjectToolStripMenuItem.Name = "saveProjectToolStripMenuItem"; + this.saveProjectToolStripMenuItem.Size = new System.Drawing.Size(184, 22); + this.saveProjectToolStripMenuItem.Text = "Save Project"; + this.saveProjectToolStripMenuItem.Click += new System.EventHandler(this.saveProjectToolStripMenuItem_Click); // - // saveSpriteMapAsToolStripMenuItem + // saveProjectAsToolStripMenuItem // - this.saveSpriteMapAsToolStripMenuItem.Enabled = false; - this.saveSpriteMapAsToolStripMenuItem.Name = "saveSpriteMapAsToolStripMenuItem"; - this.saveSpriteMapAsToolStripMenuItem.Size = new System.Drawing.Size(183, 22); - this.saveSpriteMapAsToolStripMenuItem.Text = "Save Sprite Map As..."; - this.saveSpriteMapAsToolStripMenuItem.Click += new System.EventHandler(this.saveMapAsToolStripMenuItem_Click); + this.saveProjectAsToolStripMenuItem.Enabled = false; + this.saveProjectAsToolStripMenuItem.Name = "saveProjectAsToolStripMenuItem"; + this.saveProjectAsToolStripMenuItem.Size = new System.Drawing.Size(184, 22); + this.saveProjectAsToolStripMenuItem.Text = "Save Project As..."; + this.saveProjectAsToolStripMenuItem.Click += new System.EventHandler(this.saveProjectAsToolStripMenuItem_Click); + // + // toolStripMenuItem2 + // + this.toolStripMenuItem2.Name = "toolStripMenuItem2"; + this.toolStripMenuItem2.Size = new System.Drawing.Size(181, 6); + // + // importSpriteMapToolStripMenuItem + // + this.importSpriteMapToolStripMenuItem.Enabled = false; + this.importSpriteMapToolStripMenuItem.Name = "importSpriteMapToolStripMenuItem"; + this.importSpriteMapToolStripMenuItem.Size = new System.Drawing.Size(184, 22); + this.importSpriteMapToolStripMenuItem.Text = "Import Sprite Map..."; + this.importSpriteMapToolStripMenuItem.Click += new System.EventHandler(this.importMapToolStripMenuItem_Click); + // + // exportSpriteMapToolStripMenuItem + // + this.exportSpriteMapToolStripMenuItem.Enabled = false; + this.exportSpriteMapToolStripMenuItem.Name = "exportSpriteMapToolStripMenuItem"; + this.exportSpriteMapToolStripMenuItem.Size = new System.Drawing.Size(184, 22); + this.exportSpriteMapToolStripMenuItem.Text = "Export Sprite Map..."; + this.exportSpriteMapToolStripMenuItem.Click += new System.EventHandler(this.exportMapToolStripMenuItem_Click); // // editToolStripMenuItem // @@ -547,39 +614,6 @@ this.outlineTimer.Interval = 66; this.outlineTimer.Tick += new System.EventHandler(this.outlineTimer_Tick); // - // originPresetBox - // - this.originPresetBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.originPresetBox.FormattingEnabled = true; - this.originPresetBox.Location = new System.Drawing.Point(78, 30); - this.originPresetBox.Name = "originPresetBox"; - this.originPresetBox.Size = new System.Drawing.Size(110, 21); - this.originPresetBox.TabIndex = 24; - this.originPresetBox.SelectedIndexChanged += new System.EventHandler(this.originPresetBox_SelectedIndexChanged); - // - // originPresetLabel - // - this.originPresetLabel.AutoSize = true; - this.originPresetLabel.Location = new System.Drawing.Point(6, 33); - this.originPresetLabel.Name = "originPresetLabel"; - this.originPresetLabel.Size = new System.Drawing.Size(70, 13); - this.originPresetLabel.TabIndex = 25; - this.originPresetLabel.Text = "Origin Preset:"; - // - // originEditPanel - // - this.originEditPanel.Controls.Add(this.originPresetLabel); - this.originEditPanel.Controls.Add(this.originPresetBox); - this.originEditPanel.Controls.Add(this.originXPosLabel); - this.originEditPanel.Controls.Add(this.originYPosLabel); - this.originEditPanel.Controls.Add(this.originYPosBox); - this.originEditPanel.Controls.Add(this.originXPosBox); - this.originEditPanel.Enabled = false; - this.originEditPanel.Location = new System.Drawing.Point(0, 123); - this.originEditPanel.Name = "originEditPanel"; - this.originEditPanel.Size = new System.Drawing.Size(191, 54); - this.originEditPanel.TabIndex = 18; - // // viewEditPanel // this.viewEditPanel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); @@ -593,6 +627,27 @@ this.viewEditPanel.Size = new System.Drawing.Size(246, 29); this.viewEditPanel.TabIndex = 18; // + // saveProjectDialog + // + this.saveProjectDialog.DefaultExt = "smappr"; + this.saveProjectDialog.FileName = " "; + this.saveProjectDialog.Filter = "QUROGames Sprite Map Editor Project|*.smappr"; + this.saveProjectDialog.Title = "Save Project As"; + // + // openProjectDialog + // + this.openProjectDialog.DefaultExt = "smappr"; + this.openProjectDialog.FileName = " "; + this.openProjectDialog.Filter = "QUROGames Sprite Map Editor Project|*.smappr"; + this.openProjectDialog.Title = "Open Project"; + // + // importSpriteSheetToolStripMenuItem + // + this.importSpriteSheetToolStripMenuItem.Name = "importSpriteSheetToolStripMenuItem"; + this.importSpriteSheetToolStripMenuItem.Size = new System.Drawing.Size(184, 22); + this.importSpriteSheetToolStripMenuItem.Text = "Import Sprite Sheet..."; + this.importSpriteSheetToolStripMenuItem.Click += new System.EventHandler(this.importSpriteSheetToolStripMenuItem_Click); + // // spriteSheetViewer // this.spriteSheetViewer.BackgroundImage = global::SpriteMapEditor.Properties.Resources.transparentUI; @@ -615,7 +670,7 @@ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.SystemColors.Control; - this.ClientSize = new System.Drawing.Size(800, 424); + this.ClientSize = new System.Drawing.Size(800, 530); this.Controls.Add(this.viewEditPanel); this.Controls.Add(this.spriteViewerPanel); this.Controls.Add(this.spriteEditPanel); @@ -631,6 +686,8 @@ this.spriteListEditPanel.PerformLayout(); this.spriteEditPanel.ResumeLayout(false); this.spriteEditPanel.PerformLayout(); + this.originEditPanel.ResumeLayout(false); + this.originEditPanel.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.originYPosBox)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.originXPosBox)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.spriteHeightBox)).EndInit(); @@ -640,8 +697,6 @@ this.spriteViewerPanel.ResumeLayout(false); this.menuStrip1.ResumeLayout(false); this.menuStrip1.PerformLayout(); - this.originEditPanel.ResumeLayout(false); - this.originEditPanel.PerformLayout(); this.viewEditPanel.ResumeLayout(false); this.viewEditPanel.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.spriteSheetViewer)).EndInit(); @@ -685,11 +740,10 @@ private System.Windows.Forms.Button moveUpButton; private System.Windows.Forms.MenuStrip menuStrip1; private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem loadSpriteSheetToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem loadSpriteMapToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem newProjectToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem importSpriteMapToolStripMenuItem; private System.Windows.Forms.ToolStripSeparator toolStripMenuItem1; - private System.Windows.Forms.ToolStripMenuItem saveSpriteMapToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem saveSpriteMapAsToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem exportSpriteMapToolStripMenuItem; private System.Windows.Forms.CheckBox editingOriginCheckBox; private System.Windows.Forms.CheckBox highlightCheckBox; private System.Windows.Forms.Timer outlineTimer; @@ -700,6 +754,13 @@ private System.Windows.Forms.ComboBox originPresetBox; private System.Windows.Forms.Panel originEditPanel; private System.Windows.Forms.Panel viewEditPanel; + private System.Windows.Forms.ToolStripMenuItem saveProjectAsToolStripMenuItem; + private System.Windows.Forms.SaveFileDialog saveProjectDialog; + private System.Windows.Forms.ToolStripMenuItem openProjectToolStripMenuItem; + private System.Windows.Forms.OpenFileDialog openProjectDialog; + private System.Windows.Forms.ToolStripMenuItem saveProjectToolStripMenuItem; + private System.Windows.Forms.ToolStripSeparator toolStripMenuItem2; + private System.Windows.Forms.ToolStripMenuItem importSpriteSheetToolStripMenuItem; } } diff --git a/SpriteMapEditor/Form1.cs b/SpriteMapEditor/Form1.cs index a000e4a..134b056 100644 --- a/SpriteMapEditor/Form1.cs +++ b/SpriteMapEditor/Form1.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; +using System.Drawing.Imaging; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -33,14 +34,37 @@ namespace SpriteMapEditor private bool editingOrigin = false; const string TITLE = "QUROGames Sprite Map Editor"; - private string currentSpriteMapFileLocation; + private string _currentSpriteMapFileLocation; private string CurrentSpriteMapFileLocation { - get { return currentSpriteMapFileLocation; } + get { return _currentSpriteMapFileLocation; } set { - currentSpriteMapFileLocation = value; - Text = TITLE + " - " + Path.GetFileName(currentSpriteMapFileLocation); + _currentSpriteMapFileLocation = value; + loadMapDialog.FileName = _currentSpriteMapFileLocation; + saveMapDialog.FileName = _currentSpriteMapFileLocation; + } + } + private string _currentSpriteSheetFileLocation; + private string CurrentSpriteSheetFileLocation + { + get { return _currentSpriteSheetFileLocation; } + set + { + _currentSpriteSheetFileLocation = value; + loadSpriteSheetDialog.FileName = _currentSpriteSheetFileLocation; + } + } + private string _currentProjectFileLocation; + private string CurrentProjectFileLocation + { + get { return _currentProjectFileLocation; } + set + { + _currentProjectFileLocation = value; + Text = TITLE + " - " + Path.GetFileName(_currentProjectFileLocation); + openProjectDialog.FileName = _currentProjectFileLocation; + saveProjectDialog.FileName = _currentProjectFileLocation; } } @@ -76,7 +100,7 @@ namespace SpriteMapEditor InitializeComponent(); FormBorderStyle = FormBorderStyle.Sizable; - undoHistory = new SpriteMapModifications.History(); + undoHistory = new History(); originPresetBox.DataSource = Enum.GetValues(typeof(OriginPreset)); @@ -102,21 +126,108 @@ namespace SpriteMapEditor LoadSpriteEditorValues(); } - private void loadSpriteSheetToolStripMenuItem_Click(object sender, EventArgs e) + private void newProjectMenuItem_Click(object sender, EventArgs e) { - if(loadSpriteSheetDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) + CurrentProjectFileLocation = null; + CurrentSpriteMapFileLocation = null; + CurrentSpriteSheetFileLocation = null; + + sprites = new BindingList() { new SpriteMapRegion() }; + LoadSpriteSheet(); + if (spriteSheet == null) + return; + spriteList.DataSource = sprites; + } + + private void LoadSpriteSheet() + { + if (loadSpriteSheetDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) { - spriteSheet = Image.FromFile(loadSpriteSheetDialog.FileName); + CurrentSpriteSheetFileLocation = loadSpriteSheetDialog.FileName; + + spriteSheet = Image.FromFile(CurrentSpriteSheetFileLocation); spriteSheetViewer.Image = spriteSheet; + if (spriteSheet == null) + return; + importSpriteSheetToolStripMenuItem.Text = "Replace Sprite Sheet..."; InitializeMask(); EnableEditing(); } } + private void LoadSpriteMap() + { + if (loadMapDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) + { + CurrentSpriteMapFileLocation = loadMapDialog.FileName; + + Dictionary loadedSpriteMap; + using (XmlReader xmlRead = XmlReader.Create(CurrentSpriteMapFileLocation)) + { + loadedSpriteMap = IntermediateSerializer.Deserialize>(xmlRead, null); + } + + sprites = new BindingList(); + foreach (KeyValuePair sprite in loadedSpriteMap) + { + sprites.Add(sprite.Value); + } + + spriteList.DataSource = sprites; + } + } + + private void SaveProject() + { + if (CurrentProjectFileLocation != null) + { + SpriteMapProject project = new SpriteMapProject(CurrentSpriteSheetFileLocation, sprites.ToList()); + + using (XmlWriter writer = XmlWriter.Create(CurrentProjectFileLocation)) + { + IntermediateSerializer.Serialize(writer, project, null); + } + } + } + + private void LoadProject() + { + SpriteMapProject loadedProject; + + using (XmlReader xmlRead = XmlReader.Create(CurrentProjectFileLocation)) + { + loadedProject = IntermediateSerializer.Deserialize(xmlRead, null); + } + + if (File.Exists(loadedProject.SpriteSheetFileLocation)) + { + CurrentSpriteSheetFileLocation = loadedProject.SpriteSheetFileLocation; + spriteSheet = Image.FromFile(loadedProject.SpriteSheetFileLocation); + spriteSheetViewer.Image = spriteSheet; + InitializeMask(); + EnableEditing(); + } + else + { + MessageBox.Show("Image referenced by project not found!\nPlease locate a new Sprite Sheet image..."); + LoadSpriteSheet(); + } + if (spriteSheet == null) + return; + + importSpriteSheetToolStripMenuItem.Text = "Replace Sprite Sheet..."; + + sprites = new BindingList(loadedProject.SpriteMap); + spriteList.DataSource = sprites; + + saveProjectToolStripMenuItem.Enabled = true; + } + private void EnableEditing() { - loadSpriteMapToolStripMenuItem.Enabled = true; - saveSpriteMapAsToolStripMenuItem.Enabled = true; + importSpriteMapToolStripMenuItem.Enabled = true; + exportSpriteMapToolStripMenuItem.Enabled = true; + saveProjectAsToolStripMenuItem.Enabled = true; spriteListEditPanel.Enabled = true; spriteEditPanel.Enabled = true; viewEditPanel.Enabled = true; @@ -425,7 +536,7 @@ namespace SpriteMapEditor bottomMost.Y + bottomMost.Height - topMost.Y); } - private void saveMapAsToolStripMenuItem_Click(object sender, EventArgs e) + private void exportMapToolStripMenuItem_Click(object sender, EventArgs e) { var exportDict = new Dictionary(); foreach (SpriteMapRegion sprite in sprites) @@ -451,58 +562,11 @@ namespace SpriteMapEditor IntermediateSerializer.Serialize(writer, exportDict, null); } } - - saveSpriteMapToolStripMenuItem.Enabled = true; } - private void saveSpriteMapToolStripMenuItem_Click(object sender, EventArgs e) + private void importMapToolStripMenuItem_Click(object sender, EventArgs e) { - if (CurrentSpriteMapFileLocation != null) - { - var exportDict = new Dictionary(); - foreach (SpriteMapRegion sprite in sprites) - { - if (exportDict.ContainsKey(sprite.Name)) - { - string errorMessage = "Duplicate names found! Please ensure all sprites have unique names."; - string caption = "Save Aborted"; - MessageBoxButtons saveError = MessageBoxButtons.OK; - - MessageBox.Show(errorMessage, caption, saveError); - return; - } - exportDict.Add(sprite.Name, sprite); - } - - using (XmlWriter writer = XmlWriter.Create(CurrentSpriteMapFileLocation)) - { - IntermediateSerializer.Serialize(writer, exportDict, null); - } - } - } - - private void loadMapToolStripMenuItem_Click(object sender, EventArgs e) - { - if(loadMapDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) - { - CurrentSpriteMapFileLocation = loadMapDialog.FileName; - - Dictionary loadedSpriteMap; - using (XmlReader xmlRead = XmlReader.Create(CurrentSpriteMapFileLocation)) - { - loadedSpriteMap = IntermediateSerializer.Deserialize>(xmlRead, null); - } - - sprites = new BindingList(); - foreach(KeyValuePair sprite in loadedSpriteMap) - { - sprites.Add(sprite.Value); - } - - spriteList.DataSource = sprites; - - saveSpriteMapToolStripMenuItem.Enabled = true; - } + LoadSpriteMap(); } private void spriteSheetViewer_MouseMove(object sender, MouseEventArgs e) @@ -747,5 +811,37 @@ namespace SpriteMapEditor undoHistory.Add(modification); spriteSheetViewer.Refresh(); } + + private void saveProjectAsToolStripMenuItem_Click(object sender, EventArgs e) + { + if (saveProjectDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) + { + CurrentProjectFileLocation = saveProjectDialog.FileName; + + SaveProject(); + } + + saveProjectToolStripMenuItem.Enabled = true; + } + + private void openProjectToolStripMenuItem_Click(object sender, EventArgs e) + { + if (openProjectDialog.ShowDialog() == DialogResult.OK) + { + CurrentProjectFileLocation = openProjectDialog.FileName; + + LoadProject(); + } + } + + private void saveProjectToolStripMenuItem_Click(object sender, EventArgs e) + { + SaveProject(); + } + + private void importSpriteSheetToolStripMenuItem_Click(object sender, EventArgs e) + { + LoadSpriteSheet(); + } } } diff --git a/SpriteMapEditor/Form1.resx b/SpriteMapEditor/Form1.resx index f2da520..549bea5 100644 --- a/SpriteMapEditor/Form1.resx +++ b/SpriteMapEditor/Form1.resx @@ -132,4 +132,10 @@ 576, 17 + + 696, 17 + + + 845, 17 + \ No newline at end of file diff --git a/SpriteMapEditor/SpriteMapProject.cs b/SpriteMapEditor/SpriteMapProject.cs index c68484c..d4785a5 100644 --- a/SpriteMapEditor/SpriteMapProject.cs +++ b/SpriteMapEditor/SpriteMapProject.cs @@ -6,11 +6,18 @@ namespace SpriteMapEditor { public class SpriteMapProject { - public Image SpriteSheet { get; set; } + public string SpriteSheetFileLocation { get; set; } public List SpriteMap { get; set; } public SpriteMapProject() { + + } + + public SpriteMapProject(string spriteSheetLocation, List spriteMap) + { + SpriteSheetFileLocation = spriteSheetLocation; + SpriteMap = spriteMap; } } }