2
0

Config.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. /**
  2. * @author mrdoob / http://mrdoob.com/
  3. */
  4. var Config = function () {
  5. var name = 'threejs-editor';
  6. var storage = {
  7. 'language': 'en',
  8. 'exportPrecision': 6,
  9. 'autosave': true,
  10. 'project/title': '',
  11. 'project/editable': false,
  12. 'project/vr': false,
  13. 'project/renderer/antialias': true,
  14. 'project/renderer/shadows': true,
  15. 'project/renderer/shadowType': 1, // PCF
  16. 'project/renderer/physicallyCorrectLights': false,
  17. 'project/renderer/toneMapping': 1, // linear
  18. 'project/renderer/toneMappingExposure': 1,
  19. 'project/renderer/toneMappingWhitePoint': 1,
  20. 'project/vr': false,
  21. 'settings/history': false,
  22. 'settings/shortcuts/translate': 'w',
  23. 'settings/shortcuts/rotate': 'e',
  24. 'settings/shortcuts/scale': 'r',
  25. 'settings/shortcuts/undo': 'z',
  26. 'settings/shortcuts/focus': 'f'
  27. };
  28. if ( window.localStorage[ name ] === undefined ) {
  29. window.localStorage[ name ] = JSON.stringify( storage );
  30. } else {
  31. var data = JSON.parse( window.localStorage[ name ] );
  32. for ( var key in data ) {
  33. storage[ key ] = data[ key ];
  34. }
  35. }
  36. return {
  37. getKey: function ( key ) {
  38. return storage[ key ];
  39. },
  40. setKey: function () { // key, value, key, value ...
  41. for ( var i = 0, l = arguments.length; i < l; i += 2 ) {
  42. storage[ arguments[ i ] ] = arguments[ i + 1 ];
  43. }
  44. window.localStorage[ name ] = JSON.stringify( storage );
  45. console.log( '[' + /\d\d\:\d\d\:\d\d/.exec( new Date() )[ 0 ] + ']', 'Saved config to LocalStorage.' );
  46. },
  47. clear: function () {
  48. delete window.localStorage[ name ];
  49. }
  50. };
  51. };
  52. export { Config };