Config.js 1.4 KB

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