public void Update(GameTime gameTime, XNAParticleSystem.ParticleManager particleManager)
        {
            this.particleManager = particleManager;
            this.gameTime = gameTime;
            if (particleThread.ThreadState == ThreadState.Unstarted)
            {
                particleThread.Start();
            }
            else
            {
            #if DEBUGPARTICLESYSTEM
                debugStrings.Add(particleManager.debugStrings);
                foreach (string item in debugStrings[debugStrings.Count-1])
                {

                    DebugManager.AddItem(item, this.ToString(), new System.Diagnostics.StackTrace(), System.Drawing.Color.Aqua);

                }
            #endif
                particleManager.debugStrings = new List<string>();
                while (barrier.ParticipantsRemaining > 2)
                {
                    barrier.RemoveParticipant();
                }
                barrier.SignalAndWait();
            }
        }
Exemple #2
0
 public InitObjectHolder(GraphicsDevice graphics, XNAParticleSystem.ParticleManager particleManager,IServiceProvider serviceProvider)
 {
     this.graphics         = graphics;
     this.particleManagers = new Dictionary<EGameState, XNAParticleSystem.ParticleManager>();
     foreach (EGameState curGameState in Enum.GetValues(typeof(EGameState)))
     {
         particleManagers.Add(curGameState, new XNAParticleSystem.ParticleManager());
     }
     this.serviceProvider  = serviceProvider;
     dataHolder            = new DataHolder();
 }