Source: effects/SnowEffect.js

import { Effect } from "./Effect";

/**
 * @class SnowEffect
 * The snow effect.
 * @extends Effect
 * @memberof THING
 * @public
 */
class SnowEffect extends Effect {

	constructor(params) {
		super(params);

		this.createResourceNode('SnowEffect');
	}

	/**
     * Get/Set snow speed.
     * @type {Number}
     * @default 1.0
     * @public
     */
	get speed() {
		return this.resource.getSpeed();
	}

	set speed(value) {
		this.resource.setSpeed(value);
	}

	/**
     * Get/Set snow size.
     * @type {Number}
     * @default 1.5
     * @public
     */
	get size() {
		return this.resource.getSize();
	}

	set size(value) {
		this.resource.setSize(value);
	}


	/**
     * Get/Set snow angle.
     * @type {Number}
     * @default 0.0
     * @public
     */
	get angle() {
		return this.resource.getAngle();
	}

	set angle(value) {
		this.resource.setAngle(value);
	}

	/**
     * Get/Set snow density.
     * @type {Number}
     * @default 1.0
     * @public
     */
	get density() {
		return this.resource.getDensity();
	}

	set density(value) {
		this.resource.setDensity(value);
	}

	/**
     * Get/Set snow strength.
     * @type {Number}
     * @default 1.0
     * @public
     */
	get strength() {
		return this.resource.getStrength();
	}

	set strength(value) {
		this.resource.setStrength(value);
	}


	/**
     * Get/Set cover cover.
     * @type {Number}
     * @default 1.0
     * @public
     */
	get cover() {
		return this.resource.getCover();
	}

	set cover(value) {
		this.resource.setCover(value);
	}

	/**
     * Get/Set cover color.
     * @type {Array<Number>}
     * @default - [1.0, 1.0, 1.0]
     * @public
     */
	get color() {
		return this.resource.getColor();
	}

	set color(value) {
		this.resource.setColor(value);
	}

	/**
     * Get/Set fxaa.
     * @type {Boolean}
     * @default false
     * @public
     */
	get fxaa() {
		return this.resource.getFxaa();
	}

	set fxaa(value) {
		this.resource.setFxaa(value);
	}

}

export { SnowEffect }