diff options
author | Thomas Leyh <leyh.thomas@web.de> | 2016-07-24 08:14:18 +0200 |
---|---|---|
committer | Thomas Leyh <leyh.thomas@web.de> | 2016-07-24 08:14:18 +0200 |
commit | ced3d03bdb3ce866d832e03fb212865140905a9a (patch) | |
tree | 2a16c2063a46d3c354ce1585029dda3124f6ad93 /V3/Effects/IEffect.cs | |
parent | 0394dccaf06e1009e591a6ff4d645895574724c1 (diff) | |
download | V3-ced3d03bdb3ce866d832e03fb212865140905a9a.tar.gz V3-ced3d03bdb3ce866d832e03fb212865140905a9a.tar.bz2 |
Diffstat (limited to 'V3/Effects/IEffect.cs')
-rw-r--r-- | V3/Effects/IEffect.cs | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/V3/Effects/IEffect.cs b/V3/Effects/IEffect.cs new file mode 100644 index 0000000..73cf1ef --- /dev/null +++ b/V3/Effects/IEffect.cs @@ -0,0 +1,44 @@ +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Content; +using Microsoft.Xna.Framework.Graphics; +using V3.Data; + +namespace V3.Effects +{ + /// <summary> + /// Interface for a single effect. + /// </summary> + public interface IEffect + { + /// <summary> + /// Is the effect playing at the moment? + /// </summary> + bool IsPlaying { get; } + + /// <summary> + /// Play the specific effect once, do not loop. + /// </summary> + /// <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> + /// <param name="optionsManager">For checking the volume of the sound if there is one.</param> + void PlayOnce(Point position, Point size, IOptionsManager optionsManager); + + /// <summary> + /// Update the effect. + /// </summary> + /// <param name="gameTime">Game time used for checking animation duration.</param> + void Update(GameTime gameTime); + + /// <summary> + /// Draw the effect. + /// </summary> + /// <param name="spriteBatch">Sprite batch used.</param> + void Draw(SpriteBatch spriteBatch); + + /// <summary> + /// Load graphics and possibly sound for the effect. + /// </summary> + /// <param name="contentManager">Content manager used.</param> + void LoadContent(ContentManager contentManager); + } +}
\ No newline at end of file |