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); } }