Path: blob/main/public/games/files/garbage-collector/js/config/settings.js
1036 views
/*globals define*/1define([2'utils'3], function( Utils ) {4'use strict';56// Settings singleton data.7var settings;89// Quality levels.10var lowSettings = {11background: false,12explosions: false,13glow: false,14gradients: false,15trail: false16};1718var highSettings = {19background: true,20explosions: true,21glow: true,22gradients: true,23trail: true24};2526// Basic setter functions for each quality level.27var settingsFn = function( quality ) {28return function() {29settings = Utils.defaults( {}, quality );30};31};3233var low = settingsFn( lowSettings ),34high = settingsFn( highSettings );3536// Set default to high.37high();3839// Settings singleton, with quality setters.40var Settings = {41low: low,42high: high43};4445// Define a getter function for each property.46var properties = Object.keys( settings ).reduce(function( object, key ) {47object[ key ] = {48get: function() {49return settings[ key ];50},5152set: function( value ) {53settings[ key ] = value;54}55};5657return object;58}, {} );5960Object.defineProperties( Settings, properties );6162Object.defineProperty( Settings, 'keys', {63get: function() {64return Object.keys( settings );65}66});6768return Settings;69});707172