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/IEffectsManager.cs | |
parent | 0394dccaf06e1009e591a6ff4d645895574724c1 (diff) | |
download | V3-ced3d03bdb3ce866d832e03fb212865140905a9a.tar.gz V3-ced3d03bdb3ce866d832e03fb212865140905a9a.tar.bz2 |
Diffstat (limited to 'V3/Effects/IEffectsManager.cs')
-rw-r--r-- | V3/Effects/IEffectsManager.cs | 31 |
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 |