diff --git a/assets/Scene/helloworld.fire b/assets/Scene/helloworld.fire index 62291e9..d5df4ea 100644 --- a/assets/Scene/helloworld.fire +++ b/assets/Scene/helloworld.fire @@ -598,7 +598,7 @@ "_is3DNode": false, "_groupIndex": 0, "groupIndex": 0, - "_id": "3d8RDqQvVEfJkF7nWvrxTE" + "_id": "76KDntjjFLVKmtFHxYwrV6" }, { "__type__": "cc.Node", @@ -660,7 +660,7 @@ "_is3DNode": false, "_groupIndex": 0, "groupIndex": 0, - "_id": "c3XyfYRgRPB5iyAa58aSsW" + "_id": "80Ey3vT8tOoKasdL4WSmVR" }, { "__type__": "cc.Sprite", @@ -690,7 +690,7 @@ "_fillRange": 0, "_isTrimmedMode": true, "_atlas": null, - "_id": "8e55OmQuJIBYeXHoG9wTyk" + "_id": "cfdPG7L1VJi5XF5TaYomyp" }, { "__type__": "cc.Node", @@ -752,7 +752,7 @@ "_is3DNode": false, "_groupIndex": 0, "groupIndex": 0, - "_id": "d9CzwxVqJA5btSqQ2zxAtr" + "_id": "0ccJcWYaxEw6CAV6LDgwBF" }, { "__type__": "cc.Sprite", @@ -782,7 +782,7 @@ "_fillRange": 0, "_isTrimmedMode": true, "_atlas": null, - "_id": "28BN/vYpdA75aVQgtJV85T" + "_id": "a2z7GHvbBJtbeFFKuZMp8r" }, { "__type__": "cc.Node", @@ -844,7 +844,7 @@ "_is3DNode": false, "_groupIndex": 0, "groupIndex": 0, - "_id": "e1SVVBs6pDmI52ltKoFD6d" + "_id": "f7EXG9BGNEv6AWXdMTqWbb" }, { "__type__": "cc.Sprite", @@ -874,7 +874,7 @@ "_fillRange": 0, "_isTrimmedMode": true, "_atlas": null, - "_id": "025qCDItxA57ThVMG5sWtQ" + "_id": "2aE+3035tDJqfns9wb+A8e" }, { "__type__": "cc.Node", @@ -917,7 +917,7 @@ "ctor": "Float64Array", "array": [ 0, - 150, + 0, 0, 0, 0, @@ -939,7 +939,7 @@ "_is3DNode": false, "_groupIndex": 0, "groupIndex": 0, - "_id": "81cIITpURBEbMcOPB7cb6x" + "_id": "2b4Sev3gxKqbyDuqgotK3s" }, { "__type__": "cc.Label", @@ -972,7 +972,7 @@ "_N$fontFamily": "Arial", "_N$overflow": 0, "_N$cacheMode": 0, - "_id": "08NYYNx61NF42Hhp8PMtsi" + "_id": "cbby0qHztEJKoa9kkCSPhN" }, { "__type__": "cc.LabelOutline", @@ -990,7 +990,7 @@ "a": 255 }, "_width": 6, - "_id": "caGnJok0NK/o3JsDAm2Z52" + "_id": "9bWro31eJKybmJGCrePXSg" }, { "__type__": "9285eM4YhBJhL8+C569X294", @@ -1029,12 +1029,12 @@ }, "_collideBoxOpacity": 100, "_isCustomLabelActive": true, - "customComponentName": "Hero", + "_customComponentName": "Hero", "_customLabelString": "坐标:x,y\n角度:angle,弧度:radian\n世界坐标:wp\nhp:#hp mp:#mp\n#equip.shoe.attr.speed", "_customLabelOffset": { "__type__": "cc.Vec2", "x": 0, - "y": 150 + "y": 0 }, "_customLabelColor": { "__type__": "cc.Color", diff --git a/assets/Script/DataBoard.ts b/assets/Script/DataBoard.ts index 6e11f7d..6a27c4e 100644 --- a/assets/Script/DataBoard.ts +++ b/assets/Script/DataBoard.ts @@ -87,8 +87,15 @@ export default class DataBoard extends cc.Component { this._isCustomLabelActive = value; this.customLabelNode.active = value; } + @property + private _customComponentName: string = ''; @property({ displayName: CC_DEV && '······脚本', tooltip: CC_DEV && '监控哪个脚本', visible() { return this.isCustomLabelActive; } }) - private customComponentName: string = ''; + private get customComponentName() { return this._customComponentName }; + private set customComponentName(value: string) { + this._customComponentName = value; + value ||= this.node.name; + value && (this.monitorComp = this.node.getComponent(value)); + } @property private _customLabelString: string = 'x,y'; @property({ multiline: true, displayName: CC_DEV && '······参数', tooltip: CC_DEV && "—————支持的参数————\nwp:世界坐标\nradian:节点弧度(单位:π)\nmatrix:变换矩阵\n自身属性:x,y,parent,children等\n脚本属性:脚本实例对象的属性\n↓↓参数可以用3种分隔符隔开↓↓\n英文逗号、英文冒号、空格\n————举个栗子————\n脚本:Hero\n参数:wp,scale,angle,#angle,#hp\n显示结果:\n世界坐标,节点scale,节点angle,Hero对象的angle,Hero对象的hp\n————温馨提示————\n初始化的时候,设置全局变量\nwindow['DATABOARD'] = false\n可屏蔽本项目所有DataBoard,不会产生任何额外开销", visible() { return this.isCustomLabelActive } }) @@ -96,7 +103,7 @@ export default class DataBoard extends cc.Component { private set customLabelString(value: string) { this._customLabelString = value; this.customLabelStringSplit = value - .replace(/,|,/g, '_~_').replace(/:|:/g, '_!_').replace(/ /g, '_@_') + .replace(/,/g, '_~_').replace(/:/g, '_!_').replace(/ /g, '_@_') .replace(/_*\n_*/g, '_\n_').split('_'); } @property @@ -143,21 +150,20 @@ export default class DataBoard extends cc.Component { private monitorComp: cc.Component = null; protected start() { - this.boardNode = this.node.getChildByName('DataBoard'); if (!CC_EDITOR && !window['DATABOARD']) { this.destroy(); return; } + this.boardNode = this.node.getChildByName('DataBoard'); if (cc.isValid(this.boardNode)) { - this.boardNode.removeFromParent(); this.boardNode.destroy(); + this.boardNode.removeFromParent(); } let texture = new cc.Texture2D(); texture.initWithData(new Uint8Array([255, 255, 255]), cc.Texture2D.PixelFormat.RGB888, 1, 1); this.boardNode = new cc.Node('DataBoard'); this.boardNode.setParent(this.node); - this.boardNode.x = this.boardNode.y = 0; this.boardNode.zIndex = cc.macro.MAX_ZINDEX; this.boardNode['_objFlags'] |= cc.Object['Flags'].HideInHierarchy; this.boardNode['_objFlags'] |= cc.Object['Flags'].LockedInEditor; @@ -193,6 +199,7 @@ export default class DataBoard extends cc.Component { this.customLabelNode.y = this.customLabelOffset.y; this.customLabelNode.color = this.customLabelColor; this.customLabelSize = this._customLabelSize; + this.customComponentName = this._customComponentName; this.updateAngle(); this.updateScale(); @@ -235,18 +242,8 @@ export default class DataBoard extends cc.Component { protected update() { if (!this.isCustomLabelActive) return; if (!this.customLabelStringSplit) return; - if (this.customLabelOffset.x !== 0 || this.customLabelOffset.y !== 0) { - let radian = -this.node.angle * Math.PI / 180; - let cos = Math.cos(radian); - let sin = Math.sin(radian); - this.customLabelNode.x = this.customLabelOffset.x * cos - this.customLabelOffset.y * sin; - this.customLabelNode.y = this.customLabelOffset.x * sin + this.customLabelOffset.y * cos; - } - let str = ''; let strs = this.customLabelStringSplit; - if (!this.monitorComp && this.customComponentName) { - this.monitorComp = this.node.getComponent(this.customComponentName); - } + let str = ''; for (let i = 0, len = strs.length; i < len; ++i) { let tmp = null; switch (strs[i]) { @@ -265,7 +262,7 @@ export default class DataBoard extends cc.Component { tmp = ''; for (let i = 0; i < 4; ++i) { for (let j = 0; j < 4; ++j) { - let m = matrix[j * 4 + i]; + let m = matrix[(j<<2) + i]; tmp += (m < 0 ? '\t\t' : '\t\t\t') + m.toFixed(this.customLabelDigit); } i !== 3 && (tmp += '\n'); @@ -303,11 +300,10 @@ export default class DataBoard extends cc.Component { private parseString(str: string) { let strs = str.split('.'); - let ret = this.monitorComp[strs[0]]; - ret === undefined && (ret = `#${strs[0]}`); + let ret = this.monitorComp[strs[0]] ?? `#${strs[0]}`; for (let i = 1, len = strs.length; i < len; ++i) { if (ret[strs[i]] === undefined) { - return `${ret.name ? ret.name : ret}.${strs[i]}`; + return `${ret.name ?? ret}.${strs[i]}`; } ret = ret[strs[i]]; } @@ -316,8 +312,8 @@ export default class DataBoard extends cc.Component { protected onDestroy() { if (cc.isValid(this.boardNode)) { - this.boardNode.removeFromParent(); this.boardNode.destroy(); + this.boardNode.removeFromParent(); } this.node.targetOff(this); } diff --git a/library/imports/1c/1c1526d4-850a-49e8-9d63-1a14155187fc.js b/library/imports/1c/1c1526d4-850a-49e8-9d63-1a14155187fc.js index 0d5c625..53a7281 100644 --- a/library/imports/1c/1c1526d4-850a-49e8-9d63-1a14155187fc.js +++ b/library/imports/1c/1c1526d4-850a-49e8-9d63-1a14155187fc.js @@ -63,7 +63,7 @@ var DataBoard = /** @class */ (function (_super) { _this._collideBoxColor = new cc.Color(Math.random() * 255, Math.random() * 255, Math.random() * 255); _this._collideBoxOpacity = 100; _this._isCustomLabelActive = true; - _this.customComponentName = ''; + _this._customComponentName = ''; _this._customLabelString = 'x,y'; _this._customLabelOffset = cc.v2(0, 100); _this._customLabelColor = new cc.Color(255, 255, 0); @@ -149,12 +149,23 @@ var DataBoard = /** @class */ (function (_super) { configurable: true }); ; + Object.defineProperty(DataBoard.prototype, "customComponentName", { + get: function () { return this._customComponentName; }, + set: function (value) { + this._customComponentName = value; + value || (value = this.node.name); + value && (this.monitorComp = this.node.getComponent(value)); + }, + enumerable: false, + configurable: true + }); + ; Object.defineProperty(DataBoard.prototype, "customLabelString", { get: function () { return this._customLabelString; }, set: function (value) { this._customLabelString = value; this.customLabelStringSplit = value - .replace(/,|,/g, '_~_').replace(/:|:/g, '_!_').replace(/ /g, '_@_') + .replace(/,/g, '_~_').replace(/:/g, '_!_').replace(/ /g, '_@_') .replace(/_*\n_*/g, '_\n_').split('_'); }, enumerable: false, @@ -204,20 +215,19 @@ var DataBoard = /** @class */ (function (_super) { }); ; DataBoard.prototype.start = function () { - this.boardNode = this.node.getChildByName('DataBoard'); if (!CC_EDITOR && !window['DATABOARD']) { this.destroy(); return; } + this.boardNode = this.node.getChildByName('DataBoard'); if (cc.isValid(this.boardNode)) { - this.boardNode.removeFromParent(); this.boardNode.destroy(); + this.boardNode.removeFromParent(); } var texture = new cc.Texture2D(); texture.initWithData(new Uint8Array([255, 255, 255]), cc.Texture2D.PixelFormat.RGB888, 1, 1); this.boardNode = new cc.Node('DataBoard'); this.boardNode.setParent(this.node); - this.boardNode.x = this.boardNode.y = 0; this.boardNode.zIndex = cc.macro.MAX_ZINDEX; this.boardNode['_objFlags'] |= cc.Object['Flags'].HideInHierarchy; this.boardNode['_objFlags'] |= cc.Object['Flags'].LockedInEditor; @@ -249,6 +259,7 @@ var DataBoard = /** @class */ (function (_super) { this.customLabelNode.y = this.customLabelOffset.y; this.customLabelNode.color = this.customLabelColor; this.customLabelSize = this._customLabelSize; + this.customComponentName = this._customComponentName; this.updateAngle(); this.updateScale(); this.updateAnchor(); @@ -287,18 +298,8 @@ var DataBoard = /** @class */ (function (_super) { return; if (!this.customLabelStringSplit) return; - if (this.customLabelOffset.x !== 0 || this.customLabelOffset.y !== 0) { - var radian = -this.node.angle * Math.PI / 180; - var cos = Math.cos(radian); - var sin = Math.sin(radian); - this.customLabelNode.x = this.customLabelOffset.x * cos - this.customLabelOffset.y * sin; - this.customLabelNode.y = this.customLabelOffset.x * sin + this.customLabelOffset.y * cos; - } - var str = ''; var strs = this.customLabelStringSplit; - if (!this.monitorComp && this.customComponentName) { - this.monitorComp = this.node.getComponent(this.customComponentName); - } + var str = ''; for (var i = 0, len = strs.length; i < len; ++i) { var tmp = null; switch (strs[i]) { @@ -317,7 +318,7 @@ var DataBoard = /** @class */ (function (_super) { tmp = ''; for (var i_1 = 0; i_1 < 4; ++i_1) { for (var j = 0; j < 4; ++j) { - var m = matrix[j * 4 + i_1]; + var m = matrix[(j << 2) + i_1]; tmp += (m < 0 ? '\t\t' : '\t\t\t') + m.toFixed(this.customLabelDigit); } i_1 !== 3 && (tmp += '\n'); @@ -362,12 +363,12 @@ var DataBoard = /** @class */ (function (_super) { this.customLabel.string = str; }; DataBoard.prototype.parseString = function (str) { + var _a, _b; var strs = str.split('.'); - var ret = this.monitorComp[strs[0]]; - ret === undefined && (ret = "#" + strs[0]); + var ret = (_a = this.monitorComp[strs[0]]) !== null && _a !== void 0 ? _a : "#" + strs[0]; for (var i = 1, len = strs.length; i < len; ++i) { if (ret[strs[i]] === undefined) { - return (ret.name ? ret.name : ret) + "." + strs[i]; + return ((_b = ret.name) !== null && _b !== void 0 ? _b : ret) + "." + strs[i]; } ret = ret[strs[i]]; } @@ -375,8 +376,8 @@ var DataBoard = /** @class */ (function (_super) { }; DataBoard.prototype.onDestroy = function () { if (cc.isValid(this.boardNode)) { - this.boardNode.removeFromParent(); this.boardNode.destroy(); + this.boardNode.removeFromParent(); } this.node.targetOff(this); }; @@ -422,9 +423,12 @@ var DataBoard = /** @class */ (function (_super) { __decorate([ property({ displayName: CC_DEV && '自定义参数', tooltip: CC_DEV && '配置显示的属性内容' }) ], DataBoard.prototype, "isCustomLabelActive", null); + __decorate([ + property + ], DataBoard.prototype, "_customComponentName", void 0); __decorate([ property({ displayName: CC_DEV && '······脚本', tooltip: CC_DEV && '监控哪个脚本', visible: function () { return this.isCustomLabelActive; } }) - ], DataBoard.prototype, "customComponentName", void 0); + ], DataBoard.prototype, "customComponentName", null); __decorate([ property ], DataBoard.prototype, "_customLabelString", void 0); diff --git a/library/imports/1c/1c1526d4-850a-49e8-9d63-1a14155187fc.js.map b/library/imports/1c/1c1526d4-850a-49e8-9d63-1a14155187fc.js.map index 537f657..c3c0ca9 100644 --- a/library/imports/1c/1c1526d4-850a-49e8-9d63-1a14155187fc.js.map +++ b/library/imports/1c/1c1526d4-850a-49e8-9d63-1a14155187fc.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\DataBoard.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["/*******************************************************************************\r\n * 创建: 2022年11月23日\r\n * 作者: 水煮肉片饭(27185709@qq.com)\r\n * 描述: 数据看板\r\n * 节点挂上该组件,就可以在游戏运行过程中,直观看到节点任意属性(包括节点脚本中的属性)\r\n * 可以图形化展示以下四种数据:\r\n * 轮廓盒子: 随节点旋转,代表节点的实时矩形\r\n * 碰撞盒子: 不随节点旋转,一般代表碰撞范围\r\n * 自定义参数: 节点自身属性,以及节点任意脚本中的属性\r\n * 锚点: 锚点位置会显示一个小红点\r\n * 自定义参数(配置想监控的数据):\r\n * wp: 世界坐标\r\n * radian: 节点弧度(单位:π)\r\n * matrix: 变换矩阵\r\n * 自身属性: x,y,parent,children等\r\n * 脚本属性: 脚本实例对象的属性\r\n * ↓↓参数可以用3种分隔符隔开↓↓\r\n * 英文逗号、英文冒号、空格\r\n * ————————————————————————举个栗子————————————————————————\r\n * 脚本: Hero\r\n * 参数: wp,scale,angle,#angle,#hp\r\n * 显示结果:世界坐标,节点scale,节点angle,Hero对象的angle,Hero对象的hp\r\n * ————————————————————————温馨提示————————————————————————\r\n * 初始化的时候,设置全局变量window['DATABOARD'] = false可屏蔽本项目所有DataBoard,不会产生任何额外开销\\n\r\n*******************************************************************************/\r\nwindow['DATABOARD'] = true;\r\nconst ANCHOR_SIZE = 20; //锚点的大小\r\nconst LINEHEIGHT = 1.2; //行高是字体大小的多少倍\r\nconst { ccclass, property, executeInEditMode, menu } = cc._decorator;\r\n@ccclass\r\n@executeInEditMode\r\n@menu('Comp/DataBoard')\r\nexport default class DataBoard extends cc.Component {\r\n @property\r\n private _isOutlineBoxActive: boolean = false;\r\n @property({ displayName: CC_DEV && '轮廓盒子', tooltip: CC_DEV && '随节点旋转,代表实时轮廓' })\r\n private get isOutlineBoxActive() { return this._isOutlineBoxActive };\r\n private set isOutlineBoxActive(value: boolean) {\r\n this._isOutlineBoxActive = value;\r\n this.outlineBoxNode.active = value;\r\n }\r\n @property\r\n private _outlineBoxColor: cc.Color = new cc.Color(Math.random() * 255, Math.random() * 255, Math.random() * 255);\r\n @property({ displayName: CC_DEV && '······颜色', visible() { return this.isOutlineBoxActive } })\r\n private get outlineBoxColor() { return this._outlineBoxColor };\r\n private set outlineBoxColor(value: cc.Color) {\r\n this._outlineBoxColor = value;\r\n this.outlineBoxNode.color = value;\r\n }\r\n @property\r\n private _outlineBoxOpacity: number = 100;\r\n @property({ min: 0, max: 255, step: 1, slide: true, displayName: CC_DEV && '······透明度', visible() { return this.isOutlineBoxActive } })\r\n private get outlineBoxOpacity() { return this._outlineBoxOpacity };\r\n private set outlineBoxOpacity(value: number) {\r\n this._outlineBoxOpacity = value;\r\n this.outlineBoxNode.opacity = value;\r\n }\r\n @property\r\n private _isCollideBoxActive: boolean = true;\r\n @property({ displayName: CC_DEV && '碰撞盒子', tooltip: CC_DEV && '不随节点旋转,代表碰撞范围' })\r\n private get isCollideBoxActive() { return this._isCollideBoxActive };\r\n private set isCollideBoxActive(value: boolean) {\r\n this._isCollideBoxActive = value;\r\n this.collideBoxNode.active = value;\r\n }\r\n @property\r\n private _collideBoxColor: cc.Color = new cc.Color(Math.random() * 255, Math.random() * 255, Math.random() * 255);\r\n @property({ displayName: CC_DEV && '······颜色', visible() { return this.isCollideBoxActive } })\r\n private get collideBoxColor() { return this._collideBoxColor };\r\n private set collideBoxColor(value: cc.Color) {\r\n this._collideBoxColor = value;\r\n this.collideBoxNode.color = value;\r\n }\r\n @property\r\n private _collideBoxOpacity: number = 100;\r\n @property({ min: 0, max: 255, step: 1, slide: true, displayName: CC_DEV && '······透明度', visible() { return this.isCollideBoxActive } })\r\n private get collideBoxOpacity() { return this._collideBoxOpacity };\r\n private set collideBoxOpacity(value: number) {\r\n this._collideBoxOpacity = value;\r\n this.collideBoxNode.opacity = value;\r\n }\r\n @property\r\n private _isCustomLabelActive: boolean = true;\r\n @property({ displayName: CC_DEV && '自定义参数', tooltip: CC_DEV && '配置显示的属性内容' })\r\n private get isCustomLabelActive() { return this._isCustomLabelActive };\r\n private set isCustomLabelActive(value: boolean) {\r\n this._isCustomLabelActive = value;\r\n this.customLabelNode.active = value;\r\n }\r\n @property({ displayName: CC_DEV && '······脚本', tooltip: CC_DEV && '监控哪个脚本', visible() { return this.isCustomLabelActive; } })\r\n private customComponentName: string = '';\r\n @property\r\n private _customLabelString: string = 'x,y';\r\n @property({ multiline: true, displayName: CC_DEV && '······参数', tooltip: CC_DEV && \"—————支持的参数————\\nwp:世界坐标\\nradian:节点弧度(单位:π)\\nmatrix:变换矩阵\\n自身属性:x,y,parent,children等\\n脚本属性:脚本实例对象的属性\\n↓↓参数可以用3种分隔符隔开↓↓\\n英文逗号、英文冒号、空格\\n————举个栗子————\\n脚本:Hero\\n参数:wp,scale,angle,#angle,#hp\\n显示结果:\\n世界坐标,节点scale,节点angle,Hero对象的angle,Hero对象的hp\\n————温馨提示————\\n初始化的时候,设置全局变量\\nwindow['DATABOARD'] = false\\n可屏蔽本项目所有DataBoard,不会产生任何额外开销\", visible() { return this.isCustomLabelActive } })\r\n private get customLabelString() { return this._customLabelString };\r\n private set customLabelString(value: string) {\r\n this._customLabelString = value;\r\n this.customLabelStringSplit = value\r\n .replace(/,|,/g, '_~_').replace(/:|:/g, '_!_').replace(/ /g, '_@_')\r\n .replace(/_*\\n_*/g, '_\\n_').split('_');\r\n }\r\n @property\r\n private _customLabelOffset: cc.Vec2 = cc.v2(0, 100);\r\n @property({ displayName: CC_DEV && '······偏移', visible() { return this.isCustomLabelActive } })\r\n private get customLabelOffset() { return this._customLabelOffset };\r\n private set customLabelOffset(value: cc.Vec2) {\r\n this._customLabelOffset = value;\r\n this.customLabelNode.x = value.x;\r\n this.customLabelNode.y = value.y;\r\n }\r\n @property\r\n private _customLabelColor: cc.Color = new cc.Color(255, 255, 0);\r\n @property({ displayName: CC_DEV && '······颜色', visible() { return this.isCustomLabelActive } })\r\n private get customLabelColor() { return this._customLabelColor };\r\n private set customLabelColor(value: cc.Color) {\r\n this._customLabelColor = value;\r\n this.customLabelNode.color = value;\r\n }\r\n @property\r\n private _customLabelSize: number = 60;\r\n @property({ displayName: CC_DEV && '······大小', visible() { return this.isCustomLabelActive } })\r\n private get customLabelSize() { return this._customLabelSize };\r\n private set customLabelSize(value: number) {\r\n this._customLabelSize = value;\r\n this.customLabel.fontSize = value;\r\n this.customLabel.lineHeight = value * LINEHEIGHT;\r\n this.customLabelNode.getComponent(cc.LabelOutline).width = value * 0.1;\r\n }\r\n @property\r\n private _customLabelDigit: number = 0;\r\n @property({ min: 0, max: 10, step: 1, slide: true, displayName: CC_DEV && '······小数位数', visible() { return this.isCustomLabelActive } })\r\n private get customLabelDigit() { return this._customLabelDigit };\r\n private set customLabelDigit(value: number) {\r\n this._customLabelDigit = value;\r\n }\r\n private boardNode: cc.Node = null;\r\n private outlineBoxNode: cc.Node = null;\r\n private collideBoxNode: cc.Node = null;\r\n private anchorPointNode: cc.Node = null;\r\n private customLabelNode: cc.Node = null;\r\n private customLabel: cc.Label = null;\r\n private customLabelStringSplit: string[] = null;\r\n private monitorComp: cc.Component = null;\r\n\r\n protected start() {\r\n this.boardNode = this.node.getChildByName('DataBoard');\r\n if (!CC_EDITOR && !window['DATABOARD']) {\r\n this.destroy();\r\n return;\r\n }\r\n if (cc.isValid(this.boardNode)) {\r\n this.boardNode.removeFromParent();\r\n this.boardNode.destroy();\r\n }\r\n let texture = new cc.Texture2D();\r\n texture.initWithData(new Uint8Array([255, 255, 255]), cc.Texture2D.PixelFormat.RGB888, 1, 1);\r\n\r\n this.boardNode = new cc.Node('DataBoard');\r\n this.boardNode.setParent(this.node);\r\n this.boardNode.x = this.boardNode.y = 0;\r\n this.boardNode.zIndex = cc.macro.MAX_ZINDEX;\r\n this.boardNode['_objFlags'] |= cc.Object['Flags'].HideInHierarchy;\r\n this.boardNode['_objFlags'] |= cc.Object['Flags'].LockedInEditor;\r\n\r\n this.outlineBoxNode = new cc.Node('OutlineBox');\r\n this.outlineBoxNode.setParent(this.boardNode);\r\n this.outlineBoxNode.addComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(texture);\r\n this.outlineBoxNode.active = this.isOutlineBoxActive;\r\n this.outlineBoxNode.color = this.outlineBoxColor;\r\n this.outlineBoxNode.opacity = this.outlineBoxOpacity;\r\n\r\n this.collideBoxNode = new cc.Node('CollideBox');\r\n this.collideBoxNode.setParent(this.boardNode);\r\n this.collideBoxNode.addComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(texture);\r\n this.collideBoxNode.active = this.isCollideBoxActive;\r\n this.collideBoxNode.color = this.collideBoxColor;\r\n this.collideBoxNode.opacity = this.collideBoxOpacity;\r\n\r\n this.anchorPointNode = new cc.Node('AnchorPoint');\r\n this.anchorPointNode.setParent(this.boardNode);\r\n this.anchorPointNode.addComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(texture);\r\n this.anchorPointNode.color = cc.color(255, 0, 0);\r\n this.anchorPointNode.width = ANCHOR_SIZE;\r\n this.anchorPointNode.height = ANCHOR_SIZE;\r\n\r\n this.customLabelNode = new cc.Node('CustomLabel');\r\n this.customLabelNode.setParent(this.boardNode);\r\n this.customLabel = this.customLabelNode.addComponent(cc.Label);\r\n this.customLabelNode.addComponent(cc.LabelOutline).color = cc.color(0, 0, 0);\r\n this.customLabelNode.active = this.isCustomLabelActive;\r\n this.customLabelString = this._customLabelString;\r\n this.customLabelNode.x = this.customLabelOffset.x;\r\n this.customLabelNode.y = this.customLabelOffset.y;\r\n this.customLabelNode.color = this.customLabelColor;\r\n this.customLabelSize = this._customLabelSize;\r\n\r\n this.updateAngle();\r\n this.updateScale();\r\n this.updateAnchor();\r\n this.updateSize();\r\n this.node.on(cc.Node.EventType.ROTATION_CHANGED, this.updateAngle, this);\r\n this.node.on(cc.Node.EventType.SCALE_CHANGED, this.updateScale, this);\r\n this.node.on(cc.Node.EventType.ANCHOR_CHANGED, this.updateAnchor, this);\r\n this.node.on(cc.Node.EventType.SIZE_CHANGED, this.updateSize, this);\r\n }\r\n\r\n private updateAngle() {\r\n this.collideBoxNode.angle = -this.node.angle;\r\n this.customLabelNode.angle = -this.node.angle;\r\n }\r\n\r\n private updateScale() {\r\n this.boardNode.scaleX = 1 / this.node.scaleX;\r\n this.boardNode.scaleY = 1 / this.node.scaleY;\r\n this.outlineBoxNode.scaleX = this.node.scaleX;\r\n this.outlineBoxNode.scaleY = this.node.scaleY;\r\n this.collideBoxNode.scaleX = this.node.scaleX;\r\n this.collideBoxNode.scaleY = this.node.scaleY;\r\n }\r\n\r\n private updateAnchor() {\r\n this.outlineBoxNode.anchorX = this.node.anchorX;\r\n this.outlineBoxNode.anchorY = this.node.anchorY;\r\n this.collideBoxNode.anchorX = this.node.anchorX;\r\n this.collideBoxNode.anchorY = this.node.anchorY;\r\n }\r\n\r\n private updateSize() {\r\n this.outlineBoxNode.width = this.node.width;\r\n this.outlineBoxNode.height = this.node.height;\r\n this.collideBoxNode.width = this.node.width;\r\n this.collideBoxNode.height = this.node.height;\r\n }\r\n\r\n protected update() {\r\n if (!this.isCustomLabelActive) return;\r\n if (!this.customLabelStringSplit) return;\r\n if (this.customLabelOffset.x !== 0 || this.customLabelOffset.y !== 0) {\r\n let radian = -this.node.angle * Math.PI / 180;\r\n let cos = Math.cos(radian);\r\n let sin = Math.sin(radian);\r\n this.customLabelNode.x = this.customLabelOffset.x * cos - this.customLabelOffset.y * sin;\r\n this.customLabelNode.y = this.customLabelOffset.x * sin + this.customLabelOffset.y * cos;\r\n }\r\n let str = '';\r\n let strs = this.customLabelStringSplit;\r\n if (!this.monitorComp && this.customComponentName) {\r\n this.monitorComp = this.node.getComponent(this.customComponentName);\r\n }\r\n for (let i = 0, len = strs.length; i < len; ++i) {\r\n let tmp = null;\r\n switch (strs[i]) {\r\n case 'wp':\r\n let matrix = this.node['_worldMatrix'].m;\r\n tmp = `${matrix[12].toFixed(this.customLabelDigit)},\\t${matrix[13].toFixed(this.customLabelDigit)}`;\r\n break;\r\n case 'angle':\r\n tmp = this.node.angle.toFixed(this.customLabelDigit) + '°';\r\n break;\r\n case 'radian':\r\n tmp = (this.node.angle / 180).toFixed(this.customLabelDigit) + 'π';\r\n break;\r\n case 'matrix':\r\n matrix = this.node['_worldMatrix'].m;\r\n tmp = '';\r\n for (let i = 0; i < 4; ++i) {\r\n for (let j = 0; j < 4; ++j) {\r\n let m = matrix[j * 4 + i];\r\n tmp += (m < 0 ? '\\t\\t' : '\\t\\t\\t') + m.toFixed(this.customLabelDigit);\r\n }\r\n i !== 3 && (tmp += '\\n');\r\n }\r\n break;\r\n case 'children':\r\n tmp = '';\r\n for (let i = 0, len = this.node.childrenCount; i < len; ++i) {\r\n tmp += `\\t\\t\\t${i}:${this.node.children[i].name}`;\r\n i !== len - 1 && (tmp += '\\n');\r\n }\r\n break;\r\n case '~': tmp = ',\\t'; break;\r\n case '!': tmp = ':\\t'; break;\r\n case '@': tmp = '\\t\\t'; break;\r\n default:\r\n if (this.node[strs[i]] !== undefined) {\r\n tmp = this.node[strs[i]];\r\n } else if (strs[i].startsWith('#') && this.monitorComp !== null) {\r\n tmp = this.parseString(strs[i].substring(1));\r\n } else {\r\n tmp = strs[i];\r\n }\r\n if (typeof tmp === 'number') {\r\n tmp = tmp.toFixed(this.customLabelDigit);\r\n } else if (tmp.name) {\r\n tmp = tmp.name;\r\n }\r\n break;\r\n }\r\n str += tmp;\r\n }\r\n this.customLabel.string = str;\r\n }\r\n\r\n private parseString(str: string) {\r\n let strs = str.split('.');\r\n let ret = this.monitorComp[strs[0]];\r\n ret === undefined && (ret = `#${strs[0]}`);\r\n for (let i = 1, len = strs.length; i < len; ++i) {\r\n if (ret[strs[i]] === undefined) {\r\n return `${ret.name ? ret.name : ret}.${strs[i]}`;\r\n }\r\n ret = ret[strs[i]];\r\n }\r\n return ret;\r\n }\r\n\r\n protected onDestroy() {\r\n if (cc.isValid(this.boardNode)) {\r\n this.boardNode.removeFromParent();\r\n this.boardNode.destroy();\r\n }\r\n this.node.targetOff(this);\r\n }\r\n}"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\DataBoard.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["/*******************************************************************************\r\n * 创建: 2022年11月23日\r\n * 作者: 水煮肉片饭(27185709@qq.com)\r\n * 描述: 数据看板\r\n * 节点挂上该组件,就可以在游戏运行过程中,直观看到节点任意属性(包括节点脚本中的属性)\r\n * 可以图形化展示以下四种数据:\r\n * 轮廓盒子: 随节点旋转,代表节点的实时矩形\r\n * 碰撞盒子: 不随节点旋转,一般代表碰撞范围\r\n * 自定义参数: 节点自身属性,以及节点任意脚本中的属性\r\n * 锚点: 锚点位置会显示一个小红点\r\n * 自定义参数(配置想监控的数据):\r\n * wp: 世界坐标\r\n * radian: 节点弧度(单位:π)\r\n * matrix: 变换矩阵\r\n * 自身属性: x,y,parent,children等\r\n * 脚本属性: 脚本实例对象的属性\r\n * ↓↓参数可以用3种分隔符隔开↓↓\r\n * 英文逗号、英文冒号、空格\r\n * ————————————————————————举个栗子————————————————————————\r\n * 脚本: Hero\r\n * 参数: wp,scale,angle,#angle,#hp\r\n * 显示结果:世界坐标,节点scale,节点angle,Hero对象的angle,Hero对象的hp\r\n * ————————————————————————温馨提示————————————————————————\r\n * 初始化的时候,设置全局变量window['DATABOARD'] = false可屏蔽本项目所有DataBoard,不会产生任何额外开销\\n\r\n*******************************************************************************/\r\nwindow['DATABOARD'] = true;\r\nconst ANCHOR_SIZE = 20; //锚点的大小\r\nconst LINEHEIGHT = 1.2; //行高是字体大小的多少倍\r\nconst { ccclass, property, executeInEditMode, menu } = cc._decorator;\r\n@ccclass\r\n@executeInEditMode\r\n@menu('Comp/DataBoard')\r\nexport default class DataBoard extends cc.Component {\r\n @property\r\n private _isOutlineBoxActive: boolean = false;\r\n @property({ displayName: CC_DEV && '轮廓盒子', tooltip: CC_DEV && '随节点旋转,代表实时轮廓' })\r\n private get isOutlineBoxActive() { return this._isOutlineBoxActive };\r\n private set isOutlineBoxActive(value: boolean) {\r\n this._isOutlineBoxActive = value;\r\n this.outlineBoxNode.active = value;\r\n }\r\n @property\r\n private _outlineBoxColor: cc.Color = new cc.Color(Math.random() * 255, Math.random() * 255, Math.random() * 255);\r\n @property({ displayName: CC_DEV && '······颜色', visible() { return this.isOutlineBoxActive } })\r\n private get outlineBoxColor() { return this._outlineBoxColor };\r\n private set outlineBoxColor(value: cc.Color) {\r\n this._outlineBoxColor = value;\r\n this.outlineBoxNode.color = value;\r\n }\r\n @property\r\n private _outlineBoxOpacity: number = 100;\r\n @property({ min: 0, max: 255, step: 1, slide: true, displayName: CC_DEV && '······透明度', visible() { return this.isOutlineBoxActive } })\r\n private get outlineBoxOpacity() { return this._outlineBoxOpacity };\r\n private set outlineBoxOpacity(value: number) {\r\n this._outlineBoxOpacity = value;\r\n this.outlineBoxNode.opacity = value;\r\n }\r\n @property\r\n private _isCollideBoxActive: boolean = true;\r\n @property({ displayName: CC_DEV && '碰撞盒子', tooltip: CC_DEV && '不随节点旋转,代表碰撞范围' })\r\n private get isCollideBoxActive() { return this._isCollideBoxActive };\r\n private set isCollideBoxActive(value: boolean) {\r\n this._isCollideBoxActive = value;\r\n this.collideBoxNode.active = value;\r\n }\r\n @property\r\n private _collideBoxColor: cc.Color = new cc.Color(Math.random() * 255, Math.random() * 255, Math.random() * 255);\r\n @property({ displayName: CC_DEV && '······颜色', visible() { return this.isCollideBoxActive } })\r\n private get collideBoxColor() { return this._collideBoxColor };\r\n private set collideBoxColor(value: cc.Color) {\r\n this._collideBoxColor = value;\r\n this.collideBoxNode.color = value;\r\n }\r\n @property\r\n private _collideBoxOpacity: number = 100;\r\n @property({ min: 0, max: 255, step: 1, slide: true, displayName: CC_DEV && '······透明度', visible() { return this.isCollideBoxActive } })\r\n private get collideBoxOpacity() { return this._collideBoxOpacity };\r\n private set collideBoxOpacity(value: number) {\r\n this._collideBoxOpacity = value;\r\n this.collideBoxNode.opacity = value;\r\n }\r\n @property\r\n private _isCustomLabelActive: boolean = true;\r\n @property({ displayName: CC_DEV && '自定义参数', tooltip: CC_DEV && '配置显示的属性内容' })\r\n private get isCustomLabelActive() { return this._isCustomLabelActive };\r\n private set isCustomLabelActive(value: boolean) {\r\n this._isCustomLabelActive = value;\r\n this.customLabelNode.active = value;\r\n }\r\n @property\r\n private _customComponentName: string = '';\r\n @property({ displayName: CC_DEV && '······脚本', tooltip: CC_DEV && '监控哪个脚本', visible() { return this.isCustomLabelActive; } })\r\n private get customComponentName() { return this._customComponentName };\r\n private set customComponentName(value: string) {\r\n this._customComponentName = value;\r\n value ||= this.node.name;\r\n value && (this.monitorComp = this.node.getComponent(value));\r\n }\r\n @property\r\n private _customLabelString: string = 'x,y';\r\n @property({ multiline: true, displayName: CC_DEV && '······参数', tooltip: CC_DEV && \"—————支持的参数————\\nwp:世界坐标\\nradian:节点弧度(单位:π)\\nmatrix:变换矩阵\\n自身属性:x,y,parent,children等\\n脚本属性:脚本实例对象的属性\\n↓↓参数可以用3种分隔符隔开↓↓\\n英文逗号、英文冒号、空格\\n————举个栗子————\\n脚本:Hero\\n参数:wp,scale,angle,#angle,#hp\\n显示结果:\\n世界坐标,节点scale,节点angle,Hero对象的angle,Hero对象的hp\\n————温馨提示————\\n初始化的时候,设置全局变量\\nwindow['DATABOARD'] = false\\n可屏蔽本项目所有DataBoard,不会产生任何额外开销\", visible() { return this.isCustomLabelActive } })\r\n private get customLabelString() { return this._customLabelString };\r\n private set customLabelString(value: string) {\r\n this._customLabelString = value;\r\n this.customLabelStringSplit = value\r\n .replace(/,/g, '_~_').replace(/:/g, '_!_').replace(/ /g, '_@_')\r\n .replace(/_*\\n_*/g, '_\\n_').split('_');\r\n }\r\n @property\r\n private _customLabelOffset: cc.Vec2 = cc.v2(0, 100);\r\n @property({ displayName: CC_DEV && '······偏移', visible() { return this.isCustomLabelActive } })\r\n private get customLabelOffset() { return this._customLabelOffset };\r\n private set customLabelOffset(value: cc.Vec2) {\r\n this._customLabelOffset = value;\r\n this.customLabelNode.x = value.x;\r\n this.customLabelNode.y = value.y;\r\n }\r\n @property\r\n private _customLabelColor: cc.Color = new cc.Color(255, 255, 0);\r\n @property({ displayName: CC_DEV && '······颜色', visible() { return this.isCustomLabelActive } })\r\n private get customLabelColor() { return this._customLabelColor };\r\n private set customLabelColor(value: cc.Color) {\r\n this._customLabelColor = value;\r\n this.customLabelNode.color = value;\r\n }\r\n @property\r\n private _customLabelSize: number = 60;\r\n @property({ displayName: CC_DEV && '······大小', visible() { return this.isCustomLabelActive } })\r\n private get customLabelSize() { return this._customLabelSize };\r\n private set customLabelSize(value: number) {\r\n this._customLabelSize = value;\r\n this.customLabel.fontSize = value;\r\n this.customLabel.lineHeight = value * LINEHEIGHT;\r\n this.customLabelNode.getComponent(cc.LabelOutline).width = value * 0.1;\r\n }\r\n @property\r\n private _customLabelDigit: number = 0;\r\n @property({ min: 0, max: 10, step: 1, slide: true, displayName: CC_DEV && '······小数位数', visible() { return this.isCustomLabelActive } })\r\n private get customLabelDigit() { return this._customLabelDigit };\r\n private set customLabelDigit(value: number) {\r\n this._customLabelDigit = value;\r\n }\r\n private boardNode: cc.Node = null;\r\n private outlineBoxNode: cc.Node = null;\r\n private collideBoxNode: cc.Node = null;\r\n private anchorPointNode: cc.Node = null;\r\n private customLabelNode: cc.Node = null;\r\n private customLabel: cc.Label = null;\r\n private customLabelStringSplit: string[] = null;\r\n private monitorComp: cc.Component = null;\r\n\r\n protected start() {\r\n if (!CC_EDITOR && !window['DATABOARD']) {\r\n this.destroy();\r\n return;\r\n }\r\n this.boardNode = this.node.getChildByName('DataBoard');\r\n if (cc.isValid(this.boardNode)) {\r\n this.boardNode.destroy();\r\n this.boardNode.removeFromParent();\r\n }\r\n let texture = new cc.Texture2D();\r\n texture.initWithData(new Uint8Array([255, 255, 255]), cc.Texture2D.PixelFormat.RGB888, 1, 1);\r\n\r\n this.boardNode = new cc.Node('DataBoard');\r\n this.boardNode.setParent(this.node);\r\n this.boardNode.zIndex = cc.macro.MAX_ZINDEX;\r\n this.boardNode['_objFlags'] |= cc.Object['Flags'].HideInHierarchy;\r\n this.boardNode['_objFlags'] |= cc.Object['Flags'].LockedInEditor;\r\n\r\n this.outlineBoxNode = new cc.Node('OutlineBox');\r\n this.outlineBoxNode.setParent(this.boardNode);\r\n this.outlineBoxNode.addComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(texture);\r\n this.outlineBoxNode.active = this.isOutlineBoxActive;\r\n this.outlineBoxNode.color = this.outlineBoxColor;\r\n this.outlineBoxNode.opacity = this.outlineBoxOpacity;\r\n\r\n this.collideBoxNode = new cc.Node('CollideBox');\r\n this.collideBoxNode.setParent(this.boardNode);\r\n this.collideBoxNode.addComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(texture);\r\n this.collideBoxNode.active = this.isCollideBoxActive;\r\n this.collideBoxNode.color = this.collideBoxColor;\r\n this.collideBoxNode.opacity = this.collideBoxOpacity;\r\n\r\n this.anchorPointNode = new cc.Node('AnchorPoint');\r\n this.anchorPointNode.setParent(this.boardNode);\r\n this.anchorPointNode.addComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(texture);\r\n this.anchorPointNode.color = cc.color(255, 0, 0);\r\n this.anchorPointNode.width = ANCHOR_SIZE;\r\n this.anchorPointNode.height = ANCHOR_SIZE;\r\n\r\n this.customLabelNode = new cc.Node('CustomLabel');\r\n this.customLabelNode.setParent(this.boardNode);\r\n this.customLabel = this.customLabelNode.addComponent(cc.Label);\r\n this.customLabelNode.addComponent(cc.LabelOutline).color = cc.color(0, 0, 0);\r\n this.customLabelNode.active = this.isCustomLabelActive;\r\n this.customLabelString = this._customLabelString;\r\n this.customLabelNode.x = this.customLabelOffset.x;\r\n this.customLabelNode.y = this.customLabelOffset.y;\r\n this.customLabelNode.color = this.customLabelColor;\r\n this.customLabelSize = this._customLabelSize;\r\n this.customComponentName = this._customComponentName;\r\n\r\n this.updateAngle();\r\n this.updateScale();\r\n this.updateAnchor();\r\n this.updateSize();\r\n this.node.on(cc.Node.EventType.ROTATION_CHANGED, this.updateAngle, this);\r\n this.node.on(cc.Node.EventType.SCALE_CHANGED, this.updateScale, this);\r\n this.node.on(cc.Node.EventType.ANCHOR_CHANGED, this.updateAnchor, this);\r\n this.node.on(cc.Node.EventType.SIZE_CHANGED, this.updateSize, this);\r\n }\r\n\r\n private updateAngle() {\r\n this.collideBoxNode.angle = -this.node.angle;\r\n this.customLabelNode.angle = -this.node.angle;\r\n }\r\n\r\n private updateScale() {\r\n this.boardNode.scaleX = 1 / this.node.scaleX;\r\n this.boardNode.scaleY = 1 / this.node.scaleY;\r\n this.outlineBoxNode.scaleX = this.node.scaleX;\r\n this.outlineBoxNode.scaleY = this.node.scaleY;\r\n this.collideBoxNode.scaleX = this.node.scaleX;\r\n this.collideBoxNode.scaleY = this.node.scaleY;\r\n }\r\n\r\n private updateAnchor() {\r\n this.outlineBoxNode.anchorX = this.node.anchorX;\r\n this.outlineBoxNode.anchorY = this.node.anchorY;\r\n this.collideBoxNode.anchorX = this.node.anchorX;\r\n this.collideBoxNode.anchorY = this.node.anchorY;\r\n }\r\n\r\n private updateSize() {\r\n this.outlineBoxNode.width = this.node.width;\r\n this.outlineBoxNode.height = this.node.height;\r\n this.collideBoxNode.width = this.node.width;\r\n this.collideBoxNode.height = this.node.height;\r\n }\r\n\r\n protected update() {\r\n if (!this.isCustomLabelActive) return;\r\n if (!this.customLabelStringSplit) return;\r\n let strs = this.customLabelStringSplit;\r\n let str = '';\r\n for (let i = 0, len = strs.length; i < len; ++i) {\r\n let tmp = null;\r\n switch (strs[i]) {\r\n case 'wp':\r\n let matrix = this.node['_worldMatrix'].m;\r\n tmp = `${matrix[12].toFixed(this.customLabelDigit)},\\t${matrix[13].toFixed(this.customLabelDigit)}`;\r\n break;\r\n case 'angle':\r\n tmp = this.node.angle.toFixed(this.customLabelDigit) + '°';\r\n break;\r\n case 'radian':\r\n tmp = (this.node.angle / 180).toFixed(this.customLabelDigit) + 'π';\r\n break;\r\n case 'matrix':\r\n matrix = this.node['_worldMatrix'].m;\r\n tmp = '';\r\n for (let i = 0; i < 4; ++i) {\r\n for (let j = 0; j < 4; ++j) {\r\n let m = matrix[(j<<2) + i];\r\n tmp += (m < 0 ? '\\t\\t' : '\\t\\t\\t') + m.toFixed(this.customLabelDigit);\r\n }\r\n i !== 3 && (tmp += '\\n');\r\n }\r\n break;\r\n case 'children':\r\n tmp = '';\r\n for (let i = 0, len = this.node.childrenCount; i < len; ++i) {\r\n tmp += `\\t\\t\\t${i}:${this.node.children[i].name}`;\r\n i !== len - 1 && (tmp += '\\n');\r\n }\r\n break;\r\n case '~': tmp = ',\\t'; break;\r\n case '!': tmp = ':\\t'; break;\r\n case '@': tmp = '\\t\\t'; break;\r\n default:\r\n if (this.node[strs[i]] !== undefined) {\r\n tmp = this.node[strs[i]];\r\n } else if (strs[i].startsWith('#') && this.monitorComp !== null) {\r\n tmp = this.parseString(strs[i].substring(1));\r\n } else {\r\n tmp = strs[i];\r\n }\r\n if (typeof tmp === 'number') {\r\n tmp = tmp.toFixed(this.customLabelDigit);\r\n } else if (tmp.name) {\r\n tmp = tmp.name;\r\n }\r\n break;\r\n }\r\n str += tmp;\r\n }\r\n this.customLabel.string = str;\r\n }\r\n\r\n private parseString(str: string) {\r\n let strs = str.split('.');\r\n let ret = this.monitorComp[strs[0]] ?? `#${strs[0]}`;\r\n for (let i = 1, len = strs.length; i < len; ++i) {\r\n if (ret[strs[i]] === undefined) {\r\n return `${ret.name ?? ret}.${strs[i]}`;\r\n }\r\n ret = ret[strs[i]];\r\n }\r\n return ret;\r\n }\r\n\r\n protected onDestroy() {\r\n if (cc.isValid(this.boardNode)) {\r\n this.boardNode.destroy();\r\n this.boardNode.removeFromParent();\r\n }\r\n this.node.targetOff(this);\r\n }\r\n}"]} \ No newline at end of file diff --git a/library/imports/2d/2d2f792f-a40c-49bb-a189-ed176a246e49.json b/library/imports/2d/2d2f792f-a40c-49bb-a189-ed176a246e49.json index 2a5a60b..e28cb64 100644 --- a/library/imports/2d/2d2f792f-a40c-49bb-a189-ed176a246e49.json +++ b/library/imports/2d/2d2f792f-a40c-49bb-a189-ed176a246e49.json @@ -599,7 +599,7 @@ "_is3DNode": false, "_groupIndex": 0, "groupIndex": 0, - "_id": "3d8RDqQvVEfJkF7nWvrxTE" + "_id": "76KDntjjFLVKmtFHxYwrV6" }, { "__type__": "cc.Node", @@ -661,7 +661,7 @@ "_is3DNode": false, "_groupIndex": 0, "groupIndex": 0, - "_id": "c3XyfYRgRPB5iyAa58aSsW" + "_id": "80Ey3vT8tOoKasdL4WSmVR" }, { "__type__": "cc.Sprite", @@ -691,7 +691,7 @@ "_fillRange": 0, "_isTrimmedMode": true, "_atlas": null, - "_id": "8e55OmQuJIBYeXHoG9wTyk" + "_id": "cfdPG7L1VJi5XF5TaYomyp" }, { "__type__": "cc.Node", @@ -753,7 +753,7 @@ "_is3DNode": false, "_groupIndex": 0, "groupIndex": 0, - "_id": "d9CzwxVqJA5btSqQ2zxAtr" + "_id": "0ccJcWYaxEw6CAV6LDgwBF" }, { "__type__": "cc.Sprite", @@ -783,7 +783,7 @@ "_fillRange": 0, "_isTrimmedMode": true, "_atlas": null, - "_id": "28BN/vYpdA75aVQgtJV85T" + "_id": "a2z7GHvbBJtbeFFKuZMp8r" }, { "__type__": "cc.Node", @@ -845,7 +845,7 @@ "_is3DNode": false, "_groupIndex": 0, "groupIndex": 0, - "_id": "e1SVVBs6pDmI52ltKoFD6d" + "_id": "f7EXG9BGNEv6AWXdMTqWbb" }, { "__type__": "cc.Sprite", @@ -875,7 +875,7 @@ "_fillRange": 0, "_isTrimmedMode": true, "_atlas": null, - "_id": "025qCDItxA57ThVMG5sWtQ" + "_id": "2aE+3035tDJqfns9wb+A8e" }, { "__type__": "cc.Node", @@ -918,7 +918,7 @@ "ctor": "Float64Array", "array": [ 0, - 150, + 0, 0, 0, 0, @@ -940,7 +940,7 @@ "_is3DNode": false, "_groupIndex": 0, "groupIndex": 0, - "_id": "81cIITpURBEbMcOPB7cb6x" + "_id": "2b4Sev3gxKqbyDuqgotK3s" }, { "__type__": "cc.Label", @@ -973,7 +973,7 @@ "_N$fontFamily": "Arial", "_N$overflow": 0, "_N$cacheMode": 0, - "_id": "08NYYNx61NF42Hhp8PMtsi" + "_id": "cbby0qHztEJKoa9kkCSPhN" }, { "__type__": "cc.LabelOutline", @@ -991,7 +991,7 @@ "a": 255 }, "_width": 6, - "_id": "caGnJok0NK/o3JsDAm2Z52" + "_id": "9bWro31eJKybmJGCrePXSg" }, { "__type__": "9285eM4YhBJhL8+C569X294", @@ -1030,12 +1030,12 @@ }, "_collideBoxOpacity": 100, "_isCustomLabelActive": true, - "customComponentName": "Hero", + "_customComponentName": "Hero", "_customLabelString": "坐标:x,y\n角度:angle,弧度:radian\n世界坐标:wp\nhp:#hp mp:#mp\n#equip.shoe.attr.speed", "_customLabelOffset": { "__type__": "cc.Vec2", "x": 0, - "y": 150 + "y": 0 }, "_customLabelColor": { "__type__": "cc.Color", diff --git a/library/uuid-to-mtime.json b/library/uuid-to-mtime.json index 65aab2a..21224a8 100644 --- a/library/uuid-to-mtime.json +++ b/library/uuid-to-mtime.json @@ -1,547 +1,547 @@ { "9836134e-b892-4283-b6b2-78b5acf3ed45": { - "asset": 1682398123032, - "meta": 1685194618505, + "asset": 1696211512135, + "meta": 1701586361317, "relativePath": "effects" }, "f8e6b000-5643-4b86-9080-aa680ce1f599": { - "asset": 1682398123088, - "meta": 1685194618506, + "asset": 1696211512208, + "meta": 1701586361319, "relativePath": "image" }, "5c3eedba-6c41-4c0c-9ba7-d91f813cbd1c": { - "asset": 1682398123097, - "meta": 1685194618507, + "asset": 1696211512213, + "meta": 1701586361321, "relativePath": "materials" }, "fc09f9bd-2cce-4605-b630-8145ef809ed6": { - "asset": 1682398123103, - "meta": 1685194618508, + "asset": 1696211512226, + "meta": 1701586361322, "relativePath": "misc" }, "db019bf7-f71c-4111-98cf-918ea180cb48": { - "asset": 1682398123140, - "meta": 1685194618509, + "asset": 1696211512260, + "meta": 1701586361324, "relativePath": "model" }, "f6e6dd15-71d1-4ffe-ace7-24fd39942c05": { - "asset": 1682398123149, - "meta": 1685194618512, + "asset": 1696211512270, + "meta": 1701586361327, "relativePath": "obsolete" }, "f743d2b6-b7ea-4c14-a55b-547ed4d0a045": { - "asset": 1682398123155, - "meta": 1685194618514, + "asset": 1696211512278, + "meta": 1701586361330, "relativePath": "particle" }, "ae6c6c98-11e4-452f-8758-75f5c6a56e83": { - "asset": 1682398123246, - "meta": 1685194618515, + "asset": 1696211512374, + "meta": 1701586361332, "relativePath": "prefab" }, "d8afc78c-4eac-4a9f-83dd-67bc70344d33": { - "asset": 1682398123288, - "meta": 1685194618517, + "asset": 1696211512408, + "meta": 1701586361335, "relativePath": "resources" }, "abc2cb62-7852-4525-a90d-d474487b88f2": { - "asset": 1672392280858, - "meta": 1685194618699, + "asset": 1696211512118, + "meta": 1701586361602, "relativePath": "effects\\builtin-phong.effect" }, "e2f00085-c597-422d-9759-52c360279106": { - "asset": 1672392280859, - "meta": 1685194618797, + "asset": 1696211512123, + "meta": 1701586361700, "relativePath": "effects\\builtin-toon.effect" }, "430eccbf-bf2c-4e6e-8c0c-884bbb487f32": { - "asset": 1672392280854, - "meta": 1685194618819, + "asset": 1696211512129, + "meta": 1701586361727, "relativePath": "effects\\__builtin-editor-gizmo-line.effect" }, "6c5cf6e1-b044-4eac-9431-835644d57381": { - "asset": 1672392280855, - "meta": 1685194618832, + "asset": 1696211512132, + "meta": 1701586361742, "relativePath": "effects\\__builtin-editor-gizmo-unlit.effect" }, "115286d1-2e10-49ee-aab4-341583f607e8": { - "asset": 1672392280856, - "meta": 1685194618873, + "asset": 1696211512134, + "meta": 1701586361800, "relativePath": "effects\\__builtin-editor-gizmo.effect" }, "71561142-4c83-4933-afca-cb7a17f67053": { - "asset": 1672392280889, - "meta": 1685194618916, + "asset": 1696211512145, + "meta": 1701586361863, "relativePath": "image\\default_btn_disabled.png" }, "b43ff3c2-02bb-4874-81f7-f2dea6970f18": { - "asset": 1672392280892, - "meta": 1685194618932, + "asset": 1696211512151, + "meta": 1701586361868, "relativePath": "image\\default_btn_pressed.png" }, "e851e89b-faa2-4484-bea6-5c01dd9f06e2": { - "asset": 1672392280891, - "meta": 1685194618916, + "asset": 1696211512148, + "meta": 1701586361882, "relativePath": "image\\default_btn_normal.png" }, "d81ec8ad-247c-4e62-aa3c-d35c4193c7af": { - "asset": 1672392280895, - "meta": 1685194618936, + "asset": 1696211512156, + "meta": 1701586361875, "relativePath": "image\\default_panel.png" }, "edd215b9-2796-4a05-aaf5-81f96c9281ce": { - "asset": 1672392280894, - "meta": 1685194618916, + "asset": 1696211512154, + "meta": 1701586361872, "relativePath": "image\\default_editbox_bg.png" }, "600301aa-3357-4a10-b086-84f011fa32ba": { - "asset": 1672392280916, - "meta": 1685194618936, + "asset": 1696211512140, + "meta": 1701586361884, "relativePath": "image\\default-particle.png" }, "cfef78f1-c8df-49b7-8ed0-4c953ace2621": { - "asset": 1672392280899, - "meta": 1685194618916, + "asset": 1696211512162, + "meta": 1701586361887, "relativePath": "image\\default_progressbar.png" }, "99170b0b-d210-46f1-b213-7d9e3f23098a": { - "asset": 1672392280896, - "meta": 1685194618916, + "asset": 1696211512165, + "meta": 1701586361880, "relativePath": "image\\default_progressbar_bg.png" }, "9d60001f-b5f4-4726-a629-2659e3ded0b8": { - "asset": 1672392280901, - "meta": 1685194618952, + "asset": 1696211512171, + "meta": 1701586361918, "relativePath": "image\\default_radio_button_on.png" }, "0275e94c-56a7-410f-bd1a-fc7483f7d14a": { - "asset": 1672392280908, - "meta": 1685194618968, + "asset": 1696211512194, + "meta": 1701586361936, "relativePath": "image\\default_sprite_splash.png" }, "0291c134-b3da-4098-b7b5-e397edbe947f": { - "asset": 1672392280907, - "meta": 1685194618968, + "asset": 1696211512174, + "meta": 1701586361908, "relativePath": "image\\default_scrollbar.png" }, "4bab67cb-18e6-4099-b840-355f0473f890": { - "asset": 1672392280903, - "meta": 1685194618968, + "asset": 1696211512180, + "meta": 1701586361930, "relativePath": "image\\default_scrollbar_bg.png" }, "e39e96e6-6f6e-413f-bcf1-ac7679bb648a": { - "asset": 1682398123135, - "meta": 1685194618968, + "asset": 1696211512255, + "meta": 1701586361938, "relativePath": "model\\prefab" }, "567dcd80-8bf4-4535-8a5a-313f1caf078a": { - "asset": 1672392280900, - "meta": 1685194618968, + "asset": 1696211512168, + "meta": 1701586361922, "relativePath": "image\\default_radio_button_off.png" }, "d6d3ca85-4681-47c1-b5dd-d036a9d39ea2": { - "asset": 1672392280906, - "meta": 1685194618968, + "asset": 1696211512182, + "meta": 1701586361934, "relativePath": "image\\default_scrollbar_vertical.png" }, "c4480a0a-6ac5-443f-8b40-361a14257fc8": { - "asset": 1672392280920, - "meta": 1685194619554, + "asset": 1696211512212, + "meta": 1701586362653, "relativePath": "materials\\builtin-phong.mtl" }, "617323dd-11f4-4dd3-8eec-0caf6b3b45b9": { - "asset": 1672392280904, - "meta": 1685194618968, + "asset": 1696211512187, + "meta": 1701586361927, "relativePath": "image\\default_scrollbar_vertical_bg.png" }, "6e056173-d285-473c-b206-40a7fff5386e": { - "asset": 1672392280910, - "meta": 1685194618983, + "asset": 1696211512190, + "meta": 1701586361941, "relativePath": "image\\default_sprite.png" }, "73a0903d-d80e-4e3c-aa67-f999543c08f5": { - "asset": 1672392280911, - "meta": 1685194619033, + "asset": 1696211512196, + "meta": 1701586362005, "relativePath": "image\\default_toggle_checkmark.png" }, "b181c1e4-0a72-4a91-bfb0-ae6f36ca60bd": { - "asset": 1672392280915, - "meta": 1685194619040, + "asset": 1696211512206, + "meta": 1701586362014, "relativePath": "image\\default_toggle_pressed.png" }, "c25b9d50-c8fc-4d27-beeb-6e7c1f2e5c0f": { - "asset": 1672392280913, - "meta": 1685194619037, + "asset": 1696211512198, + "meta": 1701586362009, "relativePath": "image\\default_toggle_disabled.png" }, "2be36297-9abb-4fee-8049-9ed5e271da8a": { - "asset": 1672392280924, - "meta": 1685194619045, + "asset": 1696211512222, + "meta": 1701586362019, "relativePath": "misc\\default_video.mp4" }, "d29077ba-1627-4a72-9579-7b56a235340c": { - "asset": 1672392280914, - "meta": 1685194619043, + "asset": 1696211512202, + "meta": 1701586362012, "relativePath": "image\\default_toggle_normal.png" }, "897ef7a1-4860-4f64-968d-f5924b18668a": { - "asset": 1672392281012, - "meta": 1685194619057, + "asset": 1696211512282, + "meta": 1701586362025, "relativePath": "prefab\\2d-camera.prefab" }, "8a96b965-2dc0-4e03-aa90-3b79cb93b5b4": { - "asset": 1672392280966, - "meta": 1685194619052, + "asset": 1696211512268, + "meta": 1701586362037, "relativePath": "obsolete\\atom.png" }, "70d7cdb0-04cd-41bb-9480-c06a4785f386": { - "asset": 1672392281013, - "meta": 1685194619062, + "asset": 1696211512286, + "meta": 1701586362027, "relativePath": "prefab\\3d-camera.prefab" }, "ed88f13d-fcad-4848-aa35-65a2cb973584": { - "asset": 1672392281016, - "meta": 1685194619066, + "asset": 1696211512291, + "meta": 1701586362040, "relativePath": "prefab\\3d-stage.prefab" }, "a3ee0214-b432-4865-9666-4a3211814282": { - "asset": 1682398123199, - "meta": 1685194619070, + "asset": 1696211512329, + "meta": 1701586362042, "relativePath": "prefab\\light" }, "d0a82d39-bede-46c4-b698-c81ff0dedfff": { - "asset": 1672392280972, - "meta": 1685194619068, + "asset": 1696211512276, + "meta": 1701586362044, "relativePath": "particle\\atom.png" }, "70bbeb73-6dc2-4ee4-8faf-76b3a0e34ec4": { - "asset": 1672392281015, - "meta": 1685194619073, + "asset": 1696211512289, + "meta": 1701586362032, "relativePath": "prefab\\3d-particle.prefab" }, "972b9a4d-47ee-4c74-b5c3-61d8a69bc29f": { - "asset": 1672392281017, - "meta": 1685194619076, + "asset": 1696211512295, + "meta": 1701586362048, "relativePath": "prefab\\button.prefab" }, "2c937608-2562-40ea-b264-7395df6f0cea": { - "asset": 1672392281019, - "meta": 1685194619083, + "asset": 1696211512297, + "meta": 1701586362053, "relativePath": "prefab\\canvas.prefab" }, "61aeb05b-3b32-452b-8eed-2b76deeed554": { - "asset": 1672392281020, - "meta": 1685194619100, + "asset": 1696211512304, + "meta": 1701586362056, "relativePath": "prefab\\editbox.prefab" }, "27756ebb-3d33-44b0-9b96-e858fadd4dd4": { - "asset": 1672392281021, - "meta": 1685194619105, + "asset": 1696211512306, + "meta": 1701586362059, "relativePath": "prefab\\label.prefab" }, "785a442c-3ceb-45be-a46e-7317f625f3b9": { - "asset": 1672392281023, - "meta": 1685194619108, + "asset": 1696211512310, + "meta": 1701586362062, "relativePath": "prefab\\layout.prefab" }, "ca8401fe-ad6e-41a8-bd46-8e3e4e9945be": { - "asset": 1672392281036, - "meta": 1685194619115, + "asset": 1696211512331, + "meta": 1701586362066, "relativePath": "prefab\\pageview.prefab" }, "cd33edea-55f5-46c2-958d-357a01384a36": { - "asset": 1672392281037, - "meta": 1685194619112, + "asset": 1696211512335, + "meta": 1701586362070, "relativePath": "prefab\\particlesystem.prefab" }, "5965ffac-69da-4b55-bcde-9225d0613c28": { - "asset": 1672392281038, - "meta": 1685194619119, + "asset": 1696211512336, + "meta": 1701586362075, "relativePath": "prefab\\progressBar.prefab" }, "4a37dd57-78cd-4cec-aad4-f11a73d12b63": { - "asset": 1672392281040, - "meta": 1685194619123, + "asset": 1696211512339, + "meta": 1701586362082, "relativePath": "prefab\\richtext.prefab" }, "32044bd2-481f-4cf1-a656-e2b2fb1594eb": { - "asset": 1672392281041, - "meta": 1685194619137, + "asset": 1696211512342, + "meta": 1701586362092, "relativePath": "prefab\\scrollview.prefab" }, "0004d1cf-a0ad-47d8-ab17-34d3db9d35a3": { - "asset": 1672392281042, - "meta": 1685194619141, + "asset": 1696211512345, + "meta": 1701586362089, "relativePath": "prefab\\slider.prefab" }, "96083d03-c332-4a3f-9386-d03e2d19e8ee": { - "asset": 1672392281045, - "meta": 1685194619144, + "asset": 1696211512349, + "meta": 1701586362078, "relativePath": "prefab\\sprite.prefab" }, "1f55e3be-b89b-4b79-88de-47fd31018044": { - "asset": 1672392281044, - "meta": 1685194619148, + "asset": 1696211512352, + "meta": 1701586362087, "relativePath": "prefab\\sprite_splash.prefab" }, "7de03a80-4457-438d-95a7-3e7cdffd6086": { - "asset": 1672392281046, - "meta": 1685194619150, + "asset": 1696211512355, + "meta": 1701586362097, "relativePath": "prefab\\tiledmap.prefab" }, "294c1663-4adf-4a1e-a795-53808011a38a": { - "asset": 1682398123285, - "meta": 1685194619152, + "asset": 1696211512406, + "meta": 1701586362100, "relativePath": "resources\\effects" }, "0e42ba95-1fa1-46aa-b2cf-143cd1bcee2c": { - "asset": 1672392281048, - "meta": 1685194619154, + "asset": 1696211512358, + "meta": 1701586362106, "relativePath": "prefab\\tiledtile.prefab" }, "bbee2217-c261-49bd-a8ce-708d6bcc3500": { - "asset": 1682398123322, - "meta": 1685194619156, + "asset": 1696211512442, + "meta": 1701586362102, "relativePath": "resources\\materials" }, "0d784963-d024-4ea6-a7db-03be0ad63010": { - "asset": 1672392281049, - "meta": 1685194619161, + "asset": 1696211512360, + "meta": 1701586362109, "relativePath": "prefab\\toggle.prefab" }, "bf0a434c-84dd-4a8e-a08a-7a36f180cc75": { - "asset": 1672392281051, - "meta": 1685194619175, + "asset": 1696211512363, + "meta": 1701586362113, "relativePath": "prefab\\toggleContainer.prefab" }, "d1b8be49-b0a0-435c-83b7-552bed4bbe35": { - "asset": 1672392281052, - "meta": 1685194619180, + "asset": 1696211512367, + "meta": 1701586362120, "relativePath": "prefab\\toggleGroup.prefab" }, "232d2782-c4bd-4bb4-9e01-909f03d6d3b9": { - "asset": 1672392281053, - "meta": 1685194619182, + "asset": 1696211512369, + "meta": 1701586362117, "relativePath": "prefab\\videoplayer.prefab" }, "8c5001fd-07ee-4a4b-a8a0-63e15195e94d": { - "asset": 1672392281055, - "meta": 1685194619183, + "asset": 1696211512373, + "meta": 1701586362123, "relativePath": "prefab\\webview.prefab" }, "a87cc147-01b2-43f8-8e42-a7ca90b0c757": { - "asset": 1672392280949, - "meta": 1685194619183, + "asset": 1696211512233, + "meta": 1701586362127, "relativePath": "model\\prefab\\box.prefab" }, "fe1417b6-fe6b-46a4-ae7c-9fd331f33a2a": { - "asset": 1672392280951, - "meta": 1685194619183, + "asset": 1696211512235, + "meta": 1701586362135, "relativePath": "model\\prefab\\capsule.prefab" }, "b5fc2cf2-7942-483d-be1f-bbeadc4714ad": { - "asset": 1672392280952, - "meta": 1685194619183, + "asset": 1696211512238, + "meta": 1701586362130, "relativePath": "model\\prefab\\cone.prefab" }, "1c5e4038-953a-44c2-b620-0bbfc6170477": { - "asset": 1672392280953, - "meta": 1685194619199, + "asset": 1696211512241, + "meta": 1701586362138, "relativePath": "model\\prefab\\cylinder.prefab" }, "3f376125-a699-40ca-ad05-04d662eaa1f2": { - "asset": 1672392280955, - "meta": 1685194619212, + "asset": 1696211512243, + "meta": 1701586362166, "relativePath": "model\\prefab\\plane.prefab" }, "6c9ef10d-b479-420b-bfe6-39cdda6a8ae0": { - "asset": 1672392280956, - "meta": 1685194619238, + "asset": 1696211512244, + "meta": 1701586362145, "relativePath": "model\\prefab\\quad.prefab" }, "30682f87-9f0d-4f17-8a44-72863791461b": { - "asset": 1672392281098, - "meta": 1685194619229, + "asset": 1696211512381, + "meta": 1701586362164, "relativePath": "resources\\effects\\builtin-2d-graphics.effect" }, "144c3297-af63-49e8-b8ef-1cfa29b3be28": { - "asset": 1672392281099, - "meta": 1685194619238, + "asset": 1696211512383, + "meta": 1701586362183, "relativePath": "resources\\effects\\builtin-2d-gray-sprite.effect" }, "de510076-056b-484f-b94c-83bef217d0e1": { - "asset": 1672392280959, - "meta": 1685194619229, + "asset": 1696211512254, + "meta": 1701586362384, "relativePath": "model\\prefab\\torus.prefab" }, "f18742d7-56d2-4eb5-ae49-2d9d710b37c8": { - "asset": 1672392281101, - "meta": 1685194619253, + "asset": 1696211512386, + "meta": 1701586362200, "relativePath": "resources\\effects\\builtin-2d-label.effect" }, "2d9a4b85-b0ab-4c46-84c5-18f393ab2058": { - "asset": 1672392280957, - "meta": 1685194619206, + "asset": 1696211512248, + "meta": 1701586362142, "relativePath": "model\\prefab\\sphere.prefab" }, "0e93aeaa-0b53-4e40-b8e0-6268b4e07bd7": { - "asset": 1672392281102, - "meta": 1685194619269, + "asset": 1696211512390, + "meta": 1701586362216, "relativePath": "resources\\effects\\builtin-2d-spine.effect" }, "2874f8dd-416c-4440-81b7-555975426e93": { - "asset": 1672392281103, - "meta": 1685194619284, + "asset": 1696211512392, + "meta": 1701586362238, "relativePath": "resources\\effects\\builtin-2d-sprite.effect" }, "829a282c-b049-4019-bd38-5ace8d8a6417": { - "asset": 1672392281105, - "meta": 1685194619385, + "asset": 1696211512395, + "meta": 1701586362340, "relativePath": "resources\\effects\\builtin-3d-particle.effect" }, "2a7c0036-e0b3-4fe1-8998-89a54b8a2bec": { - "asset": 1672392281106, - "meta": 1685194619432, + "asset": 1696211512400, + "meta": 1701586362381, "relativePath": "resources\\effects\\builtin-3d-trail.effect" }, "61906da3-7003-4bda-9abc-5769c76faee4": { - "asset": 1672392281030, - "meta": 1685194619402, + "asset": 1696211512319, + "meta": 1701586362343, "relativePath": "prefab\\light\\ambient.prefab" }, "c0040c95-c57f-49cd-9cbc-12316b73d0d4": { - "asset": 1672392281107, - "meta": 1685194619438, + "asset": 1696211512402, + "meta": 1701586362401, "relativePath": "resources\\effects\\builtin-clear-stencil.effect" }, "6d91e591-4ce0-465c-809f-610ec95019c6": { - "asset": 1672392281109, - "meta": 1685194619469, + "asset": 1696211512405, + "meta": 1701586362434, "relativePath": "resources\\effects\\builtin-unlit.effect" }, "ddb99b39-7004-47cd-9705-751905c43c46": { - "asset": 1672392281032, - "meta": 1685194619433, + "asset": 1696211512321, + "meta": 1701586362443, "relativePath": "prefab\\light\\directional.prefab" }, "0cf30284-9073-46bc-9eba-e62b69dbbff3": { - "asset": 1672392281033, - "meta": 1685194619469, + "asset": 1696211512325, + "meta": 1701586362447, "relativePath": "prefab\\light\\point.prefab" }, "f5331fd2-bf42-4ee3-a3fd-3e1657600eff": { - "asset": 1672392281034, - "meta": 1685194619469, + "asset": 1696211512328, + "meta": 1701586362453, "relativePath": "prefab\\light\\spot.prefab" }, "6f801092-0c37-4f30-89ef-c8d960825b36": { - "asset": 1672392281124, - "meta": 1685194619616, + "asset": 1696211512410, + "meta": 1701586362762, "relativePath": "resources\\materials\\builtin-2d-base.mtl" }, "a153945d-2511-4c14-be7b-05d242f47d57": { - "asset": 1672392281125, - "meta": 1685194619616, + "asset": 1696211512414, + "meta": 1701586362763, "relativePath": "resources\\materials\\builtin-2d-graphics.mtl" }, "3a7bb79f-32fd-422e-ada2-96f518fed422": { - "asset": 1672392281126, - "meta": 1685194619616, + "asset": 1696211512416, + "meta": 1701586362767, "relativePath": "resources\\materials\\builtin-2d-gray-sprite.mtl" }, "e02d87d4-e599-4d16-8001-e14891ac6506": { - "asset": 1672392281128, - "meta": 1685194619616, + "asset": 1696211512419, + "meta": 1701586362769, "relativePath": "resources\\materials\\builtin-2d-label.mtl" }, "7afd064b-113f-480e-b793-8817d19f63c3": { - "asset": 1672392281129, - "meta": 1685194619616, + "asset": 1696211512423, + "meta": 1701586362773, "relativePath": "resources\\materials\\builtin-2d-spine.mtl" }, "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432": { - "asset": 1672392281130, - "meta": 1685194619616, + "asset": 1696211512427, + "meta": 1701586362771, "relativePath": "resources\\materials\\builtin-2d-sprite.mtl" }, "432fa09c-cf03-4cff-a186-982604408a07": { - "asset": 1672392281132, - "meta": 1685194619616, + "asset": 1696211512431, + "meta": 1701586362775, "relativePath": "resources\\materials\\builtin-3d-particle.mtl" }, "466d4f9b-e5f4-4ea8-85d5-3c6e9a65658a": { - "asset": 1672392281133, - "meta": 1685194619632, + "asset": 1696211512435, + "meta": 1701586362779, "relativePath": "resources\\materials\\builtin-3d-trail.mtl" }, "cf7e0bb8-a81c-44a9-ad79-d28d43991032": { - "asset": 1672392281134, - "meta": 1685194619632, + "asset": 1696211512438, + "meta": 1701586362784, "relativePath": "resources\\materials\\builtin-clear-stencil.mtl" }, "2a296057-247c-4a1c-bbeb-0548b6c98650": { - "asset": 1672392281135, - "meta": 1685194619632, + "asset": 1696211512442, + "meta": 1701586362776, "relativePath": "resources\\materials\\builtin-unlit.mtl" }, "b8223619-7e38-47c4-841f-9160c232495a": { - "asset": 1672392280965, - "meta": 1685194619651, + "asset": 1696211512265, + "meta": 1701586362800, "relativePath": "obsolete\\atom.plist" }, "b2687ac4-099e-403c-a192-ff477686f4f5": { - "asset": 1672392280971, - "meta": 1685194619652, + "asset": 1696211512274, + "meta": 1701586362802, "relativePath": "particle\\atom.plist" }, "954fec8b-cd16-4bb9-a3b7-7719660e7558": { - "asset": 1672392280960, - "meta": 1685194622446, + "asset": 1696211512258, + "meta": 1701586365928, "relativePath": "model\\primitives.fbx" }, "29f52784-2fca-467b-92e7-8fd9ef8c57b7": { - "asset": 1685194264356, - "meta": 1685194622466, + "asset": 1701586241723, + "meta": 1701586365946, "relativePath": "Scene" }, "4734c20c-0db8-4eb2-92ea-e692f4d70934": { - "asset": 1685194264359, - "meta": 1685194622466, + "asset": 1701586241731, + "meta": 1701586365947, "relativePath": "Script" }, "7b81d4e8-ec84-4716-968d-500ac1d78a54": { - "asset": 1685194264361, - "meta": 1685194622466, + "asset": 1701586241734, + "meta": 1701586365948, "relativePath": "Texture" }, "2d2f792f-a40c-49bb-a189-ed176a246e49": { - "asset": 1685199573086, - "meta": 1685199573098, + "asset": 1701588666378, + "meta": 1701588666387, "relativePath": "Scene\\helloworld.fire" }, "a8027877-d8d6-4645-97a0-52d4a0123dba": { - "asset": 1685194264359, - "meta": 1685194622776, + "asset": 1701586241732, + "meta": 1701586366226, "relativePath": "Texture\\singleColor.png" }, "e68a8476-8374-4400-ae48-d3eae5df38ea": { - "asset": 1685194264361, - "meta": 1685194622766, + "asset": 1701586241735, + "meta": 1701586366211, "relativePath": "cocos.anim" }, "70364224-9941-46cb-9c14-263fa45363b9": { - "asset": 1685194264360, - "meta": 1685194622776, + "asset": 1701586241733, + "meta": 1701586366228, "relativePath": "Texture\\zhizhuxia.png" }, "9285e338-6210-4984-bf3e-0b9ebd5f6f78": { - "asset": 1685198371101, - "meta": 1685198397889, + "asset": 1701586241731, + "meta": 1701586366206, "relativePath": "Script\\Hero.ts" }, "1c1526d4-850a-49e8-9d63-1a14155187fc": { - "asset": 1685199089854, - "meta": 1685199090808, + "asset": 1701588660891, + "meta": 1701588662051, "relativePath": "Script\\DataBoard.ts" } } \ No newline at end of file diff --git a/local/layout.editor.json b/local/layout.editor.json index 7514e27..e0efbdb 100644 --- a/local/layout.editor.json +++ b/local/layout.editor.json @@ -19,7 +19,7 @@ "children": [ { "width": 459, - "height": 316.828125, + "height": 317.140625, "type": "panel", "active": 0, "children": [ @@ -28,7 +28,7 @@ }, { "width": 459, - "height": 599.671875, + "height": 599.359375, "type": "panel", "active": 0, "children": [ @@ -44,7 +44,7 @@ "children": [ { "width": 980, - "height": 563.6875, + "height": 563.453125, "type": "panel", "active": 0, "children": [ @@ -53,7 +53,7 @@ }, { "width": 980, - "height": 352.8125, + "height": 353.03125, "type": "panel", "active": 1, "children": [ diff --git a/local/node-tree-state.json b/local/node-tree-state.json index 048c519..84400fc 100644 --- a/local/node-tree-state.json +++ b/local/node-tree-state.json @@ -1,7 +1,5 @@ { "nodeFoldStates": [ - "a286bbGknJLZpRpxROV6M94", - "c4f30YOS65G64U2TwufdJ+2", "11xD0BxxtBsL3dGyOmptts", "e9zbyA36BCPYqOZeetfKWr", "6azAOUfRhH0axn8sLbWQuh", @@ -17,6 +15,8 @@ "a5w5Fq9hJDnYchoSyoTCp2", "33A3j7mF5N6ql4/IWBl2Xf", "d4VV9JNglBRI3iGufdF8pm", - "85BlQuDb9HZKuhEJxwyGF+" + "85BlQuDb9HZKuhEJxwyGF+", + "a286bbGknJLZpRpxROV6M94", + "c4f30YOS65G64U2TwufdJ+2" ] } diff --git a/project.json b/project.json index 50c8fd7..c4000e9 100644 --- a/project.json +++ b/project.json @@ -1,7 +1,7 @@ { "engine": "cocos2d-html5", "packages": "packages", - "version": "2.4.11", + "version": "2.4.12", "name": "DataBoardDemo", "id": "3e5c1cd9-d1ab-4e7a-bd69-b58ce71aec07", "isNew": false diff --git a/settings/project.json b/settings/project.json index 79babe1..c9db4ca 100644 --- a/settings/project.json +++ b/settings/project.json @@ -31,5 +31,8 @@ "audience": { "enable": false } - } + }, + "migrate-history": [ + "cloud-function" + ] }