|  | @@ -328,10 +328,10 @@
 | 
	
		
			
				|  |  |           canSave = "1";
 | 
	
		
			
				|  |  |           isDecoy = "0";
 | 
	
		
			
				|  |  |           Visible = "1";
 | 
	
		
			
				|  |  | -         Command = "TerrainImportGui.import();";
 | 
	
		
			
				|  |  | +         Command = "TerrainImportGui.acceptSettings();";
 | 
	
		
			
				|  |  |           tooltipprofile = "ToolsGuiToolTipProfile";
 | 
	
		
			
				|  |  |           hovertime = "1000";
 | 
	
		
			
				|  |  | -         text = "Import";
 | 
	
		
			
				|  |  | +         text = "Accept";
 | 
	
		
			
				|  |  |           groupNum = "-1";
 | 
	
		
			
				|  |  |           buttonType = "PushButton";
 | 
	
		
			
				|  |  |           useMouseEvents = "0";
 | 
	
	
		
			
				|  | @@ -414,60 +414,6 @@
 | 
	
		
			
				|  |  |           text = "Channels";
 | 
	
		
			
				|  |  |           maxLength = "1024";
 | 
	
		
			
				|  |  |        };
 | 
	
		
			
				|  |  | -      new GuiTextCtrl() {
 | 
	
		
			
				|  |  | -         canSaveDynamicFields = "0";
 | 
	
		
			
				|  |  | -         Enabled = "1";
 | 
	
		
			
				|  |  | -         isContainer = "0";
 | 
	
		
			
				|  |  | -         Profile = "ToolsGuiTextProfile";
 | 
	
		
			
				|  |  | -         HorizSizing = "right";
 | 
	
		
			
				|  |  | -         VertSizing = "bottom";
 | 
	
		
			
				|  |  | -         Position = "11 26";
 | 
	
		
			
				|  |  | -         Extent = "64 18";
 | 
	
		
			
				|  |  | -         MinExtent = "8 2";
 | 
	
		
			
				|  |  | -         canSave = "1";
 | 
	
		
			
				|  |  | -         isDecoy = "0";
 | 
	
		
			
				|  |  | -         Visible = "1";
 | 
	
		
			
				|  |  | -         tooltipprofile = "ToolsGuiToolTipProfile";
 | 
	
		
			
				|  |  | -         hovertime = "1000";
 | 
	
		
			
				|  |  | -         Margin = "0 0 0 0";
 | 
	
		
			
				|  |  | -         Padding = "0 0 0 0";
 | 
	
		
			
				|  |  | -         AnchorTop = "1";
 | 
	
		
			
				|  |  | -         AnchorBottom = "0";
 | 
	
		
			
				|  |  | -         AnchorLeft = "1";
 | 
	
		
			
				|  |  | -         AnchorRight = "0";
 | 
	
		
			
				|  |  | -         text = "Name:";
 | 
	
		
			
				|  |  | -         maxLength = "1024";
 | 
	
		
			
				|  |  | -      };
 | 
	
		
			
				|  |  | -      new GuiTextEditCtrl() {
 | 
	
		
			
				|  |  | -         canSaveDynamicFields = "0";
 | 
	
		
			
				|  |  | -         internalName = "TerrainName";
 | 
	
		
			
				|  |  | -         Enabled = "1";
 | 
	
		
			
				|  |  | -         isContainer = "0";
 | 
	
		
			
				|  |  | -         Profile = "ToolsGuiTextEditProfile";
 | 
	
		
			
				|  |  | -         HorizSizing = "width";
 | 
	
		
			
				|  |  | -         VertSizing = "bottom";
 | 
	
		
			
				|  |  | -         Position = "10 44";
 | 
	
		
			
				|  |  | -         Extent = "206 18";
 | 
	
		
			
				|  |  | -         MinExtent = "8 2";
 | 
	
		
			
				|  |  | -         canSave = "1";
 | 
	
		
			
				|  |  | -         isDecoy = "0";
 | 
	
		
			
				|  |  | -         Visible = "1";
 | 
	
		
			
				|  |  | -         tooltipprofile = "ToolsGuiToolTipProfile";
 | 
	
		
			
				|  |  | -         hovertime = "1000";
 | 
	
		
			
				|  |  | -         Margin = "0 0 0 0";
 | 
	
		
			
				|  |  | -         Padding = "0 0 0 0";
 | 
	
		
			
				|  |  | -         AnchorTop = "1";
 | 
	
		
			
				|  |  | -         AnchorBottom = "0";
 | 
	
		
			
				|  |  | -         AnchorLeft = "1";
 | 
	
		
			
				|  |  | -         AnchorRight = "0";
 | 
	
		
			
				|  |  | -         text = "theTerrain";
 | 
	
		
			
				|  |  | -         maxLength = "1024";
 | 
	
		
			
				|  |  | -         historySize = "0";
 | 
	
		
			
				|  |  | -         password = "0";
 | 
	
		
			
				|  |  | -         tabComplete = "0";
 | 
	
		
			
				|  |  | -         sinkAllKeyEvents = "0";
 | 
	
		
			
				|  |  | -         passwordMask = "*";
 | 
	
		
			
				|  |  | -      };
 | 
	
		
			
				|  |  |        new GuiButtonCtrl() {
 | 
	
		
			
				|  |  |           canSaveDynamicFields = "0";
 | 
	
		
			
				|  |  |           Enabled = "1";
 | 
	
	
		
			
				|  | @@ -502,7 +448,7 @@
 | 
	
		
			
				|  |  |           canSave = "1";
 | 
	
		
			
				|  |  |           isDecoy = "0";
 | 
	
		
			
				|  |  |           Visible = "1";
 | 
	
		
			
				|  |  | -         Command = "Canvas.popDialog( TerrainImportGui );";
 | 
	
		
			
				|  |  | +         Command = "TerrainImportGui.cancel();";
 | 
	
		
			
				|  |  |           tooltipprofile = "ToolsGuiToolTipProfile";
 | 
	
		
			
				|  |  |           hovertime = "1000";
 | 
	
		
			
				|  |  |           text = "Cancel";
 | 
	
	
		
			
				|  | @@ -544,28 +490,23 @@ function TerrainImportGui::onWake( %this )
 | 
	
		
			
				|  |  |        %this.channelsArray = new ArrayObject();
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -function TerrainImportGui::import( %this )
 | 
	
		
			
				|  |  | +function TerrainImportGui::acceptSettings( %this )
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  |     // Gather all the import settings.
 | 
	
		
			
				|  |  | -   
 | 
	
		
			
				|  |  | -   %heightMapPng = %this-->HeightfieldFilename.getText();
 | 
	
		
			
				|  |  | +   AssetBrowser.newAssetSettings.importingTerrain = true;
 | 
	
		
			
				|  |  | +   AssetBrowser.newAssetSettings.heightMapPng = %this-->HeightfieldFilename.getText();
 | 
	
		
			
				|  |  |       
 | 
	
		
			
				|  |  | -   %metersPerPixel = %this-->MetersPerPixel.getText();
 | 
	
		
			
				|  |  | -   %heightScale = %this-->HeightScale.getText();
 | 
	
		
			
				|  |  | +   AssetBrowser.newAssetSettings.metersPerPixel = %this-->MetersPerPixel.getText();
 | 
	
		
			
				|  |  | +   AssetBrowser.newAssetSettings.heightScale = %this-->HeightScale.getText();
 | 
	
		
			
				|  |  |     
 | 
	
		
			
				|  |  | -   %flipYAxis = %this-->FlipYAxis.isStateOn();
 | 
	
		
			
				|  |  | +   AssetBrowser.newAssetSettings.flipYAxis = %this-->FlipYAxis.isStateOn();
 | 
	
		
			
				|  |  |     
 | 
	
		
			
				|  |  |     // Grab and validate terrain object name.
 | 
	
		
			
				|  |  |     
 | 
	
		
			
				|  |  | -   %terrainName = %this-->TerrainName.getText();
 | 
	
		
			
				|  |  | -   if( !( isObject( %terrainName ) && %terrainName.isMemberOfClass( "TerrainBlock" ) ) &&
 | 
	
		
			
				|  |  | -       !Editor::validateObjectName( %terrainName ) )
 | 
	
		
			
				|  |  | -      return;
 | 
	
		
			
				|  |  | +   AssetBrowser.newAssetSettings.opacityNames = "";
 | 
	
		
			
				|  |  | +   AssetBrowser.newAssetSettings.materialNames = "";
 | 
	
		
			
				|  |  |     
 | 
	
		
			
				|  |  | -   %opacityNames = "";
 | 
	
		
			
				|  |  | -   %materialNames = "";
 | 
	
		
			
				|  |  | -   
 | 
	
		
			
				|  |  | -   %opacityList = %this-->OpacityLayerTextList;
 | 
	
		
			
				|  |  | +   AssetBrowser.newAssetSettings.opacityList = %this-->OpacityLayerTextList;
 | 
	
		
			
				|  |  |     
 | 
	
		
			
				|  |  |     for( %i = 0; %i < %opacityList.rowCount(); %i++ )
 | 
	
		
			
				|  |  |     {
 | 
	
	
		
			
				|  | @@ -577,53 +518,19 @@ function TerrainImportGui::import( %this )
 | 
	
		
			
				|  |  |        
 | 
	
		
			
				|  |  |        %materialName = getField( %itemText, 2 );
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -      %opacityNames = %opacityNames @ %opacityName TAB %channel @ "\n";
 | 
	
		
			
				|  |  | -      %materialNames = %materialNames @ %materialName @ "\n";
 | 
	
		
			
				|  |  | +      AssetBrowser.newAssetSettings.opacityNames = AssetBrowser.newAssetSettings.opacityNames @ %opacityName TAB %channel @ "\n";
 | 
	
		
			
				|  |  | +      AssetBrowser.newAssetSettings.materialNames = AssetBrowser.newAssetSettings.materialNames @ %materialName @ "\n";
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -   %updated = nameToID( %terrainName );
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -   // This will update an existing terrain with the name %terrainName,
 | 
	
		
			
				|  |  | -   // or create a new one if %terrainName isn't a TerrainBlock
 | 
	
		
			
				|  |  | -   %obj = TerrainBlock::import(   %terrainName, 
 | 
	
		
			
				|  |  | -                                  %heightMapPng, 
 | 
	
		
			
				|  |  | -                                  %metersPerPixel, 
 | 
	
		
			
				|  |  | -                                  %heightScale, 
 | 
	
		
			
				|  |  | -                                  %opacityNames, 
 | 
	
		
			
				|  |  | -                                  %materialNames,
 | 
	
		
			
				|  |  | -                                  %flipYAxis );
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +   //AssetBrowser.newAssetSettings.updated = nameToID( %terrainName );
 | 
	
		
			
				|  |  | +   
 | 
	
		
			
				|  |  |     Canvas.popDialog( %this );
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -   if ( isObject( %obj ) )
 | 
	
		
			
				|  |  | -   {
 | 
	
		
			
				|  |  | -      if( %obj != %updated )
 | 
	
		
			
				|  |  | -      {
 | 
	
		
			
				|  |  | -         // created a new TerrainBlock
 | 
	
		
			
				|  |  | -         // Submit an undo action. 
 | 
	
		
			
				|  |  | -         MECreateUndoAction::submit(%obj);
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -      assert( isObject( EWorldEditor ), 
 | 
	
		
			
				|  |  | -         "ObjectBuilderGui::processNewObject - EWorldEditor is missing!" );
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -      // Select it in the editor.
 | 
	
		
			
				|  |  | -      EWorldEditor.clearSelection();
 | 
	
		
			
				|  |  | -      EWorldEditor.selectObject(%obj);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -      // When we drop the selection don't store undo
 | 
	
		
			
				|  |  | -      // state for it... the creation deals with it.
 | 
	
		
			
				|  |  | -      EWorldEditor.dropSelection( true );
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -      ETerrainEditor.isDirty = true;
 | 
	
		
			
				|  |  | -      EPainter.updateLayers();
 | 
	
		
			
				|  |  | -   }
 | 
	
		
			
				|  |  | -   else
 | 
	
		
			
				|  |  | -   {
 | 
	
		
			
				|  |  | -      toolsMessageBox( "Import Terrain", 
 | 
	
		
			
				|  |  | -         "Terrain import failed! Check console for error messages.", 
 | 
	
		
			
				|  |  | -         "Ok", "Error" );
 | 
	
		
			
				|  |  | -   }
 | 
	
		
			
				|  |  | +function TerrainImportGui::cancel( %this )
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +   AssetBrowser.newAssetSettings.importingTerrain = false;
 | 
	
		
			
				|  |  | +   Canvas.popDialog( TerrainImportGui );
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  function TerrainImportGui::doOpenDialog( %this, %filter, %callback )
 |