using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
namespace V3.Effects
{
///
/// Interface for managing visual effects like explosions and stuff.
///
public interface IEffectsManager
{
///
/// Update all effects.
///
/// Game time used for calculation effects duration.
void Update(GameTime gameTime);
///
/// Draw all effects.
///
/// Sprite batch used.
void Draw(SpriteBatch spriteBatch);
///
/// Play an effect once, then delete it.
///
/// Which effect to play.
/// Position where effect should be played. Points to the middle of the effect animation.
/// Size of the effect.
void PlayOnce(IEffect effect, Point position, Point size);
}
}