protected override void OnInitialize() { PostProcessor = new PostProcessor(GameManager.GraphicsDevice, CVars.Get <float>("screen_width"), CVars.Get <float>("screen_height")); PostProcessor.RegisterEvents(); // Responds to ResizeEvent; keep outside of RegisterListeners Camera = new Camera(CVars.Get <float>("screen_width"), CVars.Get <float>("screen_height")); Camera.RegisterEvents(); DebugCamera = new DebugCamera(CVars.Get <float>("screen_width"), CVars.Get <float>("screen_height")); DebugCamera.RegisterEvents(); VelocityParticleManager = new ParticleManager <VelocityParticleInfo>(1024 * 20, VelocityParticleInfo.UpdateParticle); ProcessManager.Attach(VelocityParticleManager); GPUParticleManager = new GPUParticleManager(GameManager.GraphicsDevice, Content, "effect_gpu_particle_velocity"); GPUParticleManager.RegisterListeners(); Engine = new Engine(); InitSystems(); InitDirectors(); LoadContent(); CreateEntities(); base.OnInitialize(); }