12345678910111213141516171819202122232425262728293031323334353637 |
- import * as React from "react";
- import { Observable } from "babylonjs/Misc/observable";
- import { GlobalState } from '../../../../globalState';
- import { PropertyChangedEvent } from '../../../../propertyChangedEvent';
- import { SliderLineComponent } from '../../../lines/sliderLineComponent';
- import { FloatLineComponent } from '../../../lines/floatLineComponent';
- import { LockObject } from '../lockObject';
- import { HemisphericParticleEmitter } from 'babylonjs/Particles/EmitterTypes/hemisphericParticleEmitter';
- interface IHemisphericEmitterGridComponentProps {
- globalState: GlobalState;
- emitter: HemisphericParticleEmitter,
- lockObject: LockObject,
- replaySourceReplacement?: string,
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>
- }
- export class HemisphericEmitterGridComponent extends React.Component<IHemisphericEmitterGridComponentProps> {
- constructor(props: IHemisphericEmitterGridComponentProps) {
- super(props);
- }
- render() {
- let emitter = this.props.emitter;
- return (
- <>
- <FloatLineComponent replaySourceReplacement={this.props.replaySourceReplacement} lockObject={this.props.lockObject} label="Radius" target={emitter} propertyName="radius" onPropertyChangedObservable={this.props.onPropertyChangedObservable} />
- <SliderLineComponent replaySourceReplacement={this.props.replaySourceReplacement} label="Radius range" target={emitter} propertyName="radiusRange" minimum={0} maximum={1} step={0.01}
- onPropertyChangedObservable={this.props.onPropertyChangedObservable} />
- <SliderLineComponent replaySourceReplacement={this.props.replaySourceReplacement} label="Direction randomizer" target={emitter} propertyName="directionRandomizer" minimum={0} maximum={1} step={0.01}
- onPropertyChangedObservable={this.props.onPropertyChangedObservable} />
- </>
- );
- }
- }
|