"use strict"; cc._RF.push(module, '37e453kd+9NootkiTIzAXZw', 'nx.vb.base'); // Scripts/nx/cmp/vbs/nx.vb.base.js "use strict"; /****************************************************************** * Copyright(C) 2019 - 2020 Nx Studio * * 视图绑定组件--基类 * * 2018.05.18 ******************************************************************/ // 可绑定的类型 var BindType = cc.Enum({ None: 0, // 无 Frame: 1, // 框架 // Account : 2, // 账号 // Role : 3, // Role // Client : 4, // 客户端 // Game : 5, // 子游戏 DotTip: 11, // 点提示 Cd: 12 // 时间cd }); cc.Class({ "extends": cc.Component, properties: { bindType: { "default": BindType.None, type: BindType, displayName: "绑定对象(标准)", tooptip: "该控件目前能监听全局存在的视图" }, bindTypeEx: { "default": "", displayName: "绑定对象(自定义)", tooptip: "自定义视图指向" } }, // 展示 onLoad: function onLoad() { // 设置扩展目标 if (!this.target) { this.setTargetEx(this.bindTypeEx); } }, // 关闭 onDestroy: function onDestroy() { // 清除监听 if (window.nx && nx.frame && this.target) { this.target.vunbind(this); this.target = null; } }, // 设定目标 setTarget: function setTarget(_tar) { // 清除监听 if (this.target) { this.target.vunbind(this); this.target = null; } // 目标更新 this.target = _tar; }, // 设置扩展目标 setTargetEx: function setTargetEx(_tkey) { this.bindTypeEx = _tkey; // 设定目标 var tar = this.getBindTarget(this.bindType, this.bindTypeEx); this.setTarget(tar); }, // 获取目标 getBindTarget: function getBindTarget(_btype, _vbd) { // 确认目标 var target = null; switch (_btype) { case BindType.Frame: target = nx.frame; break; case BindType.DotTip: target = nx.mTip; break; case BindType.Cd: target = nx.mCd; break; // case BindType.Client: target = hall; break; // case BindType.Game: target = game; break; // case BindType.Account: target = hall; break; // case BindType.Role: target = hall.mRole; break; default: break; } // VBD对象 if (!target && nx.dt.strNEmpty(_vbd)) { target = nx.views.queryBindTarget(_vbd); } return target; } }); cc._RF.pop();