Beispiel #1
0
        public void sceneLoaded(SimScene scene)
        {
            if (!activeSceneLights.ContainsKey(scene))
            {
                SimSubScene subScene = scene.getDefaultSubScene();

                if (subScene.hasSimElementManagerType(typeof(OgreSceneManager)))
                {
                    OgreSceneManager sceneManager = subScene.getSimElementManager <OgreSceneManager>();
                    Light            light        = sceneManager.SceneManager.createLight("CameraLight");
                    LightMover       lightMover   = new LightMover(light);
                    sceneManager.SceneManager.addSceneListener(lightMover);
                    activeSceneLights.Add(scene, lightMover);
                }
            }
        }
Beispiel #2
0
        public void sceneUnloading(SimScene scene)
        {
            if (scene != null && activeSceneLights.ContainsKey(scene))
            {
                SimSubScene subScene = scene.getDefaultSubScene();

                if (subScene.hasSimElementManagerType(typeof(OgreSceneManager)))
                {
                    LightMover lightMover = activeSceneLights[scene];

                    OgreSceneManager sceneManager = subScene.getSimElementManager <OgreSceneManager>();
                    sceneManager.SceneManager.destroyLight(lightMover.Light);
                    sceneManager.SceneManager.removeSceneListener(lightMover);

                    activeSceneLights.Remove(scene);
                }
            }
        }