import React from 'react' import { useTranslation } from 'react-i18next' import { BackSide, DoubleSide, FrontSide } from 'three' import { getComponent, useComponent } from '@xrengine/engine/src/ecs/functions/ComponentFunctions' import { ImageAlphaMode, ImageProjection } from '@xrengine/engine/src/scene/classes/ImageUtils' import { ImageComponent } from '@xrengine/engine/src/scene/components/ImageComponent' import InputGroup from '../inputs/InputGroup' import NumericInputGroup from '../inputs/NumericInputGroup' import SelectInput from '../inputs/SelectInput' import { EditorComponentType, updateProperty } from './Util' const mapValue = (v) => ({ label: v, value: v }) const imageProjectionOptions = Object.values(ImageProjection).map(mapValue) const imageTransparencyOptions = Object.values(ImageAlphaMode).map(mapValue) const ImageProjectionSideOptions = [ { label: 'Front', value: FrontSide }, { label: 'Back', value: BackSide }, { label: 'Both', value: DoubleSide } ] export const ImageSourceProperties: EditorComponentType = (props) => { const { t } = useTranslation() const imageComponent = useComponent(props.entity, ImageComponent) return ( <> {t('editor:properties.image.info-transparency')}
{t('editor:properties.image.info-opaque')}
{t('editor:properties.image.info-blend')}
{t('editor:properties.image.info-mask')}
} >
{imageComponent.alphaMode.value === ImageAlphaMode.Mask && ( )} ) } export default ImageSourceProperties