constructor( editor, scene = null ) {

		super( editor );

		this.type = 'SetSceneCommand';
		this.name = editor.strings.getKey( 'command/SetScene' );

		this.cmdArray = [];

		if ( scene !== null ) {

			this.cmdArray.push( new SetUuidCommand( this.editor, this.editor.scene, scene.uuid ) );
			this.cmdArray.push( new SetValueCommand( this.editor, this.editor.scene, 'name', scene.name ) );
			this.cmdArray.push( new SetValueCommand( this.editor, this.editor.scene, 'userData', JSON.parse( JSON.stringify( scene.userData ) ) ) );

			while ( scene.children.length > 0 ) {

				const child = scene.children.pop();
				this.cmdArray.push( new AddObjectCommand( this.editor, child ) );

			}

		}

	}
@param {Editor} editor
@param {THREE.Scene|null} [scene=null]
@constructor