protected override bool FrameStarted(Mogre.FrameEvent evt)
        {
            if (reloadLevel)
            {
                levelView.Destroy();
                if (levelToLoad != null)
                {
                    currentLevel.Dispose();
                }
                SceneMgr.ClearScene();
                EffectsManager.Singleton.Clear();
                if (levelToLoad != null)
                {
                    filename     = levelToLoad;
                    currentLevel = new Level(filename, this, EngineConfig.CurrentPlayerPlaneType);
                }

                levelView = new LevelView(this, this);
                levelView.OnRegisterLevel(currentLevel);
                levelView.SetVisible(true);

                reloadLevel = false;
                levelToLoad = null;
                mainWindow.BeginInvoke(new InvokeDelegate(mainWindow.OnLevelLoaded), (currentLevel.LevelParser));

                foreach (ISceneTest test in this.gameTest.SceneTests)
                {
                    test.Framework = this;
                    test.OnRegisterLevel(currentLevel);
                }
            }


            if (base.FrameStarted(evt))
            {
                if (levelView != null)
                {
                    levelView.OnFrameStarted(evt);
                }
                return(true);
            }
            else
            {
                return(false);
            }
        }