@wiicamp/react-minecraft-skin-viewer
Version:
Minecraft skin viewer for ReactJS
56 lines (48 loc) • 1.48 kB
JavaScript
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
var React = _interopDefault(require('react'));
var skinview3d = require('skinview3d');
var defaultProps = {
walk: false,
control: true
};
var MinecraftSkinViewer = function MinecraftSkinViewer(_ref) {
var skin = _ref.skin,
width = _ref.width,
height = _ref.height,
walk = _ref.walk,
control = _ref.control,
background = _ref.background;
var canvas = React.useRef(null);
React.useLayoutEffect(function () {
var skinViewer = new skinview3d.SkinViewer({
skin: skin,
width: width,
height: height,
background: background,
canvas: canvas.current
});
var viewerControl;
if (control) {
viewerControl = skinview3d.createOrbitControls(skinViewer);
viewerControl.enablePan = false;
viewerControl.enableZoom = true;
viewerControl.enableRotate = true;
}
if (walk) {
skinViewer.animations.add(skinview3d.WalkingAnimation);
}
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;
exports.defaultProps = defaultProps;
//# sourceMappingURL=index.js.map