import * as React from "react" ; import { Observable } from "babylonjs/Misc/observable" ; import { PointLight } from "babylonjs/Lights/pointLight" ; import { PropertyChangedEvent } from "../../../../propertyChangedEvent" ; import { CommonLightPropertyGridComponent } from "./commonLightPropertyGridComponent" ; import { LineContainerComponent } from "../../../../../sharedUiComponents/lines/lineContainerComponent" ; import { Color3LineComponent } from "../../../../../sharedUiComponents/lines/color3LineComponent" ; import { Vector3LineComponent } from "../../../../../sharedUiComponents/lines/vector3LineComponent" ; import { CommonShadowLightPropertyGridComponent } from "./commonShadowLightPropertyGridComponent" ; import { LockObject } from "../../../../../sharedUiComponents/tabs/propertyGrids/lockObject" ; import { GlobalState } from "../../../../globalState" ; interface IPointLightPropertyGridComponentProps { globalState : GlobalState ; light : PointLight ; lockObject : LockObject ; onPropertyChangedObservable ? : Observable < PropertyChangedEvent > ; } export class PointLightPropertyGridComponent extends React . Component < IPointLightPropertyGridComponentProps > { constructor ( props ) { super ( props ) ; } render ( ) { const light = this . props . light ; return ( < div className = "pane" > < CommonLightPropertyGridComponent globalState = { this . props . globalState } lockObject = { this . props . lockObject } light = { light } onPropertyChangedObservable = { this . props . onPropertyChangedObservable } / > < LineContainerComponent title = "SETUP" selection = { this . props . globalState } > < Color3LineComponent label = "Diffuse" target = { light } propertyName = "diffuse" onPropertyChangedObservable = { this . props . onPropertyChangedObservable } / > < Color3LineComponent label = "Specular" target = { light } propertyName = "specular" onPropertyChangedObservable = { this . props . onPropertyChangedObservable } / > < Vector3LineComponent label = "Position" target = { light } propertyName = "position" onPropertyChangedObservable = { this . props . onPropertyChangedObservable } / > < /LineContainerComponent> < CommonShadowLightPropertyGridComponent globalState = { this . props . globalState } lockObject = { this . props . lockObject } light = { light } onPropertyChangedObservable = { this . props . onPropertyChangedObservable } / > < /div>); } }