UNPKG

@oppo-minigame/cli

Version:

Command line interface for rapid OPPO minigame development

125 lines (110 loc) 3.85 kB
window['qg'].setIsUnityGame(true); const xgame = qg; require("ral.js"); const _onWindowResize = xgame.onWindowResize; ral.getSystemInfoSync = function () { let systemInfo = xgame.getSystemInfoSync(); systemInfo.windowHeight = systemInfo.windowHeight * systemInfo.pixelRatio; systemInfo.windowWidth = systemInfo.windowWidth * systemInfo.pixelRatio; systemInfo.screenHeight = systemInfo.windowHeight * systemInfo.pixelRatio; systemInfo.screenWidth = systemInfo.windowWidth * systemInfo.pixelRatio; systemInfo.pixelRatio = 1; return systemInfo; }; require("web-adapter.js"); function _createProperty(value) { let _value = value; function _get() { return _value; } function _set(v) { _value = v; } return { "get": _get, "set": _set }; } function _makePropertyWritable(objBase, objScopeName, propName, initValue) { let newProp, initObj; if (objBase && objScopeName in objBase && propName in objBase[objScopeName]) { if(typeof initValue === "undefined") { initValue = objBase[objScopeName][propName]; } newProp = _createProperty(initValue); try { Object.defineProperty(objBase[objScopeName], propName, newProp); } catch (e) { initObj = {}; initObj[propName] = newProp; try { objBase[objScopeName] = Object.create(objBase[objScopeName], initObj); } catch (e) { // Workaround, but necessary to overwrite native host objects } } } } _makePropertyWritable( window, "navigator", "userAgent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.193 Safari/537.36" ); _makePropertyWritable( window, "navigator", "appVersion", "5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.193 Safari/537.36" ); _makePropertyWritable( window, "navigator", "appName", "Netscape" ); let _oldCreateElement = document.createElement; let _webglCanvas = null; document.createElement = function (name) { name = name.toLowerCase(); if (name === "canvas") { let node = _oldCreateElement(name); if (!_webglCanvas) { _webglCanvas = node; } else { let oldGetContext = node.getContext.bind(node); node.getContext = function (name, opts) { if (name === "webgl" || name === "experimental-webgl" || name === "webgl2" || name === "experimental-webgl2") { return _webglCanvas.getContext(name, opts); } else { return oldGetContext(name, opts); } }; } return node; } return _oldCreateElement(name); }; const ENVIRONMENT_IS_PTHREAD = true; document.URL = "http://localhost/"; let _div = document.createElement("div"); document.body.appendChild(_div); let _unityContainer = document.createElement("div"); _unityContainer.id = "unityContainer"; _div.appendChild(_unityContainer); let _onScreenCanvas = document.createElement("canvas"); _unityContainer.appendChild(_onScreenCanvas); var manifestStr = qg.getFileSystemManager().readFileSync("../manifest.json", "utf8"); var isUnityUseWebGL2 = JSON.parse(manifestStr).unityUseWebGL2 if (!isUnityUseWebGL2) { let _gl = _onScreenCanvas.getContext("webgl2"); if (!_gl) { _gl = _onScreenCanvas.getContext("experimental-webgl2"); if (!_gl) { _gl = _onScreenCanvas.getContext("webgl"); if (!_gl) { _gl = _onScreenCanvas.getContext("experimental-webgl"); } } } }