cocos-html-pack-3d
Version:
Single html web mobile template for Cocos verions 2.x
115 lines (114 loc) • 4.58 kB
JavaScript
;
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;