An abstract class that will be inherited by all particle systems. Holds all needed methods and attributes that all particle systems share.


  • EffectsManager : The ParticleSystem is created and maintained by the EffectsManager
  • ParticleEmitter : The ParticleSystem will hold a list of ParticleEmitters and update them when the system is active
  • Will be inherited by : AuraSystem, FireSystem, SmokeSystem, WeatherEffectsSystem, DustSystem


  • List<ParticleEmitter> particleSystems - A list that will hold all the premade emitters that will be updated when the system is active
  • bool isActive - if the system is being updated or not.
  • float timer - keeps track of how long the system has been active
  • float maxTime - How long the system will be active for
  • Vector2 position - The current center position of the system.
  • SpriteBlendMode blendMode - how the texture's will blend together for drawing.


  • Update
    • Updates each emitter in it's list. If the system is moving or changing blend modes, it will do it here.
  • Render
    • Calls the Render method for each Emitter in the system.
  • Reset
    • Calls the Reset method for each Emitter
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License