Files

459 lines
11 KiB
JavaScript
Raw Permalink Normal View History

2026-05-24 10:21:26 +08:00
"use strict";
cc._RF.push(module, '21bf1N9ymBHXq3/l7TT8lsi', 'nx.misc');
// Scripts/nx/kernel/nx.misc.js
"use strict";
/*******************************************************************************
*
* Nx杂项方法
*
*
*
* 2021.12.10
******************************************************************************/
var NxDefine = require("nx.define");
var NxObject = require("nx.object");
// 全局方法注入
var importNxFuncs = function importNxFuncs() {
// =========================================================================
//
// 日志快捷接口
//
// =========================================================================
nx.debug = function (key) {
var _nx$logger;
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key2 = 1; _key2 < _len; _key2++) {
args[_key2 - 1] = arguments[_key2];
}
(_nx$logger = nx.logger).debug.apply(_nx$logger, [key].concat(args));
};
nx.info = function (key) {
var _nx$logger2;
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key3 = 1; _key3 < _len2; _key3++) {
args[_key3 - 1] = arguments[_key3];
}
(_nx$logger2 = nx.logger).info.apply(_nx$logger2, [key].concat(args));
};
nx.warn = function (key) {
var _nx$logger3;
for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key4 = 1; _key4 < _len3; _key4++) {
args[_key4 - 1] = arguments[_key4];
}
(_nx$logger3 = nx.logger).warn.apply(_nx$logger3, [key].concat(args));
};
nx.error = function (key) {
var _nx$logger4;
for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key5 = 1; _key5 < _len4; _key5++) {
args[_key5 - 1] = arguments[_key5];
}
(_nx$logger4 = nx.logger).error.apply(_nx$logger4, [key].concat(args));
};
// =========================================================================
//
// 消息提示快捷接口[外部重载]
//
// =========================================================================
// 警告框
nx.alert = function (_text, _key, _cb) {
if (!nx.msgUI) {
alert(_text || "");
return;
}
_key = _key || "confirm";
nx.mbox(_text, [_key], _cb);
};
// 确认框
nx.mbox = function (_text, _keys, _cb, _tag) {
if (!nx.msgUI) {
var ret = confirm(_text);
_cb && _cb(ret ? "yes" : "no");
return;
}
// 选项参数补全
if (nx.dt.arrEmpty(_keys)) {
_keys = ['ok'];
}
// 弹窗
nx.msgUI.popBox(_text, _keys, _cb, _tag);
};
// 轻态提示
nx.tbox = function (_text) {
if (!nx.msgUI) {
nx.debug(_text);
return;
}
nx.msgUI.popTip(_text || "");
};
// 跑马灯提示
nx.marquee = function (_text, _times) {
if (_times === void 0) {
_times = 1;
}
if (nx.msgUI) {
nx.msgUI.marquee(_text, _times);
}
};
// =========================================================================
//
// 错误对象操作
// { code: 0, desc: "" }
// =========================================================================
// 生成一个错误
nx.genError = function (_code, _desc, _log) {
if (_log === void 0) {
_log = false;
}
if (_code == null || _code == undefined) {
nx.error("无效错误");
}
var err = _code == 0 ? null : {
code: _code,
desc: _desc || "Error" + _code
};
// 打印输出
if (err && _log) {
nx.error(nx.fmtError(err));
}
return err;
};
// 文本化错误
nx.fmtError = function (_e) {
if (!_e) return "";
var key = _e.desc || "Error" + _e.code;
return nx.text.getKey(key);
};
// 错误轻态提示
nx.tipError = function (_e) {
if (_e) {
nx.tbox(_e.desc || "Error" + _e.code);
}
};
// 错误弹窗提示
nx.boxError = function (_e) {
if (_e) {
nx.mbox(_e.desc || "Error" + _e.code);
}
};
// =========================================================================
//
// 窗口快捷接口
//
// =========================================================================
// 预加载窗口
nx.preloadWindow = function (_rkey, _cb) {
nx.error("方法暂未实现!");
// // 解析键
// let args = nx.res.decodeRK( _rkey );
// if( args.bundle == "" || args.bundle == 'resources' ) {
// nx.wndMgr.preloadWnd( args.path, _cb );
// return;
// }
// // 外包需先走包加载
// nx.res.loadBundle( args.bundle, ( _e, _p ) => {
// if( _e ) {
// nx.dt.fnInvoke( _cb, _e );
// return;
// }
// nx.wndMgr.preloadWnd( args.path, _cb );
// } );
};
// 新建窗口
nx.createWindow = function (_rkey, _cb, _args, _showWait) {
nx.error("方法暂未实现!");
// // 解析键
// let args = nx.res.decodeRK( _rkey );
// if( _rkey.indexOf( '|' ) > 0 && args.bundle != 'resources' ) {
// // 外包需先走包加载
// nx.res.loadBundle( args.bundle, ( _e, _p ) => {
// if( _e ) {
// nx.dt.fnInvoke( _cb, _e );
// return;
// }
// nx.createWindow( args.path, _cb, _args, _showWait );
// } );
// return;
// }
// // 如果在新建队列,则忽略
// nx.createQueue = nx.createQueue || [];
// if( nx.dt.arrMember( nx.createQueue, args.path ) ) {
// nx.error( nx.text.getKey( "ErrRepeatCreateWnd" ) + args.path );
// nx.dt.fnInvoke( _cb, nx.genError( ERR.COM.RepeatCreateInst ) );
// return;
// }
// // 创建
// nx.createQueue.push( _rkey );
// nx.wndMgr.create( args.path, _args, ( _e, _p ) => {
// nx.dt.arrDelete( nx.createQueue, ( _t ) => {
// return _t == _rkey;
// }, true );
// nx.dt.fnInvoke( _cb, _e, _p );
// }, _showWait );
};
// 查找窗口
nx.findWindow = function (_wid) {
nx.error("方法暂未实现!");
// let wnd = nx.wndMgr.find( _wid );
// return wnd ? wnd.wcmp : null;
};
// 关闭窗口
nx.closeWindow = function (_wid) {
nx.error("方法暂未实现!");
// nx.wndMgr.close( _wid );
};
// 关闭全部窗口
nx.closeWindowAll = function (_incmain) {
nx.error("方法暂未实现!");
// nx.wndMgr.closeAll( _incmain );
};
// =========================================================================
//
// 场景快捷接口
//
// =========================================================================
// 预加载场景
nx.preloadScene = function (_rkey, _cb) {
nx.error("方法暂未实现!");
// // 解析键
// let args = nx.res.decodeRK( _rkey );
// if( args.bundle == "" || args.bundle == 'resources' ) {
// nx.sceneMgr.preloadScene( args.path, _cb );
// return;
// }
// // 外包需先走包加载
// nx.res.loadBundle( args.bundle, ( _e, _p ) => {
// if( _e ) {
// nx.dt.fnInvoke( _cb, _e );
// return;
// }
// nx.sceneMgr.preloadScene( args.path, _cb );
// } );
};
// 新建场景
nx.createScene = function (_rkey, _cb, _args, _showWait) {
nx.error("方法暂未实现!");
// // 解析键
// let args = nx.res.decodeRK( _rkey );
// if( _rkey.indexOf( '|' ) > 0 && args.bundle != 'resources' ) {
// // 外包需先走包加载
// nx.res.loadBundle( args.bundle, ( _e, _p ) => {
// if( _e ) {
// nx.dt.fnInvoke( _cb, _e );
// return;
// }
// nx.createScene( args.path, _cb, _args, _showWait );
// } );
// return;
// }
// // 如果在新建队列,则忽略
// nx.createQueue = nx.createQueue || [];
// if( nx.dt.arrMember( nx.createQueue, args.path ) ) {
// nx.error( nx.text.getKey( "ErrRepeatCreateScene" ) + args.path );
// nx.dt.fnInvoke( _cb, nx.genError( ERR.COM.RepeatCreateInst ) );
// return;
// }
// // 创建
// nx.createQueue.push( _rkey );
// nx.sceneMgr.create( args.path, _args, ( _e, _p ) => {
// nx.dt.arrDelete( nx.createQueue, ( _t ) => {
// return _t == _rkey;
// }, true );
// nx.dt.fnInvoke( _cb, _e, _p );
// }, _showWait );
};
// 查找场景
nx.getScene = function () {
return nx.sceneMgr.getScene();
};
// 关闭场景
nx.closeScene = function () {
nx.sceneMgr.close();
};
// =========================================================================
//
// 本地化快捷接口
//
// =========================================================================
// 获取当前系统语言
nx.getLocLanguage = function () {
return nx.frame.vget("LocalLanguage");
};
// 改变当前系统语言
nx.setLocLanguage = function (_lcode) {
if (nx.dt.strEmpty(_lcode)) {
nx.error("[语言]设定失败,无效参数.");
return;
}
var old = nx.getLocLanguage();
if (old != _lcode) {
nx.frame.vset("LocalLanguage", _lcode);
nx.storage.set(NxDefine.LK_Language, _lcode);
nx.debug("[语言]改变:", _lcode);
}
};
// 获取当前方言
nx.getLocVoice = function () {
return nx.frame.vget("LocalVoice");
};
// 设置当前方言
nx.setLocVoice = function (_vtype) {
if (nx.dt.strEmpty(_vtype)) {
nx.error("[方言]设定失败,无效参数.");
return;
}
nx.frame.vset("LocalVoice", _vtype);
nx.storage.set("LKUsedLocVoice", _vtype);
nx.debug("[方言]更变:", _vtype);
};
// =========================================================================
//
// 系统快捷接口
//
// =========================================================================
// [外部重载] 退出
nx.appQuit = function (_text, _tag) {
nx.warn("请外部重载!");
// cc.director.end();
cc.game.end();
};
// 游戏重启
nx.restart = function () {
// SP:桥接模块清理一下
if (nx && nx.bridge && nx.bridge.mods) {
nx.bridge.mods.uninstallAll();
}
cc.audioEngine.stopAll();
cc.game.restart();
};
// 提示重启
nx.tipRestart = function (_msg) {
_msg = _msg || "ErrUnknown";
nx.mbox(_msg, ["retry"], function (_key, _box) {
nx.restart();
});
};
// 获取当前平台
nx.getPlatform = function () {
var pt = "unknown";
switch (cc.sys.os) {
case cc.sys.OS_ANDROID:
pt = "android";
break;
case cc.sys.OS_IOS:
case cc.sys.OS_OSX:
pt = "ios";
break;
default:
break;
}
if (cc.sys.isBrowser) {
pt += "-web";
}
return pt;
};
// 控制台输出指定对象的指定类型成员
nx.dumpMembers = function (_object, _typename) {
if (!_object) {
console.log("空对象!");
return;
}
var count = 0;
for (var k in _object) {
var ele = _object[k];
if (!_typename || typeof ele == _typename) {
console.log("[%s]member(%d):%s", _typename || "all", ++count, k);
}
}
};
};
var NxMisc = cc.Class({
"extends": NxObject,
name: "NxMisc",
// 初始化
initialize: function initialize(_args) {
// USPER
if (!this._super(_args)) {
return false;
}
// 注入
importNxFuncs();
return true;
},
// 销毁
uninitialize: function uninitialize() {
// USPER
return this._super();
}
});
// 模块导出
module.exports = NxMisc;
cc._RF.pop();