pointEmitterGridComponent.tsx 1.4 KB

12345678910111213141516171819202122232425262728293031323334
  1. import * as React from "react";
  2. import { Observable } from "babylonjs/Misc/observable";
  3. import { GlobalState } from '../../../../globalState';
  4. import { PropertyChangedEvent } from '../../../../propertyChangedEvent';
  5. import { LockObject } from '../../../../../sharedUiComponents/tabs/propertyGrids/lockObject';
  6. import { PointParticleEmitter } from 'babylonjs/Particles/EmitterTypes/pointParticleEmitter';
  7. import { Vector3LineComponent } from '../../../lines/vector3LineComponent';
  8. interface IPointEmitterGridComponentProps {
  9. globalState: GlobalState;
  10. emitter: PointParticleEmitter,
  11. lockObject: LockObject,
  12. onPropertyChangedObservable?: Observable<PropertyChangedEvent>
  13. }
  14. export class PointEmitterGridComponent extends React.Component<IPointEmitterGridComponentProps> {
  15. constructor(props: IPointEmitterGridComponentProps) {
  16. super(props);
  17. }
  18. render() {
  19. let emitter = this.props.emitter;
  20. return (
  21. <>
  22. <Vector3LineComponent label="Direction 1" target={emitter} propertyName="direction1"
  23. onPropertyChangedObservable={this.props.onPropertyChangedObservable} />
  24. <Vector3LineComponent label="Direction 2" target={emitter} propertyName="direction2"
  25. onPropertyChangedObservable={this.props.onPropertyChangedObservable} />
  26. </>
  27. );
  28. }
  29. }