web3d
Version:
MetaEditor — ReactJS Pixel Streaming library, helps integrate Unreal Engine v.5 in the browser. Allows you to send commands and get callbacks from the stream server with launched Unreal Engine.
1 lines • 1.21 kB
JavaScript
;var React=_interopRequireWildcard(require("react"));Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=useTrigger;function _getRequireWildcardCache(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(_getRequireWildcardCache=function(a){return a?c:b})(a)}function _interopRequireWildcard(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=_getRequireWildcardCache(b);if(c&&c.has(a))return c.get(a);var d={},e=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in a)if("default"!=f&&Object.prototype.hasOwnProperty.call(a,f)){var g=e?Object.getOwnPropertyDescriptor(a,f):null;g&&(g.get||g.set)?Object.defineProperty(d,f,g):d[f]=a[f]}return d.default=a,c&&c.set(a,d),d}function useTrigger({onCommand:a,onCallback:b,onDebug:c}){React.useEffect(()=>{const d=Object.entries({metaeditor_command:a,metaeditor_callback:b,metaeditor_debug:c}).map(([a,b])=>({key:a,func:b}));for(let a of d)"function"==typeof a.func&&document.addEventListener(a.key,({detail:b})=>{a.func(b)});return()=>{for(let a of d)"function"==typeof a.func&&document.removeEventListener(a.key,a.func)}},[])}