public void moveCameraToScene(Scene scene, boolean immediately) {
		Scene previous = scene.getPrevious();
		if (previous != null) {
			String s = previous.getDepartInformation();
			if (s != null) {
				runScriptImmediatelyWithoutThread("set echo bottom center;color echo yellow;echo \"" + s + "\"");
			}
			else {
				clearEcho();
			}
			s = previous.getDepartScript();
			if (s != null)
				runScriptImmediatelyWithoutThread(s);
		}
		Vector3f a = scene.getRotationAxis();
		if (getNavigationMode()) {
			Point3f c = scene.getCameraPosition();
			moveCameraTo(immediately ? 0 : scene.getTransitionTime(), a.x, a.y, a.z, scene.getRotationAngle(), c.x,
					c.y, c.z);
		}
		else {
			moveTo(immediately ? 0 : scene.getTransitionTime(), a.x, a.y, a.z, scene.getRotationAngle(), (int) scene
					.getZoomPercent(), scene.getXTrans(), scene.getYTrans());
		}
		String s = scene.getArriveInformation();
		if (s != null) {
			runScriptImmediatelyWithoutThread("set echo bottom center;color echo yellow;echo \"" + s + "\"");
		}
		else {
			clearEcho();
		}
		s = scene.getArriveScript();
		if (s != null)
			runScriptImmediatelyWithoutThread(s);
	}