123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- "use strict";
- cc._RF.push(module, '1449fkzcOdM56lBuZtJ2wlZ', 'Facade');
- // lightMVC/core/Facade.ts
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.Facade = void 0;
- var ViewManager_1 = require("./manager/ViewManager");
- var Constants_1 = require("./Constants");
- var CommandManager_1 = require("./manager/CommandManager");
- var ModelManager_1 = require("./manager/ModelManager");
- var FrameworkCfg_1 = require("./FrameworkCfg");
- var Facade = /** @class */ (function () {
- function Facade() {
- }
- Facade.getInstance = function () {
- return this._instance;
- };
- /**
- * 初始化框架配置
- * @param {boolean} debug 是否是调试状态
- * @param {cc.Size} designResolution 设计分辨率
- * @param {boolean} fitHeight 是否高适配
- * @param {boolean} fitWidth 是否宽适配
- */
- Facade.prototype.init = function (debug, designResolution, fitHeight, fitWidth) {
- if (Facade._isInit) {
- console.warn("框架已经初始化,不需要重复初始化。");
- return;
- }
- Facade._isInit = true;
- FrameworkCfg_1.default.DEBUG = debug;
- FrameworkCfg_1.default.DESIGN_RESOLUTION = designResolution;
- FrameworkCfg_1.default.FIT_HEIGHT = fitHeight;
- FrameworkCfg_1.default.FIT_WIDTH = fitWidth;
- };
- /**
- * 运行场景
- * @param {{new(): BaseMediator}} mediator 场景mediator类型,类类型。
- * @param {{new(): BaseScene}} view 场景mediator类型,类类型。
- * @param {Object} data 自定义的任意类型透传数据。(可选)
- * @param {()=>void} cb 加载完成回调.
- */
- Facade.prototype.runScene = function (mediator, view, data, cb) {
- if (Facade._isInit) {
- ViewManager_1.ViewManager.getInstance().__runScene__(mediator, view, data, cb);
- }
- else {
- console.warn("框架没有初始化,请先调用init接口进行初始化。");
- }
- };
- Facade.prototype.loadTexture = function (name) {
- return new Promise(function (resolve) {
- var viewPathList = name.split('/');
- var bundleRes = viewPathList[0];
- var viewPath = "";
- for (var i = 1; i < viewPathList.length; i++) {
- if (i < viewPathList.length - 1) {
- viewPath += viewPathList[i] + "/";
- }
- else {
- viewPath += viewPathList[i];
- }
- }
- // console.log("loadTexture: ",viewPath);
- cc.assetManager.loadBundle(bundleRes, function (err, bundle) {
- bundle.load(viewPath, cc.SpriteFrame, function (err, spriteFrame) {
- if (err) {
- console.log("err", err);
- }
- else {
- resolve(spriteFrame);
- }
- });
- });
- });
- };
- /**
- * 运行分包场景
- * @param bundleRes 分包名
- * @param sceneName 场景名
- * @param progress 加载进度
- * @param cb 加载成功回调
- */
- Facade.prototype.runBundleScene = function (bundleRes, sceneName, progress) {
- var _this = this;
- cc.assetManager.loadBundle(bundleRes, function (err, bundle) {
- if (progress) {
- bundle.preloadScene(sceneName, progress.bind(_this), function (res) {
- cc.director.loadScene(sceneName);
- });
- }
- else {
- cc.director.loadScene(sceneName);
- }
- });
- };
- /**
- * 返回上一场景
- * @returns {boolean}是否存在上一个场景
- */
- Facade.prototype.backScene = function () {
- return ViewManager_1.ViewManager.getInstance().__backScene__();
- };
- /**
- * 打开view界面,弹出界面
- * @param {{new(): BaseMediator}} mediator 界面mediator类型,类类型。
- * @param {{new(): BaseView}} view view 场景mediator类型,类类型。
- * @param {Object} data 自定义的任意类型透传数据。(可选)
- * @param {boolean} hasShowBlackBg 弹框是否有黑色背景(可选)
- * @param {()=>void} cb 加载完成回调.
- */
- Facade.prototype.popView = function (mediator, view, data, hasShowBlackBg, cb) {
- if (hasShowBlackBg === void 0) { hasShowBlackBg = false; }
- ViewManager_1.ViewManager.getInstance().__showView__(mediator, view, data, Constants_1.OPEN_VIEW_OPTION.OVERLAY, 0, cb, hasShowBlackBg);
- };
- /**
- * 创建view层,此接口用于初始不会被关闭和再次打开的常驻界面,所以它也不会受到pooView影响和管理。
- * @param {{new(): BaseMediator}} mediator 界面mediator类型,类类型。
- * @param {{new(): BaseView}} view view 场景mediator类型,类类型。
- * @param {number} zOrder ui层级
- * @param {Object} data 自定义的任意类型透传数据。(可选)
- * @param {boolean} hasShowBlackBg 弹框是否有黑色背景(可选)
- * @param {()=>void} cb 加载完成回调.
- */
- Facade.prototype.addLayer = function (mediator, view, zOrder, data, hasShowBlackBg, cb) {
- if (hasShowBlackBg === void 0) { hasShowBlackBg = false; }
- ViewManager_1.ViewManager.getInstance().__showView__(mediator, view, data, Constants_1.OPEN_VIEW_OPTION.LAYER, zOrder, cb, hasShowBlackBg);
- };
- /**
- * 撤销命令
- * @param {{new (): BaseCommand}} command 命令对象
- * @param {Object} body 命令参数
- */
- Facade.prototype.__undoCommand__ = function (command, body) {
- CommandManager_1.default.getInstance().__undoCommand__(command, body);
- };
- /**
- * 注册数据model
- * @param {{new (): BaseModel}} model
- */
- Facade.prototype.registerModel = function (model) {
- ModelManager_1.default.getInstance().registerModel(model);
- };
- /**
- * 获取model对象
- * @param {{new (): BaseModel}} model
- */
- Facade.prototype.getModel = function (model) {
- return ModelManager_1.default.getInstance().getModel(model);
- };
- /** 实例对象 */
- Facade._instance = new Facade();
- /** 框架是否被初始化 */
- Facade._isInit = false;
- return Facade;
- }());
- exports.Facade = Facade;
- /** 导入到全局属性mvc中的对外接口和属性等api */
- (window).mvc = {
- appFacade: Facade.getInstance(),
- };
- cc._RF.pop();
|