tweak viewer component
This commit is contained in:
parent
210244f5b4
commit
aa1ce17351
|
|
@ -7,7 +7,7 @@ import SkinSteve from '../../../misc/textures/steve.png'
|
||||||
interface Props {
|
interface Props {
|
||||||
skin?: string
|
skin?: string
|
||||||
cape?: string
|
cape?: string
|
||||||
model?: 'steve' | 'alex'
|
isAlex?: boolean
|
||||||
showIndicator?: boolean
|
showIndicator?: boolean
|
||||||
initPositionZ?: number
|
initPositionZ?: number
|
||||||
}
|
}
|
||||||
|
|
@ -57,8 +57,8 @@ const Viewer: React.FC<Props> = props => {
|
||||||
domElement: container,
|
domElement: container,
|
||||||
width: container.clientWidth,
|
width: container.clientWidth,
|
||||||
height: container.clientHeight,
|
height: container.clientHeight,
|
||||||
skinUrl: props.skin ?? SkinSteve,
|
skinUrl: props.skin || SkinSteve,
|
||||||
capeUrl: props.cape ?? '',
|
capeUrl: props.cape || '',
|
||||||
detectModel: false,
|
detectModel: false,
|
||||||
})
|
})
|
||||||
viewer.camera.position.z = props.initPositionZ!
|
viewer.camera.position.z = props.initPositionZ!
|
||||||
|
|
@ -90,20 +90,26 @@ const Viewer: React.FC<Props> = props => {
|
||||||
}
|
}
|
||||||
}, [reset])
|
}, [reset])
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
return () => {
|
||||||
|
stuffRef.current.firstRun = true
|
||||||
|
}
|
||||||
|
}, [])
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const viewer = viewRef.current
|
const viewer = viewRef.current
|
||||||
viewer.skinUrl = props.skin ?? SkinSteve
|
viewer.skinUrl = props.skin || SkinSteve
|
||||||
}, [props.skin])
|
}, [props.skin])
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const viewer = viewRef.current
|
const viewer = viewRef.current
|
||||||
viewer.capeUrl = props.cape ?? ''
|
viewer.capeUrl = props.cape || ''
|
||||||
}, [props.cape])
|
}, [props.cape])
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const viewer = viewRef.current
|
const viewer = viewRef.current
|
||||||
viewer.playerObject.skin.slim = props.model === 'alex'
|
viewer.playerObject.skin.slim = !!props.isAlex
|
||||||
}, [props.model])
|
}, [props.isAlex])
|
||||||
|
|
||||||
const togglePause = () => {
|
const togglePause = () => {
|
||||||
setPaused(paused => !paused)
|
setPaused(paused => !paused)
|
||||||
|
|
@ -176,7 +182,6 @@ const Viewer: React.FC<Props> = props => {
|
||||||
}
|
}
|
||||||
|
|
||||||
Viewer.defaultProps = {
|
Viewer.defaultProps = {
|
||||||
model: 'steve',
|
|
||||||
initPositionZ: 70,
|
initPositionZ: 70,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user