diff --git a/AnimationGenerator/AnimationGenerator.csproj b/AnimationGenerator/AnimationGenerator.csproj
index d249b5e..2c4eaeb 100644
--- a/AnimationGenerator/AnimationGenerator.csproj
+++ b/AnimationGenerator/AnimationGenerator.csproj
@@ -56,10 +56,14 @@
-
+
{69dadc27-fbeb-4625-9212-6eb5bed5102a}
QURO.AnimationLibrary
+
+ {4581e0c8-b14a-454d-9a7b-52d37535e7e9}
+ QURO
+
diff --git a/AnimationGenerator/Program.cs b/AnimationGenerator/Program.cs
index 32bc993..4ac10d6 100644
--- a/AnimationGenerator/Program.cs
+++ b/AnimationGenerator/Program.cs
@@ -4,6 +4,7 @@ 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;
@@ -26,15 +27,15 @@ namespace AnimationGenerator
Frame[] soloCursor_pulse_frames = new Frame[]
{
- new Frame(loadedFrames["soloCursor"], 20f / 60f),
- new Frame(loadedFrames["soloCursor_pulse"], 20f / 60f),
+ 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"], 20f / 60f),
- new Frame(loadedFrames["twinCursor_pulse"], 20f / 60f),
+ 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));
@@ -73,12 +74,12 @@ namespace AnimationGenerator
Frame[] block_bounce_frames = new Frame[]
{
- new Frame(loadedFrames["block0_bounce2"], 1f / 60f),
- new Frame(loadedFrames["block0"], 1f / 60f),
- new Frame(loadedFrames["block0_squish"], 1f / 60f),
- new Frame(loadedFrames["block0"], 1f / 60f),
- new Frame(loadedFrames["block0_bounce1"], 2f / 60f),
- new Frame(loadedFrames["block0"], 1f / 60f),
+ 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));
diff --git a/PuzzSwap.sln b/PuzzSwap.sln
index 025044d..d5a764c 100644
--- a/PuzzSwap.sln
+++ b/PuzzSwap.sln
@@ -5,10 +5,12 @@ VisualStudioVersion = 15.0.27703.2047
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PuzzSwap", "PuzzSwap\PuzzSwap.csproj", "{CD753795-0CB4-4F05-A0E7-2D2EFC968D82}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "QURO.AnimationLibrary", "AnimationLibrary\QURO.AnimationLibrary.csproj", "{69DADC27-FBEB-4625-9212-6EB5BED5102A}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "QURO.AnimationLibrary", "QURO.AnimationLibrary\QURO.AnimationLibrary.csproj", "{69DADC27-FBEB-4625-9212-6EB5BED5102A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AnimationGenerator", "AnimationGenerator\AnimationGenerator.csproj", "{B1938BD7-A474-427F-91F1-F8A1875B28CE}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "QURO", "QURO\QURO.csproj", "{4581E0C8-B14A-454D-9A7B-52D37535E7E9}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -27,6 +29,10 @@ Global
{B1938BD7-A474-427F-91F1-F8A1875B28CE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B1938BD7-A474-427F-91F1-F8A1875B28CE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B1938BD7-A474-427F-91F1-F8A1875B28CE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {4581E0C8-B14A-454D-9A7B-52D37535E7E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {4581E0C8-B14A-454D-9A7B-52D37535E7E9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {4581E0C8-B14A-454D-9A7B-52D37535E7E9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {4581E0C8-B14A-454D-9A7B-52D37535E7E9}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/AnimationLibrary/AnimatedSprite.cs b/QURO.AnimationLibrary/AnimatedSprite.cs
similarity index 84%
rename from AnimationLibrary/AnimatedSprite.cs
rename to QURO.AnimationLibrary/AnimatedSprite.cs
index a347414..eee4d3c 100644
--- a/AnimationLibrary/AnimatedSprite.cs
+++ b/QURO.AnimationLibrary/AnimatedSprite.cs
@@ -1,5 +1,6 @@
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
+using QURO;
namespace QURO.AnimationLibrary
{
@@ -13,13 +14,16 @@ namespace QURO.AnimationLibrary
set
{
currentAnimation = value;
+ finishedPlaying = false;
CurrentFrameIndex = 0;
+ timer = CurrentFrame.Delay;
}
}
public int CurrentFrameIndex { get; set; }
public Frame CurrentFrame => CurrentAnimation.Frames[CurrentFrameIndex];
private float timer;
+ private bool finishedPlaying;
public AnimatedSprite() { }
@@ -28,17 +32,19 @@ namespace QURO.AnimationLibrary
SpriteSheet = spriteSheet;
CurrentAnimation = startingAnimation;
timer = CurrentFrame.Delay;
+ finishedPlaying = false;
}
public void Reset()
{
CurrentFrameIndex = 0;
+ finishedPlaying = false;
timer = CurrentFrame.Delay;
}
public void Update(GameTime gameTime)
{
- if (!CurrentAnimation.IsStillImage)
+ if (!CurrentAnimation.IsStillImage && !finishedPlaying)
{
if (timer <= 0)
{
@@ -52,6 +58,10 @@ namespace QURO.AnimationLibrary
{
CurrentFrameIndex = 0;
}
+ else
+ {
+ finishedPlaying = true;
+ }
}
timer = CurrentFrame.Delay;
}
diff --git a/AnimationLibrary/Animation.cs b/QURO.AnimationLibrary/Animation.cs
similarity index 100%
rename from AnimationLibrary/Animation.cs
rename to QURO.AnimationLibrary/Animation.cs
diff --git a/AnimationLibrary/AnimationSet.cs b/QURO.AnimationLibrary/AnimationSet.cs
similarity index 100%
rename from AnimationLibrary/AnimationSet.cs
rename to QURO.AnimationLibrary/AnimationSet.cs
diff --git a/AnimationLibrary/Frame.cs b/QURO.AnimationLibrary/Frame.cs
similarity index 100%
rename from AnimationLibrary/Frame.cs
rename to QURO.AnimationLibrary/Frame.cs
diff --git a/AnimationLibrary/Properties/AssemblyInfo.cs b/QURO.AnimationLibrary/Properties/AssemblyInfo.cs
similarity index 100%
rename from AnimationLibrary/Properties/AssemblyInfo.cs
rename to QURO.AnimationLibrary/Properties/AssemblyInfo.cs
diff --git a/AnimationLibrary/QURO.AnimationLibrary.csproj b/QURO.AnimationLibrary/QURO.AnimationLibrary.csproj
similarity index 92%
rename from AnimationLibrary/QURO.AnimationLibrary.csproj
rename to QURO.AnimationLibrary/QURO.AnimationLibrary.csproj
index 2dde226..d8cffa6 100644
--- a/AnimationLibrary/QURO.AnimationLibrary.csproj
+++ b/QURO.AnimationLibrary/QURO.AnimationLibrary.csproj
@@ -51,5 +51,11 @@
+
+
+ {4581e0c8-b14a-454d-9a7b-52d37535e7e9}
+ QURO
+
+
\ No newline at end of file