Skip to content

Commit d55db48

Browse files
committed
Editor: Added editable setting.
1 parent 6c66314 commit d55db48

File tree

4 files changed

+49
-10
lines changed

4 files changed

+49
-10
lines changed

editor/js/Config.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ var Config = function () {
1313
'project/renderer': 'WebGLRenderer',
1414
'project/renderer/antialias': true,
1515
'project/renderer/shadows': true,
16+
'project/editable': false,
1617
'project/vr': false,
1718

1819
'settings/history': false,

editor/js/Editor.js

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -446,15 +446,6 @@ Editor.prototype = {
446446

447447
}
448448

449-
// TODO: Clean this up somehow
450-
451-
if ( json.project !== undefined ) {
452-
453-
this.config.setKey( 'project/renderer/shadows', json.project.shadows );
454-
this.config.setKey( 'project/vr', json.project.vr );
455-
456-
}
457-
458449
var camera = loader.parse( json.camera );
459450

460451
this.camera.copy( camera );
@@ -494,6 +485,7 @@ Editor.prototype = {
494485
metadata: {},
495486
project: {
496487
shadows: this.config.getKey( 'project/renderer/shadows' ),
488+
editable: this.config.getKey( 'project/editable' ),
497489
vr: this.config.getKey( 'project/vr' )
498490
},
499491
camera: this.camera.toJSON(),

editor/js/Sidebar.Project.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,20 @@ Sidebar.Project = function ( editor ) {
8080

8181
container.add( rendererPropertiesRow );
8282

83+
// Editable
84+
85+
var editableRow = new UI.Row();
86+
var editable = new UI.Checkbox( config.getKey( 'project/editable' ) ).setLeft( '100px' ).onChange( function () {
87+
88+
config.setKey( 'project/editable', this.getValue() );
89+
90+
} );
91+
92+
editableRow.add( new UI.Text( 'Editable' ).setWidth( '90px' ) );
93+
editableRow.add( editable );
94+
95+
container.add( editableRow );
96+
8397
// VR
8498

8599
var vrRow = new UI.Row();

editor/js/libs/app/index.html

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,25 @@
66
<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
77
<style>
88
body {
9+
font-family: Helvetica, Arial, sans-serif;
10+
font-size: 12px;
911
background-color: #000;
1012
margin: 0px;
1113
overflow: hidden;
1214
}
15+
#edit {
16+
position: absolute;
17+
bottom: 20px;
18+
right: 20px;
19+
padding: 8px;
20+
color: #555;
21+
background-color: #fff;
22+
opacity: 0.7;
23+
}
24+
#edit:hover {
25+
cursor: pointer;
26+
opacity: 1;
27+
}
1328
</style>
1429
</head>
1530
<body ontouchstart="">
@@ -20,13 +35,30 @@
2035
var loader = new THREE.XHRLoader();
2136
loader.load( 'app.json', function ( text ) {
2237

38+
var json = JSON.parse( text );
39+
2340
var player = new APP.Player();
24-
player.load( JSON.parse( text ) );
41+
player.load( json );
2542
player.setSize( window.innerWidth, window.innerHeight );
2643
player.play();
2744

2845
document.body.appendChild( player.dom );
2946

47+
if ( json.project.editable === true ) {
48+
49+
var button = document.createElement( 'div' );
50+
button.id = 'edit';
51+
button.textContent = 'EDIT';
52+
button.addEventListener( 'click', function ( event ) {
53+
54+
var url = location.href.split( '/' ).slice( 0, - 1 ).join( '/' );
55+
location.href = 'http://threejs.org/editor/#file=https://crossorigin.me/' + url + '/app.json';
56+
57+
}, false );
58+
document.body.appendChild( button );
59+
60+
}
61+
3062
window.addEventListener( 'resize', function () {
3163
player.setSize( window.innerWidth, window.innerHeight );
3264
} );

0 commit comments

Comments
 (0)