Plato on Github
Report Home
base.js
Maintainability
66.57
Lines of code
44
Difficulty
17.45
Estimated Errors
0.32
Function weight
By Complexity
By SLOC
var Burner = require('burner'); var Utils = require('burner').Utils; var Vector = require('burner').Vector; /** * Creates a new Base. * @param {Object} [opt_options=] A map of initial properties. * @param {boolean} [opt_options.width = 10] Width. * @param {boolean} [opt_options.height = 10] Height. * @param {boolean} [opt_options.color = 0] Color. * @param {boolean} [opt_options.perlin = true] Set to true to move the base via perlin noise. * @param {number} [opt_options.perlinSpeed = 0.0001] Perlin speed. * @param {number} [opt_options.perlinTime = 100] Initial perlin time. * @param {Object} [opt_options.initialLocation = null] Initial base location. * @param {Object} [opt_options.amplitude = null] Limit of the base location. * @param {number} [opt_options.opacity = 0] Opacity. * @constructor */ function Base(opt_options) { var options = opt_options || {}; this.width = typeof options.width !== 'undefined' ? options.width : 10; this.height = typeof options.height !== 'undefined' ? options.height : 10; this.color = typeof options.color !== 'undefined' ? options.color : 0; this.perlin = typeof options.perlin !== 'undefined' ? options.perlin : true; this.perlinSpeed = options.perlinSpeed || 0.0001; this.perlinTime = options.perlinTime || 100; this.initialLocation = options.initialLocation || null; this.amplitude = options.amplitude || null; this.opacity = options.opacity || 0; } /** * Configures an instance. * @param {Object} world A world. * @memberOf Base */ Base.prototype.configure = function(world) { this.initialLocation = new Vector(world.width / 2, world.height); this.amplitude = new Vector(world.width / 4, 0); }; module.exports = Base;