Browse Source

Editor: Only rebuild geometry sidebar if type has changed.

Mugen87 5 years ago
parent
commit
f77ae6b524
1 changed files with 13 additions and 5 deletions
  1. 13 5
      editor/js/Sidebar.Geometry.js

+ 13 - 5
editor/js/Sidebar.Geometry.js

@@ -61,6 +61,8 @@ var SidebarGeometry = function ( editor ) {
 	container.setDisplay( 'none' );
 	container.setPaddingTop( '20px' );
 
+	var currentGeometryType = null;
+
 	// Actions
 
 	/*
@@ -215,15 +217,21 @@ var SidebarGeometry = function ( editor ) {
 
 			//
 
-			parameters.clear();
+			if ( currentGeometryType !== geometry.type ) {
+
+				parameters.clear();
+
+				if ( geometry.type === 'BufferGeometry' || geometry.type === 'Geometry' ) {
 
-			if ( geometry.type === 'BufferGeometry' || geometry.type === 'Geometry' ) {
+					parameters.add( new SidebarGeometryModifiers( editor, object ) );
 
-				parameters.add( new SidebarGeometryModifiers( editor, object ) );
+				} else if ( geometryUIClasses[ geometry.type ] !== undefined ) {
 
-			} else if ( geometryUIClasses[ geometry.type ] !== undefined ) {
+					parameters.add( new geometryUIClasses[ geometry.type ]( editor, object ) );
+
+				}
 
-				parameters.add( new geometryUIClasses[ geometry.type ]( editor, object ) );
+				currentGeometryType = geometry.type;
 
 			}