From ed0a4bcfc64bda95f8399a46e14350627e96f698 Mon Sep 17 00:00:00 2001 From: Tim Young Date: Mon, 11 Sep 2017 20:34:14 -0500 Subject: [PATCH] removing files --- SpriteLibrary/bin/Release/SpriteLibrary.XML | 1766 ----------------- SpriteLibrary/bin/Release/SpriteLibrary.dll | Bin 66048 -> 0 bytes SpriteLibrary/bin/Release/SpriteLibrary.pdb | Bin 138752 -> 0 bytes .../obj/Release/CoreCompileInputs.cache | 1 - .../DesignTimeResolveAssemblyReferences.cache | Bin 713 -> 0 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 7437 -> 0 bytes ...riteLibrary.Properties.Resources.resources | Bin 8537 -> 0 bytes .../SpriteLibrary.csproj.FileListAbsolute.txt | 8 - ...priteLibrary.csproj.GenerateResource.Cache | Bin 997 -> 0 bytes ...brary.csprojResolveAssemblyReference.cache | Bin 2682 -> 0 bytes SpriteLibrary/obj/Release/SpriteLibrary.dll | Bin 66048 -> 0 bytes SpriteLibrary/obj/Release/SpriteLibrary.pdb | Bin 138752 -> 0 bytes .../Properties.Resources.Designer.cs.dll | Bin 3072 -> 0 bytes ...le_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs | 0 ...le_5937a670-0e60-4077-877b-f7221da3dda1.cs | 0 ...le_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs | 0 16 files changed, 1775 deletions(-) delete mode 100644 SpriteLibrary/bin/Release/SpriteLibrary.XML delete mode 100644 SpriteLibrary/bin/Release/SpriteLibrary.dll delete mode 100644 SpriteLibrary/bin/Release/SpriteLibrary.pdb delete mode 100644 SpriteLibrary/obj/Release/CoreCompileInputs.cache delete mode 100644 SpriteLibrary/obj/Release/DesignTimeResolveAssemblyReferences.cache delete mode 100644 SpriteLibrary/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache delete mode 100644 SpriteLibrary/obj/Release/SpriteLibrary.Properties.Resources.resources delete mode 100644 SpriteLibrary/obj/Release/SpriteLibrary.csproj.FileListAbsolute.txt delete mode 100644 SpriteLibrary/obj/Release/SpriteLibrary.csproj.GenerateResource.Cache delete mode 100644 SpriteLibrary/obj/Release/SpriteLibrary.csprojResolveAssemblyReference.cache delete mode 100644 SpriteLibrary/obj/Release/SpriteLibrary.dll delete mode 100644 SpriteLibrary/obj/Release/SpriteLibrary.pdb delete mode 100644 SpriteLibrary/obj/Release/TempPE/Properties.Resources.Designer.cs.dll delete mode 100644 SpriteLibrary/obj/Release/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs delete mode 100644 SpriteLibrary/obj/Release/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs delete mode 100644 SpriteLibrary/obj/Release/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs diff --git a/SpriteLibrary/bin/Release/SpriteLibrary.XML b/SpriteLibrary/bin/Release/SpriteLibrary.XML deleted file mode 100644 index 5c53934..0000000 --- a/SpriteLibrary/bin/Release/SpriteLibrary.XML +++ /dev/null @@ -1,1766 +0,0 @@ - - - - SpriteLibrary - - - - - This is a delegate for a keypress event. - - - - - - - This is a system that can be used to check for any keypress on a form. It is usually used through - - - You want to define a variable on your form, something like: - - private KeyMessageFilter the_filter = new KeyMessageFilter(); - - When the form loads (in the - event of the form), set the filter with: - - Application.AddMessageFilter(the_filter); - - And then, to use it, do something like: - - bool Up = m_filter.IsKeyPressed(Keys.W); - bool Down = m_filter.IsKeyPressed(Keys.S); - - Much of this code was found here: - - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033{\fonttbl{\f0\fnil\fcharset0 Calibri;}} - {\colortbl ;\red0\green0\blue255;} - {\*\generator Riched20 10.0.10586}\viewkind4\uc1 - \pard\sa200\sl276\slmult1\f0\fs22\lang9 This is the Running Demo, which was created to test out the SpriteController: {{\field{\*\fldinst{HYPERLINK http://www.codeproject.com/Articles/1085446/Using-Sprites-Inside-Windows-Forms }}{\fldrslt{http://www.codeproject.com/Articles/1085446/Using-Sprites-Inside-Windows-Forms\ul0\cf0}}}}\f0 [rest of string was truncated]";. - - - - - A single frame of an animation - - - - - One animation. A series of images. - - - - - Create an image from an image that has a bunch of frames in the one image. - Start at the specified position (Start), and grab Count items (if we can find them) - - The number of frames to grab - A point in the image where we start capturing frames - The smart image this is part of - the image we use for the sprite. Should have lots of images as a part of it. - the width of each frame - the height of each frame - The duration in miliseconds for this frame - - - - Create an image from an image that has a bunch of frames in the one image. - Start at (0,0) with the specified height and width. Pull out as many images as we can - - The smart image this is part of - the image we use for the sprite. Should have lots of images as a part of it. - the width of each frame - the height of each frame - The duration in miliseconds for this frame - - - - This is the holder and parser for images within the AnimatedSprite world - It allows you to store and access animations. A smart image might be a "troll" - that has a series of animations for up, down, left, right, and die. - - - - - Make an animated image from an image that contains multiple frames - - The sprite controller this is attached to - The image we use to draw the animation from - The width of the image to cut out of the main image - The height of the image to cut out of the main image - The duration in miliseconds - - - - Return true if the specified animation and frame for that animation needs - to be changed due to the time passing. - - The animation index - the frame index - The time that has passed since the last frame was displayed. - - - - - Check to see if the animation is in the last frame. Only works if animateonce is set to true - - The animateOnce value of the sprite - The animation we think we are on - The frame we think we are on - - - - - Return the number of frames that the specified animation has. - - What animation to check - The number of animation frames found in that animation - - - - An EventArgs that contains information about Sprites. Most of the Sprite events use - this SpriteEventArgs. - - - - - If another Sprite is involved in the event (Collision), than that Sprite is included here. - It will be null if no other Sprite is involved. - - - - - The CollisionMethod used in the event. Currently, only rectangle collisions are used - - - - - For the CheckBeforeMove event, newlocation will be the location the sprite is trying - to move to. You can adjust the point (move it left, right, up, down) and it will affect - the placement of the sprite. - - - - - Used primarily in the CheckBeforeMove event. If you set cancel to true, then the move fails. - You can use this to keep a Sprite from going places where it ought not to go. - - - - - A Sprite is an animated image that has a size, position, rotation, and possible vector - It tracks where in the animation sequence it is, can report colisions, etc. This SpriteController - draws, moves, and deals with most graphical aspects of the sprites for you. - - - - - The Sprite ID as specified by the sprite controller. - - - - - The name of the sprite. Use SetSpriteName(Name) to change this name. Most Named sprites - are used to define what a sprite is. Once you have created a named sprite, you usually use - to clone the sprite for use. The basic rule of thumb is - to load your sprites from images once, and name the initial sprites. Then, when you go to use - those sprites, get duplicates of them. The reason for this is because it takes more processing time to initially - create the sprites than it takes to duplicate them. - - - - - Set the opacity of the sprite. The value should be between 0 and 1. 1 is solid, 0 is transparent. - Sometimes you want to drag a sprite around the map, or show a sprite that "could be there." Setting - the sprite opacity is usually how you do that. One warning, however. The opacity value takes effect the - next time it is drawn. If the sprite is animating rapidly, it will take effect nearly emmediately. If - it is not animating, not moving, or just sitting there, then it may not take effect for quite some time. - - - - - Return the name of the sprite that this was duplicated from. A duplicated sprite will have - no name, but will have a SpriteOriginName. - - - - - This is the frame of the current animation sequence. You can use this if you need to figure out what frame index - to resume something at, or something like that. - - - - - The final frame is the one that gets displayed once the animation has finished. - - - - - Report whether or not the animation has been completed. When you tell a Sprite to AnimateOnce, - this will report "false" until the animation sequence has been finished. At that time, the value - will be "True." The tricky bit is that this is a boolean. If you have not told a sprite to - animate once, it will always return "false." If a sprite is paused, this returns "false." The only - time this returns "true" is when you tell a sprite to animate once, or animate a few times, and those - times have completed. At that time, this will report "True". If you have a sprite with only one frame, - it may not look like it is "animating", but it is. It is simply animating that one frame over and over. - So, AnimationDone reports false, unless you have told it to animate_once. - - - - - The movement speed of the sprite. To make a Sprite move, you need to set the MovementSpeed, - the direction (using - , - , - , - or ), and the - property. - The speed is calculated in pixels per amount of time. A higher number is faster than a lower number. - - - - - Tells us if we are in the process of doing a MoveTo operation. This boolean should be the - opposite of SpriteReachedEndpoint, but that boolean is poorly named. This is usually the easier - one to use. - - - - - If we are trying to collide with a sprite, we store that sprite here. - - - - - Determine if the sprite automatically moves (you need to give it a direction [using one of the - SetSpriteDirection functions] and speed [MovementSpeed = X] also) - - - - - A number from 0 to 100. Default = 50. Higher numbers print on top of lower numbers. If you want a sprite to - always be drawn on top of other sprites, give it a number higher than 50. If you want a sprite to go under - other sprites, make its number lower than 50. - - - - - Determine if the sprite will automatically move outside the box. If not, it will hit the side of the box and stick - - - - - Get or set the animation nimber. It is best to change the animation using ChangeAnimation. - It is safer. - - - - - The number of animations this sprite has - - - - - Report whether or not this Sprite has been drawn. If it has, then it needs to be erased at - some point in time. - - - - - The sprite location as found on the base image. This is usually the easiest location to use. - - - - - The sprite location as found on the picture-box that this sprite is associated with. Used when dealing with mouse-clicks - - - - - Return the size of the sprite in reference to the image on which it is drawn. To get the - size of the Sprite in relation to the PictureBox, use GetVisibleSize - - - - - Return the relative size of the Sprite in relation to the PictureBox. If the box has been - stretched or shrunk, that affects the visible size of the sprite. - - - - - Change the rotation of the sprite, using degrees. 0 degrees is to the right. 90 is up. - 180 left, 270 down. But, if your sprite was drawn facing up, then rotating it 90 degrees - will have it pointing left. The angle goes counter-clockwise. The image will be scaled - such that it continues to fit within the rectangle that it was originally in. This results - in a little bit of shrinking at times, but you should rarely notice that. - - - - - Flip the image when it gets printed. If your sprite is walking left, flipping it will - make it look like it is going right. - This works great for many things. But, if your program is gobbling memory or CPU, you may need to - consider using Sprite.AddAnimation - - - - - Flip the image when it gets printed. If your sprite looks like it is facing up, doing - this will make it look like it faces down. - This works great for many things. But, if your program is gobbling memory or CPU, you may need to - consider using Sprite.AddAnimation - - - - - If the Sprite is in the middle of being Destroyed, this is set to true. When a Sprite is - Destroyed, it needs to erase itself and do some house-cleaning before it actually vanishes. - During this time, you may not want to use it. It is always a good thing to verify a Sprite - is not in the middle of being destroyed before you do something important with it. To Destroy - a Sprite, use the Sprite.Destroy() function. - - - - - This is true unless we are using MoveTo(point) or MoveTo(list of points) to tell the sprite to move - from one place to the next. This boolean tells us if it has finished or not. - - - - - The visible Height as seen in the PictureBox. It may be stretched, or shrunk from the actual - image size. - - - - - The visible width as seen in the PictureBox. The Sprite may be stretched or shrunk from the - actual image size. - - - - - A Sprite can hold a payload. Use this to store extra information about the various Sprites. Health, Armor, - Shoot time, etc. But, to store information in the payload, you need to make a new class of SpritePayload. The syntax - for doing so is: - - public class TankPayload : SpritePayload { public int Armor; public int Speed; } - - You can access the payload and retrieve the various values. - - - - - A delegate that has a SpriteEventArgs instead of EventArgs. Used for most - of the Sprite events. This allows us to pass more information from sprite events than - a basic EventArgs allows for - - The Sprite that triggers the event - A SpriteEventArgs class which contains Sprite Event values - - - - This event happens right after the sprite is created. Use this to immediately set a - sprite to animate once or something like that. - - - - - This happens when the sprite hits the border of the picture-box. - Useful for when you want to have shots explode when they hit the side. - - - - - This happens when the sprite has exited the picture box. Useful when you want to - keep sprites from traveling on forever after exiting. - - - - - Only used when you tell an animation to animate once. At the end of the animation, - this function fires off. - - - - - This happens when two sprites hit each-other. The SpriteEventArgs that is returned - contains the sprite that this sprite hits. - - - - - This event fires off before a sprite is drawn. Use it if you have constraints. You - can change the location or cancel the move entirely. - - - - - This event happens when someone clicks on the sprite (on the rectangle in which the sprite is). - If you want the event to fire off only when someone clicks on the visible part of the sprite, - use ClickTransparent instead. - - - - - This event happens when someone clicks on the sprite (on the sprite image itself). - If the sprite is sometimes hidden, but you want the click to work even if it is not - visible at that instant, use Click instead. - - - - - This event happens when the mouse moves over the sprite, and then pauses. We use the hover timing from the - parent form. - - - - - When the mouse moves over the sprite. Use this for a menu, when you want the menu item to glow when the - mouse is over the menu item sprite. - - - - - When the mouse moves off the sprite. Use this for a menu, when you want the menu item to stop glowing when - the mouse moves away from the menu item sprite. - - - - - This event happens when the mouse moves over a non-transparent portion of the sprite, and then pauses. - We use the hover timing from the parent form. - - - - - When the mouse moves over a non-transparent portoin of the sprite. Use this for a menu, when you want the - menu item to glow when the mouse is over the menu item sprite. - - - - - When the mouse moves off the non-transparent portion of the sprite. Use this for a menu, when you want the - menu item to stop glowing when - the mouse moves away from the menu item sprite. - - - - - When the frame of an animation changes. If you want to have something happen every time - the foot of your monster comes down, when the swing of your sword is at certain points, etc. - Check to see that the Animaton and FrameIndex are what you expect them to be. - - - - - An event for when you tell a Sprite to MoveTo(Point) a specific point, or, when you - tell the Sprite to MoveTo(list of points). When the Sprite has reached the final destination, - the Sprite fires off this event. - - - - - When you tell a sprite to MoveTo(list of points), this fires off every time it gets to - one of the points. When it gets to the final point, only the SpriteAtEndPoint event fires off. - - - - - The Sprite has just been told to be destroyed. You might want to do some cleanup. - If you need to destroy some payload data, or tell something to cleanup after the sprite - this is where to do that. - - - - - Generate a new sprite. It takes the image and the width and height. If there are multiple images of that width - and height in the image, an animation is created. - - The sprite controller that manages this sprite - The image we pull the animation from - The width of one animation frame - The height of one animation frame - - - - Generate a new sprite. It takes the image and the width and height. If there are multiple images of that width - and height in the image, an animation is created. - - The sprite controller that manages this sprite - The image we pull the animation from - The size of the animation frame - - - - Generate a new single-frame sprite from the specified image. - - The sprite controller that manages this sprite - The image we pull the animation from - - - - Generate a new sprite. It takes a width, height, and the duration in Milliseconds for each frame - - The sprite controller - The image we pull the animations from - The width of one animation frame - the height of one animation frame - The number of milliseconds each frame is shown for as it animates. - - - - Create a Sprite from an animation image, specifying the number of consecutive - frames to grab. - - A point on the specified image where we begin grabbing frames - The Sprite controller we are associating the sprite with - An image that we grab the frames from - The width of one frame - The height of one frame - The number of milliseconds each frame is displayed for - The number of frames to grab as a part of this animation - - - - Create a Sprite that is based off of the specified sprite. Clone the Sprite except that - we set SpriteName = "" and OrigSpriteName = the OldSprite.SpriteName. That way we know that - the sprite was duplicated from the original, and we can still distinguish the original from - the duplicate. - - The Sprite to make a copy of - If we want to set this sprite name to be that of the original. This is a terrible idea. Never do it. - - - - Give this sprite a name. This way we can make a duplicate of it by specifying the name - - A string that represents the new name of the sprite - - - - Add another animation to an existing Sprite. After you add animations, you can use - ChangeAnimation to select which animation you want the specified sprite to show. - For example, you may want to have Animation 0 be a guy walking left, and animation 1 is - that same guy walking right. Because we do not specify the number of frames, it starts - at the top-left corner and grabs as many frames as it can from the image. - - The animation image to grab the frames from - The width of each frame - The height of each frame - - - - Add another animation to an existing Sprite. After you add animations, you can use - ChangeAnimation to select which animation you want the specified sprite to show. - For example, you may want to have Animation 0 be a guy walking left, and animation 1 is - that same guy walking right. Because we do not specify the number of frames, it starts - at the top-left corner and grabs as many frames as it can from the image. - - The animation image to grab the frames from - The size of each frame - - - - Add another animation to an existing Sprite. After you add animations, you can use - ChangeAnimation to select which animation you want the specified sprite to show. - For example, you may want to have Animation 0 be a guy walking left, and animation 1 is - that same guy walking right. Because we do not specify the number of frames, it starts - at the top-left corner and grabs as many frames as it can from the image. - - The animation image to grab the frames from - - - - Add another animation to an existing Sprite. After you add animations, you can use - ChangeAnimation to select which animation you want the specified sprite to show. - For example, you may want to have Animation 0 be a guy walking left, and animation 1 is - that same guy walking right. Because we do not specify the number of frames, it starts - at the top-left corner and grabs as many frames as it can from the image. - - The animation image to grab the frames from - The duration the single frame uses before refreshing. 1000 is a good number. - - - - Add another animation to an existing Sprite. After you add animations, you can use - ChangeAnimation to select which animation you want the specified sprite to show. - For example, you may want to have Animation 0 be a guy walking left, and animation 1 is - that same guy walking right. Because we do not specify the number of frames, it starts - at the top-left corner and grabs as many frames as it can from the image. - - The animation image to grab the frames from - The width of each frame - The height of each frame - The time in milliseconds we use for each frame - - - - Add another animation to an existing Sprite. After you add animations, you can use - ChangeAnimation to select which animation you want the specified sprite to show. - For example, you may want to have Animation 0 be a guy walking left, and animation 1 is - that same guy walking right. Because we do not specify the number of frames, it starts - at the top-left corner and grabs as many frames as it can from the image. - - The animation image to grab the frames from - The width of each frame - The height of each frame - The time in milliseconds we use for each frame - The number of frames we grab from the image - The starting position on the Image where we grab the first frame - - - - Duplicate an animation, except rotated by the specified number of degrees. For example, if you have - a single animation (0), and you want to rotate it by 90 degrees, it will create animation 1 with that - rotation to it. In the long haul, generating a few rotated animations is less memory intensive than - rotating it on demand. - - An integer value specifying the animation to duplicate - The amount of counter-clockwise rotation to add - - - - Duplicate an animation, except rotated by the specified number of degrees. For example, if you have - a single animation (0), and you want to rotate it by 90 degrees, it will create animation 1 with that - rotation to it. In the long haul, generating a few rotated animations is less memory intensive than - rotating it on demand using the or booleans. - - An integer value specifying the animation to duplicate - A boolean, stating if we should mirror horizontally - A boolean, stating if we should mirror vertically - - - - Start a new animation, but do it just once. You can use AnimateJustAFewTimes(1) to the same effect. - Or, you can use AnimateJustAFewTimes with a different number. The SpriteAnimationComplete event will - fire off when the animation completes. The variable, Sprite.AnimationDone will be true once the - animation finishes animating. - - Once the animation has finished, display this animation frame. - -1, or any number that is not an actual frame, will show the last frame of the animation. - The animation index you want to use - - - - Start a new animation. It will complete the animation the number of times you specify. - For example, if your sprite is walking, and one animation is one step, specifying 4 here - will result in your sprite taking 4 steps and then the animation stops. You will want - to make sure you are checking for when the animation stops, using the SpriteAnimationComplete event, - checking the Sprite.AnimationDone flag. - - The animation index you want to use - The number of animations to do before it stops - Once the animation has finished, display this animation frame. - -1, or any number that is not an actual frame, will show the last frame of the animation. - - - - Start a new animation index from scratch - - The animation index you want to use - The first frame you want to start the animation at. - - - - Change the animation speed of a particular animation. This looks at the first frame - and compares that frame to the speed specified. It adjusts all the animations by the - same percentage. - - The integer representing the animation to change - The speed in milliseconds for the new animation - - - - Change the animation speed of a specific frame. Beware. This affects every sprite using this frame - - The index of the animation - The index of the frame within the animation - The new frame duration in milliseconds - - - - Get the animation speed of a single frame. - - The animation we are looking at - The index of the frame we wish to get the speed of - -1 if either index is out of range. Otherwise, return the total milliseconds of the specified frame. - - - - Return the animation speed of this particualar animation of the sprite. - - The animation we are looking at - The speed which was set. The speed is calculated in pixels per amount of time. A higher number is faster than a lower number - - - - Actually draw the Sprite. Never use this. It is used by the SpriteController - - - - - Put the Sprite at a specified location, using the dimentions of the BackgroundImage. - Unless you are using coordinates you have gotten from a mouse-click, this is how you want - to place a Sprite somewhere. It is the easiest way to track things. But, if you are - doing something using mouse-click coordinates, you want to use PutPictureBoxLocation - - The new point on the Image - - - - Put the Sprite at a specified location, using the dimentions of the BackgroundImage. - Unless you are using coordinates you have gotten from a mouse-click, this is how you want - to place a Sprite somewhere. It is the easiest way to track things. But, if you are - doing something using mouse-click coordinates, you want to use PutPictureBoxLocation - - The X location on the background image - the Y location on the background image - - - - Put the Sprite at a specified location, using the dimentions of the PictureBox. - You want to use this if you got your X/Y position from a mouse-click. Otherwise, - this is the harder way to track things, particularly if your window can resize. Use - PutBaseImageLocation instead. - - A point on the PictureBox - - - - Done when the box resizes. We need to recompute the picturebox location. The resize function - automatically calls this. You should never need to do so. - - - - - This is run from the sprite controller every 10 miliseconds. You should never - need to call this yourself. - - - - - Return the point that this sprite needs to be shooting for, for the center of this sprite to - hit the center of the destination sprite. - - The sprite we are shooting for trying to hit - A point which allows the moving sprite to collide with the destination sprite. - - - - Resize the sprite using the base image coordinates. The width and height specified - are relative to the size of the background image, not the picturebox. - - The size (width, height) to make the sprite - - - - Tell the sprite to kill itself. It will erase itself and then - be removed from the spritelist. Then it will be gone forever. - - - - - Remove the sprite from the field. This does not destroy the sprite. It simply removes it from action. - Use UnhideSprite to show it again. - - - - - Make the sprite reappear. If you have not positioned it yet, it will show up at the top corner. It is best to only - use this when you have hidden it using HideSprite - - - - - Return true or false, asking if the specifiec sprite is at the point on the picturebox. - You can use this with a mouse-click to see if you are clicking on a sprite. Use the - SpriteCollisionMethod "transparent" to see if you have clicked on an actual pixel of the - sprite instead of just within the sprite rectangle. - - The x and y location in ImageBox coordinates. - The method of determining if the sprite is at that position - True if the sprite is at the specified location, false if it is not - - - - Because sprites are scaled (shrunk or stretched), this function finds the point - within the sprite that is specified by the location. this function is used by - a number of internal processes, but may be useful to you. But probably not. - - A point given in Image coordinates - A point within the pixel that can be used to find a particular pixel in a sprite. - - - - Check to see if the sprite exists at the point specified. The point given is - in coordinates used by the image (not the PictureBox, use SpriteAtPictureBox for that) - - An imagebox location - the method to use to determine if the image is there - true if the sprite is at that position, false if it is not - - - - return the current image frame. Warning: If you write to this image, it will - affect all sprites using this frame. - - An image that is the current sprite frame for the current animation - - - - return the frame for the given index. Warning: If you write to this image, it will - affect all sprites using this frame. - - The Animation index we are trying to find - The Frame index we are trying to find - An image that is the current sprite frame for the current animation - - - - Replace a sprite image. It will replace the current frame unless you specify both an animation - and the frame within the animation you wish to replace. Warning: This replaces the image_frame - for every sprite that uses that is based off the same image. - - The new image to use - The animation you want to change - The frame within the animation you want to change - - - - Taking into consideration how the sprite is stretched or shrunk, it - returns a SpriteAdjustmentRatio that can be used to work with the sprite - itself. - - The current SpriteAdjustmentRatio used to display this sprite - - - - Return true if the sprite can go to this point and still be on the drawing-board. - - The point, given in pixels and corresponding to pixels on the picturebox - true or false - - - - Return true if the sprite can go to this point and still be on the drawing-board. - - The point, given in pixels and corresponding to pixels on the background image - true or false - - - - Move to where the destination sprite currently is at. This is a dumb move. It does not take into - consideration the movement direction of the destination sprite. So the moving sprite does need to be - moving a bit faster than the sprite you are trying to hit for it to do so. - - The sprite we are trying to hit - - - - Tell the Sprite to move towards a destination. You need to give the sprite a MovementSpeed - and tell the sprite that it can automatically move. But the sprite will begin a journey towards - that point at the MovementSpeed you have set. When it gets to the point, the SpriteArrivedAtEndPoint event - will fire off. Also, the SpriteReachedEnd bool will be true. - - An image-point that the sprite will move to. - - - - Tell the sprite to move towards each point in turn. The sprite will move in a straight line until the first point. - From there it moves to the next point, until it has reached the last point. Every time it reaches a point, the - SpriteArrivedAtWaypoint event is triggered. When it reaches the final point in the list, the SpriteArrivedAtEndPoint - event is triggered. While the sprite is moving, the SpriteReachedEndPoint attribute is set to false. When it has - arrived, it is set to true. - - A list of Image-Points that the sprite will follow, one after the other - - - - Sets the Sprite Moving towards a given point. You are responsible to do something with it once it gets there. - If you want it to automatically stop upon reaching it, use MoveTo instead. Actually, the MoveTo function works - a lot better than this one. Because of integer rounding and a few other things, this function is a little - bit imprecise. If you send it towards a point, it will go in that general direction. The MoveTo function - will perpetually recalculate its way to the destination point and actually reach that point. SetSpriteDirectionToPoint - will sort-of head in the direction of the point. But MoveTo will go to that point. - - The destination, based off a point on the background image, that we send the sprite towards. - - - - Cancel a MoveTo command. The sprite will stop moving, and all the waypoints will be removed. - - - - - Given a "degree" (from 0 to 360, set the direction - that the sprite moves automatically. 0 is right, 90 is up, 180 is left - and 270 is down. - - the degrees to use - - - - Set the sprite direction using Radians. Most people do not want to use this. - Use SetSpriteDirectionDegrees instead unless you like math and know what you - are doing with Radians. - - The angle in radians - - - - Set the sprite direction using a vector. The vector may contain - a speed as well as the movement delta (amount of x shift, and amount - of y shift.) If so, this function may also affect the movement speed - Most people prefer to use SetSpriteDirectionDegrees instead of using - vectors. - - A vector - - - - Convert a number from degrees to radians. - - The number from 0 to 360 in degrees - The corresponding number converted to radians - - - - Convert a number from radians to degrees. - - The number of radians - The corresponding number in degrees - - - - Return the current vector that the sprite is moving along - - The current sprite vector - - - - Returns the direction the sprite is currently traveling, using Radians. - - The direction in radians that the sprite is traveling in - - - - Get the direction that the sprite is traveling in in degrees. You may want to - use Math.Round on the results. The value returned is usually just a tiny bit off - from what you set it with. For example, if you set the sprite movement direction - to be 270 degrees (down), this function may return it as 269.999992. Rounding the - number will give it back to you at probably the same direction you set it as. - - A double (it has a decimal place) that represents the direction in degrees - - - - Return the centerpoint of the sprite, as found on the background image - - a point with the x and y based off the background image location - - - - Return the centerpoint of the sprite, as found on the picturebox - - A point with the x and y found on the picturebox - - - - Check to see if the specified rectangle overlaps with the sprite. - - The rectangle we are looking to see if we hit - True if the rectangle overlaps the sprite rectabgle - - - - Check to see if two sprites hit each-other. The sprite collision methods are - not all programmed in. - - The Sprite we are checking to see if we hit - The method we use to determine if they hit - - - - This is used when two sprites hit each-other. - - The sprite it hits - the method for checking - - - - Make the sprite show up in front of all other sprites. - - - - - Make the sprite go behind all other sprites - - - - - Pause the sprite. We can pause just the animation (and still let it move), pause movement (and let it animate), or pause everything. - - Which aspects of the sprite you want to pause. - - - - unpause the sprite. - - Which aspects of the sprite you want to unpause. - - - - Ask if the sprite is paused using the specified sprite type (default is PauseAll) - - The spritePauseType to see if the sprite is paused with - True if the sprite is set to pause the specified item, false if not - - - - SpriteLibrary is a .net graphical library for creating and controlling sprites on a PictureBox. - - A sprite is an animated image that can be moved around on a - picturebox. You can give the sprite an initial location, and either move it around manually or give it - specific movement controls. - - To use this library, you will need to add a reference to it in your project. You will also need a reference to - "Windows Base." - In the solution explorer, if you right-click your project and go to "add", and then "reference" and click - "WindowsBase" towards the bottom. - On that same window, on the left, click "browse." Then, click the "Browse..." button and find the sprite-library dll. - The main places to find the SpriteLibrary and sample programs using this SpriteLibrary are here: - - and - - - - - - The various types of collisions a sprite can have. Currently only rectangle works. The other types were added when I - thought the different types of collision types were needed. Someday we may add these if we find they are useful, or if - someone else decides they want to help program the SpriteLibrary. These values are primarily used in Sprite Events - - - - - Checks if the two rectangles that contain the sprites overlap. Each rectangle is the starting location of the sprite - (top left) with the sprite width, and height marking the other sides of the rectangle. - - - - - Draws a circle (ellipse) inside the sprite rectangles and see if those ellipses overlap - - - - - Check to see if nontransparent portions of a sprite collide. Not working. - - - - - A structure that contains the width and height adjustment ratio. Use this if you need to manually calculate positions - between the PictureBox that the sprite is in, and the Background Image itself. - - - - - Divide a picturebox ratio by this to get the image location. Multiply an image location by this to get the picturebox location. - - - - - Divide a picturebox ratio by this to get the image location. Multiply an image location by this to get the picturebox location. - - - - - The type of pause signals you can give a sprite or the sprite controller - - - - - Pause the animating. Animation resumes from the current frame when we unpause. A paused animation will continue - to display the same image frame until it is unpaused. - - - - - Pause any automatic movement. Movement resumes where it was left off if you unpause. The sprite will - just sit there until unpaused. - - - - - Pause events. Sprite collisions, movement checks, etc are stopped until the unpause. - - - - - All pausable things are paused. PauseAnimation, PauseMovement, and PauseEvents. - - - - - A sprite controller is the main heart of the sprite class. Each SpriteController manages one picturebox. - If at all possible, try to keep each game in one picturebox, and try to avoid making and destroying - new forms with SpriteController/pictureboxes in them. It is hard to destroy them completely. - - - A sprite controller controls animations and - can help you check for key-presses. To make a sprite controller, - you need to have one defined for your main form: - - SpriteController MySpriteController; - - And then, when the form is created, after the InitializeComponents() function, you - need to configure the drawing area and create the sprite controller: - - MainDrawingArea.BackgroundImage = Properties.Resources.Background; - MainDrawingArea.BackgroundImageLayout = ImageLayout.Stretch; - MySpriteController = new SpriteController(MainDrawingArea); - - In this case, MainDrawingArea is the picturebox where all the sprites will be displayed. - - - - - Since everything needs a random number generator, we make one that should be accessible throughout your program. - - - - - This is only used by the SpriteController. It allows us to queue up invalidation requests. - - - - - The count of all the sprites the controller knows about. This includes named - sprites, which may not be visible. - - - - - If your sprite images need substantial growing or shrinking when displayed, you can try setting this to "true" - to see if it makes it run any faster. What it does is to resize the image once, and keep a cached copy of that - image at that size. If you use the same sprite, but with different sizes, setting this to "True" may actually slow - down the game instead of speeding it up. - - - - - Create a sprite controller, specifying the picturebox on which the sprites - will be displayed. You want to have the PictureBox already defined, and a background image - already set for the PictureBox. - - - This is an example of a Form class that defines a SpriteController. The MainDrawingArea is a - PictureBox. - - public partial class ShootingFieldForm : Form - { - public ShootingFieldForm() - { - InitializeComponent(); - MainDrawingArea.BackgroundImage = Properties.Resources.Background; - MainDrawingArea.BackgroundImageLayout = ImageLayout.Stretch; - MySpriteController = new SpriteController(MainDrawingArea); - } - } - - - The PictureBox. - that the sprites will be drawn in - - - - Create a sprite controller, specifying the picturebox on which the sprites - will be displayed. - - - This is an example of a Form class that defines a SpriteController. The MainDrawingArea is a - PictureBox. While defining the SpriteController, we - are also setting a function used for the DoTick. event. - - public partial class ShootingFieldForm : Form - { - public ShootingFieldForm() - { - InitializeComponent(); - MainDrawingArea.BackgroundImage = Properties.Resources.Background; - MainDrawingArea.BackgroundImageLayout = ImageLayout.Stretch; - MySpriteController = new SpriteController(MainDrawingArea, CheckForKeyPress); - } - - private void CheckForKeyPress(object sender, EventArgs e) - { - //Do stuff here - } - } - - - - The picturebox that the sprites will be drawn in - A function on the form that you want to have run every tick - - - - Define some things and set up some things that need defining at instantiation - - - - - Change the Tick Interval. By default, the spritecontroller does a tick every 10ms, which - is very fast. Some people may prefer it to happen less regularly. Must be > 5, and less than 1001 - - The new tick interval - - - - Allow the sprite sort-method to be overridden. - - - The default sprite sort method is: - - SpriteComparisonDelegate = delegate (Sprite first, Sprite second) { return first.Zvalue.CompareTo(second.Zvalue); }; - - Which compares just the Zvalues of the two sprites. Often you will want to have a more refined sort. The sort - order determines which sprites appear on top of other sprites. In the default state, if two sprites have the - same Zvalue, it is very uncleaer which one will draw on top of the other one. By overridding this sort function, - you can specify a very precise order of which sprite is on top and which is behind. - - - - - This is what happens when someone clicks on the PictureBox. We want to pass any Click events to the Sprite - - - - - - - Check to see if we are hovering over anything - - - - - - - Replace the image on which the sprites are drawn. Use this when you move to a new playing field, - or want to have a different background - - Replacing the background image is actually a lot more complex than you might imagine. Once you use the - below code, it can be done without any problem. But you need to do it this way, or it just goofs up in - a number of small ways. - You need to tell the sprite controller that you are replacing the background image, - and you need to change the image to that image as well.Because the Images are actually - pointers to memory where the image sets, changes to one image will affect the other image.This goofs - things up, so what we do is duplicate the image twice, and tell the sprite controller to use one of the - copies and then set the background to be the other one of the two copies.Finally, we tell the picturebox - to invalidate itself.That does everything that is needed. - - void ReplaceBackground(Image NewBackground) - { - if (MyController == null) return; - if (NewBackground == null) return; - - Image OneImage = new Bitmap(NewBackground); - MyController.ReplaceOriginalImage(OneImage); - - Image TwoImage = new Bitmap(NewBackground); - pb_map.BackgroundImage = TwoImage; - pb_map.Invalidate(); - } - - - - The new image that all sprites will be drawn on - - - - Notify the sprite controller that you have changed the background image on the - PictureBox. Whatever background is on the picturebox is now used to draw all the sprites on. - - - - - The function called by the timer every 10 millisecods We also call do_tick, which - is the function defined by the user. This is usually where they will do the majority of the work. - - - - - - - The function called by the timer every 10 millisecods This is usually where you will do the majority of the work. - You can define this manually, or when you instantiate the SpriteController - - - The Sprite controller uses a System.Windows.Forms.Timer. This timer is notoriously un-precise, but it is very - easy to set up initially. It tries to fire off every 10 milliseconds, but it can fire off incredibly - slowly if you have long pieces of code; the DoTick function needs to finish before it can start again. You want all your - functions to run as quickly as possible to avoid things looking jerky. - Most programs you will make using the sprite library will begin by tapping into the DoTick Event. - Every time the sprite controller is ready to pass control back to your program, it will call - the DoTick event. You want to see if you should be doing anything, and then exiting the do-tick function. - - public partial class ShootingFieldForm : Form - { - public ShootingFieldForm() - { - InitializeComponent(); - MainDrawingArea.BackgroundImage = Properties.Resources.Background; - MainDrawingArea.BackgroundImageLayout = ImageLayout.Stretch; - MySpriteController = new SpriteController(MainDrawingArea, CheckForKeyPress); - } - - private void CheckForKeyPress(object sender, EventArgs e) - { - bool left = false; - bool right = false; - bool space = false; - bool didsomething = false; - TimeSpan duration = DateTime.Now - LastMovement; - if (duration.TotalMilliseconds < 100) - return; - LastMovement = DateTime.Now; - if (MySpriteController.IsKeyPressed(Keys.A) || MySpriteController.IsKeyPressed(Keys.Left)) - { - left = true; - } - if (MySpriteController.IsKeyPressed(Keys.D)||MySpriteController.IsKeyPressed(Keys.Right)) - { - right = true; - } - if (left && right) return; //do nothing if we conflict - if (left) - { - if (LastDirection != MyDir.left) - { - Spaceship.SetSpriteDirectionDegrees(180); - //We want to only change animation once. Every time we change - //the animation, it starts at the first frame again. - Spaceship.ChangeAnimation(0); - LastDirection = MyDir.left; - } - didsomething = true; - Spaceship.MovementSpeed = 15; - Spaceship.AutomaticallyMoves = true; - } - if (right) - { - if (LastDirection != MyDir.right) - { - Spaceship.SetSpriteDirectionDegrees(0); - Spaceship.ChangeAnimation(0); - LastDirection = MyDir.right; - } - didsomething = true; - Spaceship.AutomaticallyMoves = true; - Spaceship.MovementSpeed = 15; - } - if(!didsomething) - { - LastDirection = MyDir.stopped; - //No keys pressed. Stop moving - Spaceship.MovementSpeed = 0; - } - } - - - - - - Process a form resize by recalculating all the picturebox locations for all sprites. - - The form - Form event args - - - - Count the number of sprites that were duplicated from the sprite with the specified name. When you use a - SpriteController.DuplicateSprite(string) - command, it creates a new sprite that is based off the named sprite. This function will count those duplicated sprites. - - The name to look for - The count of sprites that are duplicates of the specified name - - - - Return a list of all sprites - - A list of all sprites - - - - Return all sprites that were based off a particular sprite name. - When you use a - SpriteController.DuplicateSprite(string) - command, it creates a new sprite that is based off the named sprite. This function returns a list of those - duplicated sprites. - - The sprite name to find - A list of sprites that were based off the named sprite - - - - Return a list of all sprites which have been drawn on the image - - A list of sprites that have been drawn - - - - Return a list of all sprites which are not master sprites (which are duplicates of something) - - A list of sprites - - - - Return an adjustment ratio. This is the image-size to picture-box ratio. - It is used for calculating precise pixels or picture-box locations. - - A SpriteAdjustmentRatio containing the current ratio of picture-box pixels to image-box pixels - - - - This takes a point, the location on a picturebox, and returns the corresponding point on the BackgroundImage. - Picturebox locations are "sloppy"; the background image locations are very precise. Since this takes a "sloppy" - number and returns a precise number, it does some rounding to figure out where the specified location is. - - A point on the picturebox that you want the corresponding image pixel location for. - A point (x,y) on the background image which corresponds to the picture-box coordinates you sent into the function. - - - - Return the height of an object in picture-box terms. It is basically the virtual height - of the sprite or other item. - - The image-box heigh (or sprite height) - An integer that corresponds to the hight as displayed in the picturebox - - - - Return the width of an object in picture-box terms. It takes the width of a sprite or other - item that is being displayed on the screen, and calculates the width as displayed in the - picture-box (taking into consideration stretching or shrinking) - - An integer width of the drawn item - An integer that contains the number of pixels wide it is on the picturebox - - - - This does the reverse of an adjusted point. It takes a point on the image and - transforms it to one on the PictureBox - - A point on the image, using the x and y pixels on the image - A location that can be used on the picture-box, taking into consideration the image being stretched. - - - - Adjust a rectangle that is based on the image, according to the stretch of the picturebox - - A rectangle using coordinates from the image - a rectangle that is adjusted for the PictureBox - - - - Adjust an image point so that it conforms to the picturebox. - - The image location - the corresponding point on the PictuerBox - - - - Invalidate a rectangle that is specified in image coordinates - - A rectangle based on the image coordinates - Whether to do it now, or to queue it up for another time. - - - - Invalidate the entire image on which the sprites are drawn - - Whether to do it now, or to queue it up for another time. - - - - The Background Image on which the sprites are drawn. This image ends up having - sprite parts on it. The OriginalImage is the version that is clean. Use - ReplaceOriginalImage to replace the background Image. - - - - - The Image from which the background is taken when we erase sprites. The BackgroundImage - is the image that contains images of the sprites as well as the background image. Use - ReplaceOriginalImage to replace this and the BackgroundImage. - - - - - Make a duplicate of the specified sprite. The duplicate does not yet have a location. - - The sprite to duplicate - A new sprite. If What is null, returns null - - - - Find a sprite that has been named with the specified name. Then duplicate that sprite - - - Below is a function that creates a sprite based off a name, and puts it at the designated coordinates. - - public void AddSprite(string name, int startx, int starty) - { - Sprite NewSprite = MySpriteController.DuplicateSprite(What.ToString()); - if(NewSprite != null) - { - NewSprite.AutomaticallyMoves = true; - NewSprite.CannotMoveOutsideBox = true; - NewSprite.SetSpriteDirectionDegrees(180); //left - NewSprite.PutBaseImageLocation(new Point(startx, starty)); - NewSprite.MovementSpeed = 5; - } - } - - - The name of a sprite - A duplicate of the specified sprite. It has no location, and does not retain the sprite name. - - - - Find a sprite that has a specified name. This returns the actual sprite with that name. - You usually want to use DuplicateSprite(Name) to clone the sprite and get one you can - destroy. If you destroy a named sprite without duplicating it, you may end up losing - it for the remainder of the program. - - A string that matches something added to a sprite with Sprite.SetName - A sprite that has the specified name, or null if no such sprite exists. - - - - Add the specified sprite to the list of sprites we know about. You usually do not need to do this. - Sprites add themselves to the controller when you create a new sprite. - - The sprite to add to the sprite-controller - - - - Tell a sprite to destroy itself. The sprite will have Destroying property set to true from - the time you destroy it until it vanishes. Whe you destroy a sprite, it will erase itself - and remove itself from the controller. After it is destroyed, it is completely gone. - - The Sprite to destroy - - - - Remove all sprites (even named sprites that have not yet been displayed) - - - - - Find the specified Sprite in the controller and change its name to the specified string. - You can do the same thing with Sprite.SetName(Name) - - The Sprite to find - The string to change the name to - - - - This takes a point, as given by the mouse-click args, and returns the sprites at that point. Different - functions use different coordinates, whether based off the background image, or based off the picturebox. - This one uses the picturebox coordinates. So you can use this directly from a MouseDown or MouseUp function. - - The picture-box point being clicked on - A list of sprites that are all at the specified point. - - - - This takes a point, as as specified on the image, and returns the sprites at that point. Different - functions use different coordinates, whether based off the background image, or based off the picturebox. - This one uses the background image coordinates. Use SpritesAdPoint() if you are doing something based off - a MouseUp or MouseDown function. This is used for functions based on sprite location or based off the absoloute - location (using the background image location is much more precise than the visible location in the picturebox) - - The point being looked at - A list of sprites that are all at the specified image point - - - - Return a list of all the sprites that intersect with the given background-image-based rectangle - - The rectangle on the image we are trying to find - A list of the sprites that have any portion of it inside the rectangle - - - - Check to see if any keys are pressed. There is a small glitch with the - key-pressed system. If the form loses focus, and someone releases a key, the key-up is never - triggered. It is a good thing to ResetKeypressState() occasionally if you think your form may have - lost focus. - - True if a key is pressed, false if no keys are pressed. - - - - Return a list of all the keys that are currently pressed. There is a small glitch with the - key-pressed system. If the form loses focus, and someone releases a key, the key-up is never - triggered. It is a good thing to ResetKeypressState() occasionally if you think your form may have - lost focus. - - A List of Keys which are currently considered to be pressed. - - - - Check to see if the given key is pressed. There is a small glitch with the - key-pressed system. If the form loses focus, and someone releases a key, the key-up is never - triggered. It is a good thing to ResetKeypressState() occasionally if you think your form may have - lost focus. - - The key to check to see if it is pressed - True if the key is pressed, false if that key is not pressed - - - - If you want to have a KeyDown function that is triggered by a keypress function, add the event here. - The event should have the parameters (object sender, KeyEventArgs e) - - The function to set - - - - If you want to have a KeyUp function that is triggered by a keypress function, add the event here. - The event should have the parameters (object sender, KeyEventArgs e) - - The function to set - - - - Reset the keypress status. Sometimes the sprite controller misses a key being released (usually - because a window has taken priority, or something has changed). Calling this function will reset - the stored memory of whether a key has been pressed. - - - - - Change the display order of the specified sprite so it goes in front of all other sprites. - - The sprite we want to show up in front - - - - Change the display order of the specified sprite so it goes behind all other sprites. - - The sprite to send behind all other sprites - - - - Change the display order of the specified sprite so it is more likely to go behind all other sprites. - - The sprite to send behind all other sprites - - - - Change the display order of the specified sprite so it is more likely to go in front of other sprites - - The sprite to send behind all other sprites - - - - Change the display order of the sprites such that the specified sprite appears behind the other sprite. - - The sprite we are changing the display order of - The sprite we want to go behind - - - - Make the sprite go in front of the specified sprite. - - The sprite to change the display order of - The sprite we want to make sure we display in front of - - - - Play a sound that we can check to see if it has completed. - - The sound to play - The name, which we can use to determine if it has finished. - - - - Play a sound bit in a separate thread. When the thread is done, set a bool saying that - - The sound to play - The string that we can use to track the status of the sound - A function that gets called when the sound is complete - - - - Check to see if the specified sound has finished playing - - The name of the sound - True if the sound is not currently playing. False if it is currently playing. - - - - Pause everything. It loops through all the sprites in the SpriteController and sends the specified - SpritePauseType to each one. Look at the documentation for SpritePauseType to determine which pause - type to use. - - The SpritePauseType to send all sprites - - - - un-Pause everything. This will send the specified SpritePauseType unpause command - to all sprites. - - The SpritePauseType to unpause for all sprites - - - - The SpritePayload is a stub of a class, for storing user-defined data and functions along with a sprite. - - - Basically, you want to "override" this class. You do this by making your - own class that looks something like: - - public class TankPayload : SpritePayload - { - public int Armor = 20; - public int FireTime = 100; - } - - And then you add that to your sprite: - TankSprite.Payload = new TankPayload(); - If there is no payload, then the payload - property is null. If you have multiple types of SpritePayloads, you may need to do something like: - - if(TankSprite.payload != null and TankSprite.payload is TankPayload) - { - TankPayload tPayload = (TankPayload)TankSprite.payload; tPayload.Armor--; - } - - - - - diff --git a/SpriteLibrary/bin/Release/SpriteLibrary.dll b/SpriteLibrary/bin/Release/SpriteLibrary.dll deleted file mode 100644 index eaa3011a0e5fb89f3c1a8c96598374ae658603d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66048 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 D^PJ%7 diff --git a/SpriteLibrary/bin/Release/SpriteLibrary.pdb b/SpriteLibrary/bin/Release/SpriteLibrary.pdb deleted file mode 100644 index 67db46b73121f4a9963ef5dc49e5edc735203a93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138752 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 diff --git a/SpriteLibrary/obj/Release/CoreCompileInputs.cache b/SpriteLibrary/obj/Release/CoreCompileInputs.cache deleted file mode 100644 index e8c1fbc..0000000 --- a/SpriteLibrary/obj/Release/CoreCompileInputs.cache +++ /dev/null @@ -1 +0,0 @@ -a8cf27034d92fac0fcc617c33163b8923a432866 diff --git a/SpriteLibrary/obj/Release/DesignTimeResolveAssemblyReferences.cache b/SpriteLibrary/obj/Release/DesignTimeResolveAssemblyReferences.cache deleted file mode 100644 index cbb9a6fdcc194b91ed2939af6fd8df48884d5226..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 713 zcmaKq-*3|}5XZB$>Dnwq70-JJ5)YtNR-#fEld1_Ks!gzI&}vT+k{e&ZsuNGPvr+y# zB>n*Y5dH%m;I8|LsPMzrIs0<=xjTCsp6C6>MLVs?NBMXx3!|+r9edqKCD@GHg=LvG zFo@5B3(J{aKs}x(!*W!2OR8z+tkXNsi3RYHY=jsY6l!C$`f@O!?es+AWfT(*dls3tKT{qDoe5bjX z@WN@cd0kI8)73dQVEPm^(*jP7zK{Y;mky@#E3~m9+d1Q^0qc3KmKOwD-F3N+Zel%N z!+i8l{Gadl4yf2LB=}yNBtYrY7hQBZC_LNG5$TiRRXoA2*!anpz2{H!4^V=Ex`6nV zwNPQ_!REKk%_ry&m)b0HcJgL+XI(sFIKaHJg*HmgnNX@vNmpH`9t9-3w}Jk83HPS7 zODwAi5oDyeb;nxBQi6#170~ho5h4NSPzwY_zQ`8bIWVg_9+;+fvV!YDY?n90^qc4V h{)WFz^Yy+x{Qe7m9EM@o>7p582?-k}!}Mji^#^_p*ZKee diff --git a/SpriteLibrary/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache b/SpriteLibrary/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache deleted file mode 100644 index c8ba4b315d63e27d110283c4dd1360975050ccaa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7437 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 E1ufnjXaE2J diff --git a/SpriteLibrary/obj/Release/SpriteLibrary.csprojResolveAssemblyReference.cache b/SpriteLibrary/obj/Release/SpriteLibrary.csprojResolveAssemblyReference.cache deleted file mode 100644 index 1c0912018623e9fd733dd5e85338ca5397f319f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2682 zcmcJQ?M@Rx6o!|UmUbyv@mozQ+5U|$-^Bc_5LJsxTQ>cq*pGlBq8niBa*p%Xc`ydPSMU#JpL0pl_Z?mui%CfRq zE0-HC^z&Lh8Edl7oLB!D|L42;*B5D4_5;-7AW06TOjo1$&gW5h{Z$L6v?E#MG_Wel znL3((KHYi`0Z52FaNZ~d5mp{l>$JG72J&zyrZ?4*4zegslar2b2pM(PHHMby^nK53k*V(4aS5GLJs3AY zyDM5J$8ec4fZDQnndAz|Rg!BY*GX=W+$6b0GEQ=v9-!6Ig#U)_n-EpQgeFah zs%1iyv*+xnnkMwngs9pk^vHy0H%w^CglM-+XxfBmH%;iV3DItw(2NODH<(bxgs59g U=!pqAeIVC_sN2kuo*K~bAH>ljZ2$lO diff --git a/SpriteLibrary/obj/Release/SpriteLibrary.dll b/SpriteLibrary/obj/Release/SpriteLibrary.dll deleted file mode 100644 index eaa3011a0e5fb89f3c1a8c96598374ae658603d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66048 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 D^PJ%7 diff --git a/SpriteLibrary/obj/Release/SpriteLibrary.pdb b/SpriteLibrary/obj/Release/SpriteLibrary.pdb deleted file mode 100644 index 67db46b73121f4a9963ef5dc49e5edc735203a93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138752 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 diff --git a/SpriteLibrary/obj/Release/TempPE/Properties.Resources.Designer.cs.dll b/SpriteLibrary/obj/Release/TempPE/Properties.Resources.Designer.cs.dll deleted file mode 100644 index b8a9f2840d3f251a0467148d2fdac2dbef36bb5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3072 zcmeHJUu;uV82`>~*Omf>bwEUoUKkU`Z&xeie?1Gnv=yXN+ua_{Y+ zn2;rCqKSzl_@IdohG2Zq2Q?BGH9i@`3yDw02aLR$kQg6)QRDo5_YWO^Ley71?fL$n z?|k2P&Uf0W=g(7uh?1Dg%S21SJPHB4H&}!^_weUA`gGORElXnZ>XzAg%hOw~YPe=o zubGace7!1lx9#Ybqn8d>^rosyW9{1Pw#fDLIMJlg=+vS2pNn_9PFwZWVwflci55z~ z+YYQ_7BGp{2Q+jXH;)+8aWK)E1QlLkQ~q{w#IgwEW%xZDl6Qv%qBVEd+*_)L;m1Z9 z@CRcC*zo0PANX1tK*wB>E4X0jM8^$R+Nu`CP=J_o%VMq=1){MP>^~xxxULu+n?^l! zLnnGGMI>1GFUBL<4rGD=cM|mtYcvWU@YPFa0h1g46xr0HTge5}`WC5ZJ66G3!9MG) z23Vb5WV_IM%@Aea27UxV$*IE+U@|*IshwL%TV!Tu-*AHNhaUI1mv%sua?9`^SSlP| zHZVt#Do>4xC^J6Og+0cwF)}=|n}bB|HsA&|e#o2zkFn(1pE&8KbRl0RTY>AmW!hsFAAhc^qUx=O<`Tvg*w(_*HFgs@D<=*LHxP9~jxGy5^AXUMA9dSi5ALJxx1hv_&v3K^h88AzOfa_^@AQ=sy3Al+41hhp1 zw2dr!R~w=UNQMDNMFFcGr(ejxJvjr|N9O<^po>(bepIALLv#ah1aKm-d=T01Llm6v zvfz`SqmzJTu>h%t`t$68J_*R3k*4G#3~m|cvHa%C15G(<&0A%c!=e)Hn^N_*EuWyK zS5vNSRcWT}_*PTSc3SeF>C|mWW$82bq^p{dgjs4x|5&kY`)yZ}w}N)1r`m2!#=7yk zOuHS_By7X54D+VbkdvxG zm5%4jron5KBOM>*l{QVgswG|DlAbXWRmU?*(z6=K-l%y--L`rDEyHLJit9XOI`Ot; zbh>FWhdu2=ajE$!68= z1lN4LLM?L9Z9Ykw1g?TJF+1q4X3mR@IV`==W!mB^M^of6A={-v7LSzy;i5?KWy*;`na=C!sl};zL{6KyHuTB23-qEB^ z`TZ%@=l3VmB0rc&iyZh|EV%p?i}%Nb*MR3RBp+(r%cNU k-xDc=Tg}?#0r&|1_1x*@Hi;hoxA=bVZSw!w|3n4;0%>~AYXATM diff --git a/SpriteLibrary/obj/Release/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/SpriteLibrary/obj/Release/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs deleted file mode 100644 index e69de29..0000000 diff --git a/SpriteLibrary/obj/Release/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/SpriteLibrary/obj/Release/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs deleted file mode 100644 index e69de29..0000000 diff --git a/SpriteLibrary/obj/Release/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/SpriteLibrary/obj/Release/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs deleted file mode 100644 index e69de29..0000000