Skip to content

Commit 212dfb1

Browse files
committed
Basic Material browser UI and implementation
1 parent cd59704 commit 212dfb1

File tree

2 files changed

+44
-0
lines changed

2 files changed

+44
-0
lines changed

editor/js/Sidebar.Project.js

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,49 @@ Sidebar.Project = function ( editor ) {
171171

172172
createRenderer( config.getKey( 'project/renderer' ), config.getKey( 'project/renderer/antialias' ), config.getKey( 'project/renderer/shadows' ) );
173173

174+
var materialbrowserpanel = new UI.Panel();
175+
176+
var headerRow = new UI.Row();
177+
headerRow.add( new UI.Text( strings.getKey( 'sidebar/project/materialbrowser' ) ) );
178+
179+
materialbrowserpanel.add( headerRow );
180+
181+
var listbox = new UI.Listbox( );
182+
signals.materialAdded.add( function () {
183+
184+
var materials = Object.values( editor.materials );
185+
listbox.setItems( materials );
186+
187+
} );
188+
materialbrowserpanel.add( listbox );
189+
190+
var buttonsRow = new UI.Row( );
191+
buttonsRow.setPadding( '10px 0px' );
192+
materialbrowserpanel.add( buttonsRow );
193+
194+
var addButton = new UI.Button( ).setLabel( 'Add' ).setMarginRight( '5px' );
195+
addButton.onClick( function ( ) {
196+
197+
editor.addMaterial( new THREE.MeshStandardMaterial({ color: 0xffffff }) );
198+
199+
} );
200+
buttonsRow.add( addButton );
201+
202+
var assignMaterial = new UI.Button( ).setLabel( 'Assign' ).setMargin( '0px 5px' );
203+
assignMaterial.onClick( function ( ) {
204+
205+
if ( typeof editor.selected !== 'undefined' ) {
206+
var material = editor.getMaterialById( parseInt( listbox.getValue( ) ) );
207+
if ( typeof material !== 'undefined' ) {
208+
editor.execute( new SetMaterialCommand( editor, editor.selected, material ) );
209+
}
210+
}
211+
212+
} );
213+
buttonsRow.add( assignMaterial );
214+
215+
container.add( materialbrowserpanel );
216+
174217
return container;
175218

176219
};

editor/js/Strings.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,7 @@ var Strings = function ( config ) {
274274
'sidebar/script/remove': 'Remove',
275275

276276
'sidebar/project': 'Project',
277+
'sidebar/project/materialbrowser': 'MATERIAL BROWSER',
277278
'sidebar/project/title': 'Title',
278279
'sidebar/project/editable': 'Editable',
279280
'sidebar/project/vr': 'VR',

0 commit comments

Comments
 (0)