aboutsummaryrefslogtreecommitdiff
path: root/V3/Effects/IEffectsManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'V3/Effects/IEffectsManager.cs')
-rw-r--r--V3/Effects/IEffectsManager.cs31
1 files changed, 31 insertions, 0 deletions
diff --git a/V3/Effects/IEffectsManager.cs b/V3/Effects/IEffectsManager.cs
new file mode 100644
index 0000000..3ea6154
--- /dev/null
+++ b/V3/Effects/IEffectsManager.cs
@@ -0,0 +1,31 @@
+using Microsoft.Xna.Framework;
+using Microsoft.Xna.Framework.Graphics;
+
+namespace V3.Effects
+{
+ /// <summary>
+ /// Interface for managing visual effects like explosions and stuff.
+ /// </summary>
+ public interface IEffectsManager
+ {
+ /// <summary>
+ /// Update all effects.
+ /// </summary>
+ /// <param name="gameTime">Game time used for calculation effects duration.</param>
+ void Update(GameTime gameTime);
+
+ /// <summary>
+ /// Draw all effects.
+ /// </summary>
+ /// <param name="spriteBatch">Sprite batch used.</param>
+ void Draw(SpriteBatch spriteBatch);
+
+ /// <summary>
+ /// Play an effect once, then delete it.
+ /// </summary>
+ /// <param name="effect">Which effect to play.</param>
+ /// <param name="position">Position where effect should be played. Points to the middle of the effect animation.</param>
+ /// <param name="size">Size of the effect.</param>
+ void PlayOnce(IEffect effect, Point position, Point size);
+ }
+} \ No newline at end of file