import { Utils } from "../main";
import { Effect } from "./Effect";
/**
* @class RainEffect
* The rain effect.
* @extends Effect
* @memberof THING
* @public
*/
class RainEffect extends Effect {
constructor(params) {
super(params);
this.createResourceNode('RainEffect');
}
// #region Accessor
/**
* Get/Set rain speed.
* @type {Number}
* @default 1.0
* @public
*/
get speed() {
return this.resource.getSpeed();
}
set speed(value) {
this.resource.setSpeed(value);
}
/**
* Get/Set rain size.
* @type {Number}
* @default 0.6
* @public
*/
get size() {
return this.resource.getSize();
}
set size(value) {
this.resource.setSize(value);
}
/**
* Get/Set rain angle.
* @type {Number}
* @default 10
* @public
*/
get angle() {
return this.resource.getAngle();
}
set angle(value) {
this.resource.setAngle(value);
}
/**
* Get/Set rain density.
* @type {Number}
* @default 1.0
* @public
*/
get density() {
return this.resource.getDensity();
}
set density(value) {
this.resource.setDensity(value);
}
/**
* Get/Set rain strength.
* @type {Number}
* @default 1.0
* @public
*/
get strength() {
return this.resource.getStrength();
}
set strength(value) {
this.resource.setStrength(value);
}
/**
* Get/Set rain cover strength.
* @type {Number}
* @default 0.2
* @public
*/
get coverStrength() {
return this.resource.getCoverStrength();
}
set coverStrength(value) {
this.resource.setCoverStrength(value);
}
/**
* Get/Set rain cover density.
* @type {Number}
* @default 0.75
* @public
*/
get coverDensity() {
return this.resource.getCoverDensity();
}
set coverDensity(value) {
this.resource.setCoverDensity(value);
}
/**
* Get/Set rain cover size.
* @type {Number}
* @default 5.0
* @public
*/
get coverSize() {
return this.resource.getCoverSize();
}
set coverSize(value) {
this.resource.setCoverSize(value);
}
/**
* Get/Set rain cover speed.
* @type {Number}
* @default 1.0
* @public
*/
get coverSpeed() {
return this.resource.getCoverSpeed();
}
set coverSpeed(value) {
this.resource.setCoverSpeed(value);
}
/**
* Set rain cover texture.
* @type {ImageTextureResource}
* @default null
* @public
*/
set coverTexture(imageTexture) {
this.resource.setCoverTexture(imageTexture.getTextureResource());
}
// #endregion
}
export { RainEffect }