소스 검색

Editor: Include VRControls/VREffect when needed.

Mr.doob 9 년 전
부모
커밋
f8e0e542d4
2개의 변경된 파일24개의 추가작업 그리고 8개의 파일을 삭제
  1. 23 6
      editor/js/Menubar.File.js
  2. 1 2
      editor/js/libs/app/index.html

+ 23 - 6
editor/js/Menubar.File.js

@@ -218,6 +218,8 @@ Menubar.File = function ( editor ) {
 		output.metadata.type = 'App';
 		delete output.history;
 
+		var vr = output.project.vr;
+
 		output = JSON.stringify( output, null, '\t' );
 		output = output.replace( /[\n\t]+([\d\.e\-\[\]]+)/g, '$1' );
 
@@ -234,6 +236,17 @@ Menubar.File = function ( editor ) {
 		var loader = new THREE.XHRLoader( manager );
 		loader.load( 'js/libs/app/index.html', function ( content ) {
 
+			var includes = [];
+
+			if ( vr ) {
+
+				includes.push( '<script src="js/VRControls.js"></script>' );
+				includes.push( '<script src="js/VREffect.js"></script>' );
+
+			}
+
+			content = content.replace( '<!-- includes -->', includes.join( '\n\t\t' ) );
+
 			zip.file( 'index.html', content );
 
 		} );
@@ -248,17 +261,21 @@ Menubar.File = function ( editor ) {
 
 		} );
 
-		loader.load( '../examples/js/controls/VRControls.js', function ( content ) {
+		if ( vr ) {
 
-			zip.file( 'js/VRControls.js', content );
+			loader.load( '../examples/js/controls/VRControls.js', function ( content ) {
 
-		} );
+				zip.file( 'js/VRControls.js', content );
 
-		loader.load( '../examples/js/effects/VREffect.js', function ( content ) {
+			} );
 
-			zip.file( 'js/VREffect.js', content );
+			loader.load( '../examples/js/effects/VREffect.js', function ( content ) {
 
-		} );
+				zip.file( 'js/VREffect.js', content );
+
+			} );
+
+		}
 
 	} );
 	options.add( option );

+ 1 - 2
editor/js/libs/app/index.html

@@ -30,8 +30,7 @@
 	<body ontouchstart="">
 		<script src="js/three.min.js"></script>
 		<script src="js/app.js"></script>
-		<script src="js/VRControls.js"></script>
-		<script src="js/VREffect.js"></script>
+		<!-- includes -->
 		<script>
 
 			var loader = new THREE.XHRLoader();