Skip to content

Commit c0df5ec

Browse files
authored
Merge pull request #16889 from Mugen87/dev34
Editor: Make editor parameter of Command class mandatory.
2 parents bffb09d + a8a6686 commit c0df5ec

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+236
-228
lines changed

editor/docs/Implementing additional commands for undo-redo.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,15 @@ Then there are separate commands for:
2525
Every command needs a constructor. In the constructor
2626

2727
```javascript
28-
29-
var DoSomethingCommand = function () {
3028

31-
Command.call( this ); // Required: Call default constructor
29+
var DoSomethingCommand = function ( editor ) {
30+
31+
Command.call( this, editor ); // Required: Call default constructor
3232

3333
this.type = 'DoSomethingCommand'; // Required: has to match the object-name!
3434
this.name = 'Set/Do/Update Something'; // Required: description of the command, used in Sidebar.History
3535

36-
// TODO: store all the relevant information needed to
36+
// TODO: store all the relevant information needed to
3737
// restore the old and the new state
3838

3939
};
@@ -50,13 +50,13 @@ DoSomethingCommand.prototype = {
5050

5151
execute: function () {
5252

53-
// TODO: apply changes to 'object' to reach the new state
53+
// TODO: apply changes to 'object' to reach the new state
5454

5555
},
5656

5757
undo: function () {
5858

59-
// TODO: restore 'object' to old state
59+
// TODO: restore 'object' to old state
6060

6161
},
6262

editor/docs/Writing unit tests for undo-redo commands.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ test("Test DoSomethingCommand (Undo and Redo)", function() {
6868
// var perspectiveCamera = aPerspectiveCamera( 'Name your perspectiveCamera' );
6969

7070
// in most cases you'll need to add the object to work with
71-
editor.execute( new AddObjectCommand( box ) );
71+
editor.execute( new AddObjectCommand( editor, box ) );
7272

7373

7474
// your test begins here...
@@ -91,4 +91,4 @@ Finally, perform `editor.redo()` and verify if the values are as expected.
9191

9292
### 4. Execute the test ###
9393

94-
Open the editor's unit test suite `test/unit/unittests_editor.html` in your browser and check the results from the test framework.
94+
Open the editor's unit test suite `test/unit/unittests_editor.html` in your browser and check the results from the test framework.

editor/js/Command.js

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,19 @@
44
*/
55

66
/**
7-
* @param editorRef pointer to main editor object used to initialize
7+
* @param editor pointer to main editor object used to initialize
88
* each command object with a reference to the editor
99
* @constructor
1010
*/
1111

12-
var Command = function ( editorRef ) {
12+
var Command = function ( editor ) {
1313

1414
this.id = - 1;
1515
this.inMemory = false;
1616
this.updatable = false;
1717
this.type = '';
1818
this.name = '';
19-
20-
if ( editorRef !== undefined ) {
21-
22-
Command.editor = editorRef;
23-
24-
}
25-
this.editor = Command.editor;
26-
19+
this.editor = editor;
2720

2821
};
2922

editor/js/History.js

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,6 @@ History = function ( editor ) {
1414
this.historyDisabled = false;
1515
this.config = editor.config;
1616

17-
//Set editor-reference in Command
18-
19-
Command( editor );
20-
2117
// signals
2218

2319
var scope = this;

editor/js/Loader.js

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ var Loader = function ( editor ) {
6666
var loader = new THREE.TDSLoader();
6767
var object = loader.parse( event.target.result );
6868

69-
editor.execute( new AddObjectCommand( object ) );
69+
editor.execute( new AddObjectCommand( editor, object ) );
7070

7171
}, false );
7272
reader.readAsArrayBuffer( file );
@@ -80,7 +80,7 @@ var Loader = function ( editor ) {
8080
var loader = new THREE.AMFLoader();
8181
var amfobject = loader.parse( event.target.result );
8282

83-
editor.execute( new AddObjectCommand( amfobject ) );
83+
editor.execute( new AddObjectCommand( editor, amfobject ) );
8484

8585
}, false );
8686
reader.readAsArrayBuffer( file );
@@ -94,7 +94,7 @@ var Loader = function ( editor ) {
9494
var loader = new THREE.AWDLoader();
9595
var scene = loader.parse( event.target.result );
9696

97-
editor.execute( new SetSceneCommand( scene ) );
97+
editor.execute( new SetSceneCommand( editor, scene ) );
9898

9999
}, false );
100100
reader.readAsArrayBuffer( file );
@@ -111,7 +111,7 @@ var Loader = function ( editor ) {
111111
var loader = new THREE.BabylonLoader();
112112
var scene = loader.parse( json );
113113

114-
editor.execute( new SetSceneCommand( scene ) );
114+
editor.execute( new SetSceneCommand( editor, scene ) );
115115

116116
}, false );
117117
reader.readAsText( file );
@@ -133,7 +133,7 @@ var Loader = function ( editor ) {
133133
var mesh = new THREE.Mesh( geometry, material );
134134
mesh.name = filename;
135135

136-
editor.execute( new AddObjectCommand( mesh ) );
136+
editor.execute( new AddObjectCommand( editor, mesh ) );
137137

138138
}, false );
139139
reader.readAsText( file );
@@ -160,7 +160,7 @@ var Loader = function ( editor ) {
160160
var mesh = new THREE.Mesh( geometry, material );
161161
mesh.name = filename;
162162

163-
editor.execute( new AddObjectCommand( mesh ) );
163+
editor.execute( new AddObjectCommand( editor, mesh ) );
164164

165165
} );
166166

@@ -181,7 +181,7 @@ var Loader = function ( editor ) {
181181
collada.scene.name = filename;
182182

183183
editor.addAnimation( collada.scene, collada.animations );
184-
editor.execute( new AddObjectCommand( collada.scene ) );
184+
editor.execute( new AddObjectCommand( editor, collada.scene ) );
185185

186186
}, false );
187187
reader.readAsText( file );
@@ -198,7 +198,7 @@ var Loader = function ( editor ) {
198198
var object = loader.parse( contents );
199199

200200
editor.addAnimation( object, object.animations );
201-
editor.execute( new AddObjectCommand( object ) );
201+
editor.execute( new AddObjectCommand( editor, object ) );
202202

203203
}, false );
204204
reader.readAsArrayBuffer( file );
@@ -221,7 +221,7 @@ var Loader = function ( editor ) {
221221
scene.name = filename;
222222

223223
editor.addAnimation( scene, result.animations );
224-
editor.execute( new AddObjectCommand( scene ) );
224+
editor.execute( new AddObjectCommand( editor, scene ) );
225225

226226
} );
227227

@@ -254,7 +254,7 @@ var Loader = function ( editor ) {
254254
scene.name = filename;
255255

256256
editor.addAnimation( scene, result.animations );
257-
editor.execute( new AddObjectCommand( scene ) );
257+
editor.execute( new AddObjectCommand( editor, scene ) );
258258

259259
} );
260260

@@ -329,7 +329,7 @@ var Loader = function ( editor ) {
329329

330330
collada.scene.name = filename;
331331

332-
editor.execute( new AddObjectCommand( collada.scene ) );
332+
editor.execute( new AddObjectCommand( editor, collada.scene ) );
333333

334334
}, false );
335335
reader.readAsArrayBuffer( file );
@@ -353,7 +353,7 @@ var Loader = function ( editor ) {
353353
mesh.name = filename;
354354

355355
editor.addAnimation( mesh, geometry.animations );
356-
editor.execute( new AddObjectCommand( mesh ) );
356+
editor.execute( new AddObjectCommand( editor, mesh ) );
357357

358358
}, false );
359359
reader.readAsArrayBuffer( file );
@@ -369,7 +369,7 @@ var Loader = function ( editor ) {
369369
var object = new THREE.OBJLoader().parse( contents );
370370
object.name = filename;
371371

372-
editor.execute( new AddObjectCommand( object ) );
372+
editor.execute( new AddObjectCommand( editor, object ) );
373373

374374
}, false );
375375
reader.readAsText( file );
@@ -386,7 +386,7 @@ var Loader = function ( editor ) {
386386
var loader = new THREE.PlayCanvasLoader();
387387
var object = loader.parse( json );
388388

389-
editor.execute( new AddObjectCommand( object ) );
389+
editor.execute( new AddObjectCommand( editor, object ) );
390390

391391
}, false );
392392
reader.readAsText( file );
@@ -408,7 +408,7 @@ var Loader = function ( editor ) {
408408
var mesh = new THREE.Mesh( geometry, material );
409409
mesh.name = filename;
410410

411-
editor.execute( new AddObjectCommand( mesh ) );
411+
editor.execute( new AddObjectCommand( editor, mesh ) );
412412

413413
}, false );
414414
reader.readAsArrayBuffer( file );
@@ -430,7 +430,7 @@ var Loader = function ( editor ) {
430430
var mesh = new THREE.Mesh( geometry, material );
431431
mesh.name = filename;
432432

433-
editor.execute( new AddObjectCommand( mesh ) );
433+
editor.execute( new AddObjectCommand( editor, mesh ) );
434434

435435
}, false );
436436

@@ -485,7 +485,7 @@ var Loader = function ( editor ) {
485485

486486
}
487487

488-
editor.execute( new AddObjectCommand( group ) );
488+
editor.execute( new AddObjectCommand( editor, group ) );
489489

490490
}, false );
491491
reader.readAsText( file );
@@ -507,7 +507,7 @@ var Loader = function ( editor ) {
507507
var mesh = new THREE.Mesh( geometry, material );
508508
mesh.name = filename;
509509

510-
editor.execute( new AddObjectCommand( mesh ) );
510+
editor.execute( new AddObjectCommand( editor, mesh ) );
511511

512512
}, false );
513513
reader.readAsText( file );
@@ -522,7 +522,7 @@ var Loader = function ( editor ) {
522522

523523
var result = new THREE.VRMLLoader().parse( contents );
524524

525-
editor.execute( new SetSceneCommand( result ) );
525+
editor.execute( new SetSceneCommand( editor, result ) );
526526

527527
}, false );
528528
reader.readAsText( file );
@@ -579,7 +579,7 @@ var Loader = function ( editor ) {
579579

580580
var mesh = new THREE.Mesh( result );
581581

582-
editor.execute( new AddObjectCommand( mesh ) );
582+
editor.execute( new AddObjectCommand( editor, mesh ) );
583583

584584
break;
585585

@@ -598,11 +598,11 @@ var Loader = function ( editor ) {
598598

599599
if ( result.isScene ) {
600600

601-
editor.execute( new SetSceneCommand( result ) );
601+
editor.execute( new SetSceneCommand( editor, result ) );
602602

603603
} else {
604604

605-
editor.execute( new AddObjectCommand( result ) );
605+
editor.execute( new AddObjectCommand( editor, result ) );
606606

607607
}
608608

@@ -643,7 +643,7 @@ var Loader = function ( editor ) {
643643

644644
var materials = new THREE.MTLLoader().parse( zip.file( 'materials.mtl' ).asText() );
645645
var object = new THREE.OBJLoader().setMaterials( materials ).parse( zip.file( 'model.obj' ).asText() );
646-
editor.execute( new AddObjectCommand( object ) );
646+
editor.execute( new AddObjectCommand( editor, object ) );
647647

648648
}
649649

@@ -678,7 +678,7 @@ var Loader = function ( editor ) {
678678
var loader = new THREE.FBXLoader( manager );
679679
var object = loader.parse( file.asArrayBuffer() );
680680

681-
editor.execute( new AddObjectCommand( object ) );
681+
editor.execute( new AddObjectCommand( editor, object ) );
682682

683683
break;
684684

@@ -690,7 +690,7 @@ var Loader = function ( editor ) {
690690
var scene = result.scene;
691691

692692
editor.addAnimation( scene, result.animations );
693-
editor.execute( new AddObjectCommand( scene ) );
693+
editor.execute( new AddObjectCommand( editor, scene ) );
694694

695695
} );
696696

0 commit comments

Comments
 (0)