Config.js 1.2 KB
Newer Older
M
Mr.doob 已提交
1 2 3 4
/**
 * @author mrdoob / http://mrdoob.com/
 */

M
Mr.doob 已提交
5
var Config = function ( name ) {
M
Mr.doob 已提交
6 7

	var storage = {
M
Mr.doob 已提交
8
		'autosave': true,
9
		'theme': 'css/light.css',
M
Mr.doob 已提交
10 11 12

		'project/renderer': 'WebGLRenderer',
		'project/renderer/antialias': true,
T
thmasn 已提交
13 14
		'project/renderer/gammaInput': false,
		'project/renderer/gammaOutput': false,
M
Mr.doob 已提交
15
		'project/renderer/shadows': true,
16 17

		'project/editable': false,
M
Mr.doob 已提交
18 19
		'project/vr': false,

M
Mr.doob 已提交
20
		'settings/history': false
M
Mr.doob 已提交
21 22
	};

23 24 25 26 27
	if ( window.localStorage[ name ] === undefined ) {

		window.localStorage[ name ] = JSON.stringify( storage );

	} else {
M
Mr.doob 已提交
28

M
Mr.doob 已提交
29 30 31 32 33 34 35
		var data = JSON.parse( window.localStorage[ name ] );

		for ( var key in data ) {

			storage[ key ] = data[ key ];

		}
M
Mr.doob 已提交
36 37 38 39

	}

	return {
M
Mr.doob 已提交
40

M
Mr.doob 已提交
41 42 43 44 45 46
		getKey: function ( key ) {

			return storage[ key ];

		},

47
		setKey: function () { // key, value, key, value ...
M
Mr.doob 已提交
48

49 50 51 52 53
			for ( var i = 0, l = arguments.length; i < l; i += 2 ) {

				storage[ arguments[ i ] ] = arguments[ i + 1 ];

			}
M
Mr.doob 已提交
54

M
Mr.doob 已提交
55
			window.localStorage[ name ] = JSON.stringify( storage );
M
Mr.doob 已提交
56

57
			console.log( '[' + /\d\d\:\d\d\:\d\d/.exec( new Date() )[ 0 ] + ']', 'Saved config to LocalStorage.' );
M
Mr.doob 已提交
58

M
Mr.doob 已提交
59 60 61 62
		},

		clear: function () {

M
Mr.doob 已提交
63
			delete window.localStorage[ name ];
M
Mr.doob 已提交
64

M
Mr.doob 已提交
65 66
		}

M
Mr.doob 已提交
67
	};
M
Mr.doob 已提交
68

69
};