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