import * as React from "react"; import { Observable } from "babylonjs/Misc/observable"; import { BaseTexture } from "babylonjs/Materials/Textures/baseTexture"; import { PBRMaterial } from "babylonjs/Materials/PBR/pbrMaterial"; import { PropertyChangedEvent } from "../../../../propertyChangedEvent"; import { LineContainerComponent } from "../../../lineContainerComponent"; import { Color3LineComponent } from "../../../lines/color3LineComponent"; import { CheckBoxLineComponent } from "../../../lines/checkBoxLineComponent"; import { SliderLineComponent } from "../../../lines/sliderLineComponent"; import { CommonMaterialPropertyGridComponent } from "./commonMaterialPropertyGridComponent"; import { TextureLinkLineComponent } from "../../../lines/textureLinkLineComponent"; import { LockObject } from "../lockObject"; interface IPBRMaterialPropertyGridComponentProps { material: PBRMaterial; lockObject: LockObject; onSelectionChangedObservable?: Observable; onPropertyChangedObservable?: Observable; } export class PBRMaterialPropertyGridComponent extends React.Component { constructor(props: IPBRMaterialPropertyGridComponentProps) { super(props); } renderTextures(onDebugSelectionChangeObservable: Observable) { const material = this.props.material; if (material.getActiveTextures().length === 0) { return null; } return ( ); } render() { const material = this.props.material; const onDebugSelectionChangeObservable = new Observable(); return (
{this.renderTextures(onDebugSelectionChangeObservable)} { material.bumpTexture && } { material.ambientTexture && } { material.reflectionTexture && }
); } }