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