UNPKG

cocos-html-pack-3d

Version:

Single html web mobile template for Cocos verions 2.x

115 lines (114 loc) 4.58 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Reader = void 0; var fs = __importStar(require("fs")); var path = __importStar(require("path")); var Util_1 = require("./Util"); // Encode to base64 for these files var kBinaryFormat = { '.webp': 'data:image/webp;base64,', '.png': 'data:image/png;base64,', '.jpg': 'data:image/jpeg;base64,', '.mp3': '', '.mp4': 'data:video/mp4;base64,', '.ttf': '', '.plist': '', '.bin': '' }; // index.html var kPathHTML = 'index.html'; var kPathHTML_Ironsource = 'ironsource.html'; var kPathHTML_Vungle = 'vungle.html'; // style-desktop.css var kPathStyleDesktop = 'style-desktop.css'; // style-mobile.css var kPathStyleMobile = 'style-mobile.css'; // assets var kPathAssets = 'assets'; // settings.json var kPathSetting = path.join('src', 'settings.js'); // cocos2d-js-min.js var kPathEngineJS = 'cocos2d-js-min.js'; // assets/internal/index.js var kPathInternalJS = path.join(kPathAssets, 'internal', 'index.js'); // main.js var kPathMainJS = 'main.js'; // assets/main/index.js var kPathJS = path.join(kPathAssets, 'main', 'index.js'); //physic-js.min.js var kPathPhysicJS = 'physics-min.js'; var Reader = /** @class */ (function () { function Reader(platform) { if (platform === void 0) { platform = 'web-mobile'; } this._platform = platform; } Reader.prototype.read = function (filename) { // Read the file var data = fs.readFileSync(filename); // Get extension var ext = path.extname(filename); // Is binary file? if (Object.getOwnPropertyDescriptor(kBinaryFormat, ext)) { return "" + kBinaryFormat[ext] + data.toString('base64'); } // Plain text return data.toString('utf-8'); }; Reader.prototype.readAll = function (dir, _vendor) { // Get all scripts + assets files var filenames = []; var assetsDir = path.join(dir, kPathAssets); Util_1.Util.walk(filenames, assetsDir); var assets = {}; for (var _i = 0, filenames_1 = filenames; _i < filenames_1.length; _i++) { var filename = filenames_1[_i]; var ext = path.extname(filename); if (ext === '.js') { continue; } var key = filename.replace("" + assetsDir + path.sep, ''); if (path.sep === '\\') { key = key.replace(/\\/g, '/'); // replaceAll not supports } var value = this.read(filename); assets[key] = value; } // let indexIronsource = this._vendors.indexOf("ironsource"); // let indexVungle = this._vendors.indexOf("vungle"); var _html = _vendor == 'ironsource' ? this.read(path.join(dir, kPathHTML_Ironsource)) : _vendor == 'vungle' ? this.read(path.join(dir, kPathHTML_Vungle)) : this.read(path.join(dir, kPathHTML)); return { html: _html, style: this._platform === 'web-desktop' ? this.read(path.join(dir, kPathStyleDesktop)) : this.read(path.join(dir, kPathStyleMobile)), assets: assets, settings: this.read(path.join(dir, kPathSetting)), engineJS: this.read(path.join(dir, kPathEngineJS)), physicJS: this.read(path.join(dir, kPathPhysicJS)), internalJS: this.read(path.join(dir, kPathInternalJS)), mainJS: this.read(path.join(dir, kPathMainJS)), js: this.read(path.join(dir, kPathJS)), }; }; return Reader; }()); exports.Reader = Reader;