UNPKG

@yannichock/react-minecraft-skin-viewer

Version:
89 lines (80 loc) 2.2 kB
function _interopNamespace(e) { if (e && e.__esModule) { return e; } else { var n = {}; if (e) { Object.keys(e).forEach(function (k) { var d = Object.getOwnPropertyDescriptor(e, k); Object.defineProperty(n, k, d.get ? d : { enumerable: true, get: function () { return e[k]; } }); }); } n['default'] = e; return n; } } var React; var SkinViewer; new Promise(function (resolve) { resolve(_interopNamespace(require('react'))); }).then(function (DReact) { React = DReact; }); new Promise(function (resolve) { resolve(_interopNamespace(require('skinview3d'))); }).then(function (DSkinViewer) { SkinViewer = DSkinViewer; }); var defaultProps = { walk: false, control: true, rotate: false }; var MinecraftSkinViewer = function MinecraftSkinViewer(_ref) { var skin = _ref.skin, width = _ref.width, height = _ref.height, walk = _ref.walk, rotate = _ref.rotate, control = _ref.control, zoom = _ref.zoom, background = _ref.background; var canvas = React.useRef(null); React.useLayoutEffect(function () { var skinViewer = new SkinViewer({ skin: skin, width: width, height: height, canvas: canvas.current }); var viewerControl; if (background === 'transparent') { skinViewer.renderer.setClearColor(0xffffff, 0); } else { skinViewer.background = background; } if (control) { viewerControl = createOrbitControls(skinViewer); viewerControl.enablePan = false; viewerControl.enableZoom = zoom; viewerControl.enableRotate = true; } if (walk) { skinViewer.animations.add(WalkingAnimation); } if (rotate) { skinViewer.animations.add(RotatingAnimation); } return function () { if (control) { viewerControl.dispose(); } skinViewer.dispose(); }; }, [skin, width, height, control, walk, background]); return React.createElement("canvas", { ref: canvas }); }; MinecraftSkinViewer.defaultProps = defaultProps; exports.MinecraftSkinViewer = MinecraftSkinViewer; //# sourceMappingURL=index.js.map