From 81ab8086b15754f17fa70dad96aa37e024d3d48b Mon Sep 17 00:00:00 2001 From: szrpf <27185709@qq.com> Date: Sat, 27 May 2023 22:28:36 +0800 Subject: [PATCH] v2.2 --- assets/Script/DataBoard.ts | 2 +- .../1c1526d4-850a-49e8-9d63-1a14155187fc.js | 2 +- ...c1526d4-850a-49e8-9d63-1a14155187fc.js.map | 2 +- library/uuid-to-mtime.json | 10 +- local/layout.editor.json | 17 +- .../BackupAssets/assets/Scene/helloworld.fire | 1229 ----------------- temp/BackupAssets/assets/cocos.anim | 96 -- .../bae6e81776395594d357794cb80c5a82.gltf | 859 ------------ .../buffer.bin | Bin 161028 -> 0 bytes temp/quick-scripts/dst/__file_stats__.json | 1 - temp/quick-scripts/dst/__qc_bundle__.js | 598 -------- temp/quick-scripts/dst/__qc_index__.js | 25 - temp/quick-scripts/dst/__quick_compile__.js | 267 ---- .../dst/assets/Script/DataBoard.js | 487 ------- temp/quick-scripts/dst/assets/Script/Hero.js | 83 -- temp/quick-scripts/src/__qc_index__.js | 3 - .../src/assets/Script/DataBoard.js | 465 ------- .../src/assets/Script/DataBoard.js.map | 1 - temp/quick-scripts/src/assets/Script/Hero.js | 61 - .../src/assets/Script/Hero.js.map | 1 - temp/startup.json | 1 - 21 files changed, 16 insertions(+), 4194 deletions(-) delete mode 100644 temp/BackupAssets/assets/Scene/helloworld.fire delete mode 100644 temp/BackupAssets/assets/cocos.anim delete mode 100644 temp/gltf/bae6e81776395594d357794cb80c5a82_out/bae6e81776395594d357794cb80c5a82.gltf delete mode 100644 temp/gltf/bae6e81776395594d357794cb80c5a82_out/buffer.bin delete mode 100644 temp/quick-scripts/dst/__file_stats__.json delete mode 100644 temp/quick-scripts/dst/__qc_bundle__.js delete mode 100644 temp/quick-scripts/dst/__qc_index__.js delete mode 100644 temp/quick-scripts/dst/__quick_compile__.js delete mode 100644 temp/quick-scripts/dst/assets/Script/DataBoard.js delete mode 100644 temp/quick-scripts/dst/assets/Script/Hero.js delete mode 100644 temp/quick-scripts/src/__qc_index__.js delete mode 100644 temp/quick-scripts/src/assets/Script/DataBoard.js delete mode 100644 temp/quick-scripts/src/assets/Script/DataBoard.js.map delete mode 100644 temp/quick-scripts/src/assets/Script/Hero.js delete mode 100644 temp/quick-scripts/src/assets/Script/Hero.js.map delete mode 100644 temp/startup.json diff --git a/assets/Script/DataBoard.ts b/assets/Script/DataBoard.ts index dd81c62..5260181 100644 --- a/assets/Script/DataBoard.ts +++ b/assets/Script/DataBoard.ts @@ -159,7 +159,7 @@ export default class DataBoard extends cc.Component { 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'].HideInHierarchy; this.boardNode['_objFlags'] |= cc.Object['Flags'].LockedInEditor; this.outlineBoxNode = new cc.Node('OutlineBox'); diff --git a/library/imports/1c/1c1526d4-850a-49e8-9d63-1a14155187fc.js b/library/imports/1c/1c1526d4-850a-49e8-9d63-1a14155187fc.js index 53c23c8..fbc5e38 100644 --- a/library/imports/1c/1c1526d4-850a-49e8-9d63-1a14155187fc.js +++ b/library/imports/1c/1c1526d4-850a-49e8-9d63-1a14155187fc.js @@ -219,7 +219,7 @@ var DataBoard = /** @class */ (function (_super) { 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'].HideInHierarchy; this.boardNode['_objFlags'] |= cc.Object['Flags'].LockedInEditor; this.outlineBoxNode = new cc.Node('OutlineBox'); this.outlineBoxNode.setParent(this.boardNode); 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 50eda10..c014019 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(/ |\\t/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 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 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({ 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(/ |\\t/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 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 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 diff --git a/library/uuid-to-mtime.json b/library/uuid-to-mtime.json index 17c2680..e04cf6b 100644 --- a/library/uuid-to-mtime.json +++ b/library/uuid-to-mtime.json @@ -534,14 +534,14 @@ "meta": 1685194622776, "relativePath": "Texture\\zhizhuxia.png" }, - "1c1526d4-850a-49e8-9d63-1a14155187fc": { - "asset": 1685197299221, - "meta": 1685197300603, - "relativePath": "Script\\DataBoard.ts" - }, "9285e338-6210-4984-bf3e-0b9ebd5f6f78": { "asset": 1685197428895, "meta": 1685197433673, "relativePath": "Script\\Hero.ts" + }, + "1c1526d4-850a-49e8-9d63-1a14155187fc": { + "asset": 1685197605521, + "meta": 1685197607883, + "relativePath": "Script\\DataBoard.ts" } } \ No newline at end of file diff --git a/local/layout.editor.json b/local/layout.editor.json index 2934521..bf66f12 100644 --- a/local/layout.editor.json +++ b/local/layout.editor.json @@ -14,12 +14,12 @@ "children": [ { "width": 459, - "height": 922, + "height": 919.5, "type": "dock-v", "children": [ { "width": 459, - "height": 318, + "height": 317.140625, "type": "panel", "active": 0, "children": [ @@ -28,7 +28,7 @@ }, { "width": 459, - "height": 601, + "height": 599.359375, "type": "panel", "active": 0, "children": [ @@ -39,12 +39,12 @@ }, { "width": 980, - "height": 922, + "height": 919.5, "type": "dock-v", "children": [ { "width": 980, - "height": 565.984375, + "height": 564.453125, "type": "panel", "active": 0, "children": [ @@ -53,7 +53,7 @@ }, { "width": 980, - "height": 353, + "height": 352.03125, "type": "panel", "active": 1, "children": [ @@ -66,7 +66,7 @@ }, { "width": 459, - "height": 922, + "height": 919.5, "type": "panel", "active": 0, "children": [ @@ -86,8 +86,7 @@ "inspector", "cocos-services" ] - }, - " common-asset-worker-worker": {} + } }, "panels": { "simulator-debugger": { diff --git a/temp/BackupAssets/assets/Scene/helloworld.fire b/temp/BackupAssets/assets/Scene/helloworld.fire deleted file mode 100644 index a9d9522..0000000 --- a/temp/BackupAssets/assets/Scene/helloworld.fire +++ /dev/null @@ -1,1229 +0,0 @@ -[ - { - "__type__": "cc.SceneAsset", - "_name": "", - "_objFlags": 0, - "_native": "", - "scene": { - "__id__": 1 - } - }, - { - "__type__": "cc.Scene", - "_objFlags": 0, - "_parent": null, - "_children": [ - { - "__id__": 2 - } - ], - "_active": true, - "_components": [], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 0, - "height": 0 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_is3DNode": true, - "_groupIndex": 0, - "groupIndex": 0, - "autoReleaseAssets": false, - "_id": "2d2f792f-a40c-49bb-a189-ed176a246e49" - }, - { - "__type__": "cc.Node", - "_name": "Canvas", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [ - { - "__id__": 3 - }, - { - "__id__": 5 - }, - { - "__id__": 8 - }, - { - "__id__": 23 - } - ], - "_active": true, - "_components": [ - { - "__id__": 26 - }, - { - "__id__": 27 - }, - { - "__id__": 28 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 252, - "g": 252, - "b": 252, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 1080, - "height": 1920 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 540, - 960, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "a286bbGknJLZpRpxROV6M94" - }, - { - "__type__": "cc.Node", - "_name": "Main Camera", - "_objFlags": 0, - "_parent": { - "__id__": 2 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 4 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 0, - "height": 0 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "beX5p+L8JFDJX8o8E3GMkI" - }, - { - "__type__": "cc.Camera", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 3 - }, - "_enabled": true, - "_cullingMask": 4294967295, - "_clearFlags": 7, - "_backgroundColor": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 255 - }, - "_depth": -1, - "_zoomRatio": 1, - "_targetTexture": null, - "_fov": 60, - "_orthoSize": 10, - "_nearClip": 1, - "_farClip": 4096, - "_ortho": true, - "_rect": { - "__type__": "cc.Rect", - "x": 0, - "y": 0, - "width": 1, - "height": 1 - }, - "_renderStages": 1, - "_alignWithScreen": true, - "_id": "b2UwrzyPlKaYPFmGq0XMP0" - }, - { - "__type__": "cc.Node", - "_name": "background", - "_objFlags": 0, - "_parent": { - "__id__": 2 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 6 - }, - { - "__id__": 7 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 27, - "g": 38, - "b": 46, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 1080, - "height": 1920 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "e2e0crkOLxGrpMxpbC4iQg1" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 5 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "410fb916-8721-4663-bab8-34397391ace7" - }, - "_type": 1, - "_sizeMode": 0, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "abjtQMd/tMf6DvKGm5qxjk" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 5 - }, - "_enabled": true, - "alignMode": 0, - "_target": null, - "_alignFlags": 45, - "_left": 0, - "_right": 0, - "_top": 0, - "_bottom": 0, - "_verticalCenter": 0, - "_horizontalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 200, - "_originalHeight": 150, - "_id": "dfc8vCoidNbIp3vQH4RSGm" - }, - { - "__type__": "cc.Node", - "_name": "挂上DataBoard的对象", - "_objFlags": 0, - "_parent": { - "__id__": 2 - }, - "_children": [ - { - "__id__": 9 - }, - { - "__id__": 11 - } - ], - "_active": true, - "_components": [ - { - "__id__": 21 - }, - { - "__id__": 22 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 200, - "height": 150 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "c4f30YOS65G64U2TwufdJ+2" - }, - { - "__type__": "cc.Node", - "_name": "图片", - "_objFlags": 0, - "_parent": { - "__id__": 8 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 10 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 200, - "height": 150 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "f6TKmX5pZEvpWsQwfo5nKR" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 9 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "6e0882b8-ac14-4ee7-b636-cb22032c50b1" - }, - "_type": 0, - "_sizeMode": 0, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "69tmZ9SddHIJlXaFaUAYQy" - }, - { - "__type__": "cc.Node", - "_name": "DataBoard", - "_objFlags": 512, - "_parent": { - "__id__": 8 - }, - "_children": [ - { - "__id__": 12 - }, - { - "__id__": 14 - }, - { - "__id__": 16 - }, - { - "__id__": 18 - } - ], - "_active": true, - "_components": [], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 0, - "height": 0 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "85BlQuDb9HZKuhEJxwyGF+" - }, - { - "__type__": "cc.Node", - "_name": "OutlineBox", - "_objFlags": 0, - "_parent": { - "__id__": 11 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 13 - } - ], - "_prefab": null, - "_opacity": 100, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 0, - "b": 0, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 200, - "height": 150 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "49+qljSBFDb61/iC62OrLE" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 12 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": null, - "_type": 0, - "_sizeMode": 0, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "6axJdFuntK570hv44oHwcH" - }, - { - "__type__": "cc.Node", - "_name": "CollideBox", - "_objFlags": 0, - "_parent": { - "__id__": 11 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 15 - } - ], - "_prefab": null, - "_opacity": 100, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 200, - "height": 150 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "66fiagvGZM17jxJS3e3R/O" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 14 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": null, - "_type": 0, - "_sizeMode": 0, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "e7StEP5C5EIY76/7RYAGaS" - }, - { - "__type__": "cc.Node", - "_name": "AnchorPoint", - "_objFlags": 0, - "_parent": { - "__id__": 11 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 17 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 0, - "b": 0, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 20, - "height": 20 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "67uLDk0kNPMLrmc4a+2Lcz" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 16 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": null, - "_type": 0, - "_sizeMode": 0, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "19kjTk6vxDsqYAK8l1jO+n" - }, - { - "__type__": "cc.Node", - "_name": "CustomLabel", - "_objFlags": 0, - "_parent": { - "__id__": 11 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 19 - }, - { - "__id__": 20 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 0, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 618.97, - "height": 390.72 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 150, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "930hpjvLBPHbYO0z9MngLs" - }, - { - "__type__": "cc.Label", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 18 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_string": "坐标:\t0.0,\t0.0\n角度:\t0.0°,\t弧度:\t0.0π\n世界坐标:\t540.0,\t960.0\nhp:\t100.0\t\t\t\t\t\tmp:\t60.0\n5.0", - "_N$string": "坐标:\t0.0,\t0.0\n角度:\t0.0°,\t弧度:\t0.0π\n世界坐标:\t540.0,\t960.0\nhp:\t100.0\t\t\t\t\t\tmp:\t60.0\n5.0", - "_fontSize": 60, - "_lineHeight": 72, - "_enableWrapText": true, - "_N$file": null, - "_isSystemFontUsed": true, - "_spacingX": 0, - "_batchAsBitmap": false, - "_styleFlags": 0, - "_underlineHeight": 0, - "_N$horizontalAlign": 0, - "_N$verticalAlign": 0, - "_N$fontFamily": "Arial", - "_N$overflow": 0, - "_N$cacheMode": 0, - "_id": "357EdNN/VPTaPJCzr51Jj0" - }, - { - "__type__": "cc.LabelOutline", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 18 - }, - "_enabled": true, - "_color": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 255 - }, - "_width": 6, - "_id": "b4ov1ei1RJaZNO5PGzLCHc" - }, - { - "__type__": "9285eM4YhBJhL8+C569X294", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 8 - }, - "_enabled": true, - "_id": "1b9viFHsFJHrX+D1PV5q6g" - }, - { - "__type__": "1c152bUhQpJ6J1jGhQVUYf8", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 8 - }, - "_enabled": true, - "_isOutlineBoxActive": true, - "_outlineBoxColor": { - "__type__": "cc.Color", - "r": 255, - "g": 0, - "b": 0, - "a": 255 - }, - "_outlineBoxOpacity": 100, - "_isCollideBoxActive": true, - "_collideBoxColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_collideBoxOpacity": 100, - "_isCustomLabelActive": true, - "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 - }, - "_customLabelColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 0, - "a": 255 - }, - "_customLabelSize": 60, - "_customLabelDigit": 1, - "_id": "f4qvGlRGRDaZMkdYB8uWAL" - }, - { - "__type__": "cc.Node", - "_name": "label", - "_objFlags": 0, - "_parent": { - "__id__": 2 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 24 - }, - { - "__id__": 25 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 714.85, - "height": 268.8 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 800, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "31f1bH7V69Ajr1iXhluMpTB" - }, - { - "__type__": "cc.Label", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 23 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_string": "给节点挂上DataBoard组件\n就可以实时观察节点数据\n可以自定义显示哪些数据", - "_N$string": "给节点挂上DataBoard组件\n就可以实时观察节点数据\n可以自定义显示哪些数据", - "_fontSize": 60, - "_lineHeight": 80, - "_enableWrapText": true, - "_N$file": null, - "_isSystemFontUsed": true, - "_spacingX": 0, - "_batchAsBitmap": false, - "_styleFlags": 0, - "_underlineHeight": 0, - "_N$horizontalAlign": 1, - "_N$verticalAlign": 1, - "_N$fontFamily": "Arial", - "_N$overflow": 0, - "_N$cacheMode": 0, - "_id": "5eZsIX/qFMkbiOrdVmSz9v" - }, - { - "__type__": "cc.LabelOutline", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 23 - }, - "_enabled": true, - "_color": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 255 - }, - "_width": 4, - "_id": "65xBVKP8ZGyY7E1Nf3N1VZ" - }, - { - "__type__": "cc.Canvas", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "_designResolution": { - "__type__": "cc.Size", - "width": 1080, - "height": 1920 - }, - "_fitWidth": false, - "_fitHeight": true, - "_id": "06wrVrs6dDr459DYnp1+6H" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "alignMode": 1, - "_target": null, - "_alignFlags": 45, - "_left": 0, - "_right": 0, - "_top": 0, - "_bottom": 0, - "_verticalCenter": 0, - "_horizontalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 0, - "_originalHeight": 0, - "_id": "4cvZlA+wVNOrzTSkfnT7pQ" - }, - { - "__type__": "cc.Animation", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "_defaultClip": { - "__uuid__": "e68a8476-8374-4400-ae48-d3eae5df38ea" - }, - "_clips": [ - { - "__uuid__": "e68a8476-8374-4400-ae48-d3eae5df38ea" - } - ], - "playOnLoad": true, - "_id": "cd74CS5/tJJIz0ZhobU6PW" - } -] \ No newline at end of file diff --git a/temp/BackupAssets/assets/cocos.anim b/temp/BackupAssets/assets/cocos.anim deleted file mode 100644 index 7a6b9b0..0000000 --- a/temp/BackupAssets/assets/cocos.anim +++ /dev/null @@ -1,96 +0,0 @@ -{ - "__type__": "cc.AnimationClip", - "_name": "cocos", - "_objFlags": 0, - "_native": "", - "_duration": 2.5, - "sample": 60, - "speed": 0.1, - "wrapMode": 2, - "curveData": { - "props": { - "position": [], - "angle": [], - "scale": [] - }, - "paths": { - "挂上DataBoard的对象": { - "props": { - "position": [ - { - "frame": 0, - "value": [ - 0, - 50, - 0 - ] - }, - { - "frame": 0.5, - "value": [ - -169.683, - 414.072, - 0 - ] - }, - { - "frame": 1, - "value": [ - -324.126, - -518.753, - 0 - ] - }, - { - "frame": 1.0166666666666666, - "value": [ - -193.883, - -514.716, - 0 - ] - }, - { - "frame": 1.5, - "value": [ - 247.091, - 323.062, - 0 - ] - }, - { - "frame": 2, - "value": [ - 215.112, - -535.196, - 0 - ] - }, - { - "frame": 2.5, - "value": [ - 0, - 50, - 0 - ] - } - ], - "angle": [ - { - "frame": 0, - "value": 0 - }, - { - "frame": 1, - "value": 720 - }, - { - "frame": 2.5, - "value": 0 - } - ] - } - } - } - }, - "events": [] -} \ No newline at end of file diff --git a/temp/gltf/bae6e81776395594d357794cb80c5a82_out/bae6e81776395594d357794cb80c5a82.gltf b/temp/gltf/bae6e81776395594d357794cb80c5a82_out/bae6e81776395594d357794cb80c5a82.gltf deleted file mode 100644 index ca72477..0000000 --- a/temp/gltf/bae6e81776395594d357794cb80c5a82_out/bae6e81776395594d357794cb80c5a82.gltf +++ /dev/null @@ -1,859 +0,0 @@ -{ - "asset": { - "generator": "FBX2glTF", - "version": "2.0" - }, - "scene": 0, - "buffers": [ - { - "byteLength": 161028, - "uri": "buffer.bin" - } - ], - "bufferViews": [ - { - "buffer": 0, - "byteLength": 12288, - "byteOffset": 0, - "target": 34963 - }, - { - "buffer": 0, - "byteLength": 13860, - "byteOffset": 12288, - "target": 34962 - }, - { - "buffer": 0, - "byteLength": 13860, - "byteOffset": 26148, - "target": 34962 - }, - { - "buffer": 0, - "byteLength": 9240, - "byteOffset": 40008, - "target": 34962 - }, - { - "buffer": 0, - "byteLength": 1200, - "byteOffset": 49248, - "target": 34963 - }, - { - "buffer": 0, - "byteLength": 1452, - "byteOffset": 50448, - "target": 34962 - }, - { - "buffer": 0, - "byteLength": 1452, - "byteOffset": 51900, - "target": 34962 - }, - { - "buffer": 0, - "byteLength": 968, - "byteOffset": 53352, - "target": 34962 - }, - { - "buffer": 0, - "byteLength": 384, - "byteOffset": 54320, - "target": 34963 - }, - { - "buffer": 0, - "byteLength": 1548, - "byteOffset": 54704, - "target": 34962 - }, - { - "buffer": 0, - "byteLength": 1548, - "byteOffset": 56252, - "target": 34962 - }, - { - "buffer": 0, - "byteLength": 1032, - "byteOffset": 57800, - "target": 34962 - }, - { - "buffer": 0, - "byteLength": 12288, - "byteOffset": 58832, - "target": 34963 - }, - { - "buffer": 0, - "byteLength": 13068, - "byteOffset": 71120, - "target": 34962 - }, - { - "buffer": 0, - "byteLength": 13068, - "byteOffset": 84188, - "target": 34962 - }, - { - "buffer": 0, - "byteLength": 8712, - "byteOffset": 97256, - "target": 34962 - }, - { - "buffer": 0, - "byteLength": 12288, - "byteOffset": 105968, - "target": 34963 - }, - { - "buffer": 0, - "byteLength": 13068, - "byteOffset": 118256, - "target": 34962 - }, - { - "buffer": 0, - "byteLength": 13068, - "byteOffset": 131324, - "target": 34962 - }, - { - "buffer": 0, - "byteLength": 8712, - "byteOffset": 144392, - "target": 34962 - }, - { - "buffer": 0, - "byteLength": 12, - "byteOffset": 153104, - "target": 34963 - }, - { - "buffer": 0, - "byteLength": 48, - "byteOffset": 153116, - "target": 34962 - }, - { - "buffer": 0, - "byteLength": 48, - "byteOffset": 153164, - "target": 34962 - }, - { - "buffer": 0, - "byteLength": 32, - "byteOffset": 153212, - "target": 34962 - }, - { - "buffer": 0, - "byteLength": 768, - "byteOffset": 153244, - "target": 34963 - }, - { - "buffer": 0, - "byteLength": 2316, - "byteOffset": 154012, - "target": 34962 - }, - { - "buffer": 0, - "byteLength": 2316, - "byteOffset": 156328, - "target": 34962 - }, - { - "buffer": 0, - "byteLength": 1544, - "byteOffset": 158644, - "target": 34962 - }, - { - "buffer": 0, - "byteLength": 72, - "byteOffset": 160188, - "target": 34963 - }, - { - "buffer": 0, - "byteLength": 288, - "byteOffset": 160260, - "target": 34962 - }, - { - "buffer": 0, - "byteLength": 288, - "byteOffset": 160548, - "target": 34962 - }, - { - "buffer": 0, - "byteLength": 192, - "byteOffset": 160836, - "target": 34962 - } - ], - "scenes": [ - { - "name": "Root Scene", - "nodes": [ - 0 - ] - } - ], - "accessors": [ - { - "componentType": 5123, - "type": "SCALAR", - "count": 6144, - "bufferView": 0, - "byteOffset": 0 - }, - { - "componentType": 5126, - "type": "VEC3", - "count": 1155, - "bufferView": 1, - "byteOffset": 0, - "min": [ - -0.5, - -1.0, - -0.5 - ], - "max": [ - 0.5, - 1.0, - 0.5 - ] - }, - { - "componentType": 5126, - "type": "VEC3", - "count": 1155, - "bufferView": 2, - "byteOffset": 0 - }, - { - "componentType": 5126, - "type": "VEC2", - "count": 1155, - "bufferView": 3, - "byteOffset": 0 - }, - { - "componentType": 5123, - "type": "SCALAR", - "count": 600, - "bufferView": 4, - "byteOffset": 0 - }, - { - "componentType": 5126, - "type": "VEC3", - "count": 121, - "bufferView": 5, - "byteOffset": 0, - "min": [ - -5.0, - 0.0, - -5.0 - ], - "max": [ - 5.0, - 0.0, - 5.0 - ] - }, - { - "componentType": 5126, - "type": "VEC3", - "count": 121, - "bufferView": 6, - "byteOffset": 0 - }, - { - "componentType": 5126, - "type": "VEC2", - "count": 121, - "bufferView": 7, - "byteOffset": 0 - }, - { - "componentType": 5123, - "type": "SCALAR", - "count": 192, - "bufferView": 8, - "byteOffset": 0 - }, - { - "componentType": 5126, - "type": "VEC3", - "count": 129, - "bufferView": 9, - "byteOffset": 0, - "min": [ - -0.5, - -0.5, - -0.499999940395355 - ], - "max": [ - 0.5, - 0.5, - 0.5 - ] - }, - { - "componentType": 5126, - "type": "VEC3", - "count": 129, - "bufferView": 10, - "byteOffset": 0 - }, - { - "componentType": 5126, - "type": "VEC2", - "count": 129, - "bufferView": 11, - "byteOffset": 0 - }, - { - "componentType": 5123, - "type": "SCALAR", - "count": 6144, - "bufferView": 12, - "byteOffset": 0 - }, - { - "componentType": 5126, - "type": "VEC3", - "count": 1089, - "bufferView": 13, - "byteOffset": 0, - "min": [ - -0.5, - -0.0999999940395355, - -0.5 - ], - "max": [ - 0.5, - 0.0999999940395355, - 0.5 - ] - }, - { - "componentType": 5126, - "type": "VEC3", - "count": 1089, - "bufferView": 14, - "byteOffset": 0 - }, - { - "componentType": 5126, - "type": "VEC2", - "count": 1089, - "bufferView": 15, - "byteOffset": 0 - }, - { - "componentType": 5123, - "type": "SCALAR", - "count": 6144, - "bufferView": 16, - "byteOffset": 0 - }, - { - "componentType": 5126, - "type": "VEC3", - "count": 1089, - "bufferView": 17, - "byteOffset": 0, - "min": [ - -0.5, - -0.5, - -0.5 - ], - "max": [ - 0.5, - 0.5, - 0.5 - ] - }, - { - "componentType": 5126, - "type": "VEC3", - "count": 1089, - "bufferView": 18, - "byteOffset": 0 - }, - { - "componentType": 5126, - "type": "VEC2", - "count": 1089, - "bufferView": 19, - "byteOffset": 0 - }, - { - "componentType": 5123, - "type": "SCALAR", - "count": 6, - "bufferView": 20, - "byteOffset": 0 - }, - { - "componentType": 5126, - "type": "VEC3", - "count": 4, - "bufferView": 21, - "byteOffset": 0, - "min": [ - -0.5, - -0.5, - 0.0 - ], - "max": [ - 0.5, - 0.5, - 0.0 - ] - }, - { - "componentType": 5126, - "type": "VEC3", - "count": 4, - "bufferView": 22, - "byteOffset": 0 - }, - { - "componentType": 5126, - "type": "VEC2", - "count": 4, - "bufferView": 23, - "byteOffset": 0 - }, - { - "componentType": 5123, - "type": "SCALAR", - "count": 384, - "bufferView": 24, - "byteOffset": 0 - }, - { - "componentType": 5126, - "type": "VEC3", - "count": 193, - "bufferView": 25, - "byteOffset": 0, - "min": [ - -0.5, - -1.0, - -0.5 - ], - "max": [ - 0.5, - 1.0, - 0.5 - ] - }, - { - "componentType": 5126, - "type": "VEC3", - "count": 193, - "bufferView": 26, - "byteOffset": 0 - }, - { - "componentType": 5126, - "type": "VEC2", - "count": 193, - "bufferView": 27, - "byteOffset": 0 - }, - { - "componentType": 5123, - "type": "SCALAR", - "count": 36, - "bufferView": 28, - "byteOffset": 0 - }, - { - "componentType": 5126, - "type": "VEC3", - "count": 24, - "bufferView": 29, - "byteOffset": 0, - "min": [ - -0.5, - -0.5, - -0.5 - ], - "max": [ - 0.5, - 0.5, - 0.5 - ] - }, - { - "componentType": 5126, - "type": "VEC3", - "count": 24, - "bufferView": 30, - "byteOffset": 0 - }, - { - "componentType": 5126, - "type": "VEC2", - "count": 24, - "bufferView": 31, - "byteOffset": 0 - } - ], - "samplers": [ - {} - ], - "materials": [ - { - "name": "DefaultMaterial", - "alphaMode": "OPAQUE", - "extras": { - "fromFBX": { - "shadingModel": "Lambert", - "isTruePBR": false - } - }, - "pbrMetallicRoughness": { - "baseColorFactor": [ - 0.5, - 0.5, - 0.5, - 1.0 - ], - "metallicFactor": 0.200000002980232, - "roughnessFactor": 0.800000011920929 - } - } - ], - "meshes": [ - { - "name": "capsule", - "primitives": [ - { - "material": 0, - "mode": 4, - "attributes": { - "NORMAL": 2, - "POSITION": 1, - "TEXCOORD_0": 3 - }, - "indices": 0 - } - ] - }, - { - "name": "plane", - "primitives": [ - { - "material": 0, - "mode": 4, - "attributes": { - "NORMAL": 6, - "POSITION": 5, - "TEXCOORD_0": 7 - }, - "indices": 4 - } - ] - }, - { - "name": "cone", - "primitives": [ - { - "material": 0, - "mode": 4, - "attributes": { - "NORMAL": 10, - "POSITION": 9, - "TEXCOORD_0": 11 - }, - "indices": 8 - } - ] - }, - { - "name": "torus", - "primitives": [ - { - "material": 0, - "mode": 4, - "attributes": { - "NORMAL": 14, - "POSITION": 13, - "TEXCOORD_0": 15 - }, - "indices": 12 - } - ] - }, - { - "name": "sphere", - "primitives": [ - { - "material": 0, - "mode": 4, - "attributes": { - "NORMAL": 18, - "POSITION": 17, - "TEXCOORD_0": 19 - }, - "indices": 16 - } - ] - }, - { - "name": "quad", - "primitives": [ - { - "material": 0, - "mode": 4, - "attributes": { - "NORMAL": 22, - "POSITION": 21, - "TEXCOORD_0": 23 - }, - "indices": 20 - } - ] - }, - { - "name": "cylinder", - "primitives": [ - { - "material": 0, - "mode": 4, - "attributes": { - "NORMAL": 26, - "POSITION": 25, - "TEXCOORD_0": 27 - }, - "indices": 24 - } - ] - }, - { - "name": "box", - "primitives": [ - { - "material": 0, - "mode": 4, - "attributes": { - "NORMAL": 30, - "POSITION": 29, - "TEXCOORD_0": 31 - }, - "indices": 28 - } - ] - } - ], - "nodes": [ - { - "name": "RootNode", - "translation": [ - 0.0, - 0.0, - 0.0 - ], - "rotation": [ - 0.0, - 0.0, - 0.0, - 1.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "children": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ] - }, - { - "name": "capsule", - "translation": [ - 0.0, - 0.0, - 0.0 - ], - "rotation": [ - 8.14603353660459e-08, - 0.0, - 0.0, - 1.0 - ], - "scale": [ - 100.0, - 100.0, - 100.0 - ], - "mesh": 0 - }, - { - "name": "plane", - "translation": [ - 0.0, - 0.0, - 0.0 - ], - "rotation": [ - 8.14603353660459e-08, - 0.0, - 0.0, - 1.0 - ], - "scale": [ - 100.0, - 100.0, - 100.0 - ], - "mesh": 1 - }, - { - "name": "cone", - "translation": [ - 0.0, - 0.0, - 0.0 - ], - "rotation": [ - -0.707106828689575, - 0.0, - 0.0, - 0.707106709480286 - ], - "scale": [ - 100.0, - 100.0, - 100.0 - ], - "mesh": 2 - }, - { - "name": "torus", - "translation": [ - 0.0, - 0.0, - 0.0 - ], - "rotation": [ - 8.14603353660459e-08, - 0.0, - 0.0, - 1.0 - ], - "scale": [ - 100.0, - 100.0, - 100.0 - ], - "mesh": 3 - }, - { - "name": "sphere", - "translation": [ - 0.0, - 0.0, - 0.0 - ], - "rotation": [ - 8.14603353660459e-08, - 0.0, - 0.0, - 1.0 - ], - "scale": [ - 100.0, - 100.0, - 100.0 - ], - "mesh": 4 - }, - { - "name": "quad", - "translation": [ - 0.0, - 0.0, - 0.0 - ], - "rotation": [ - 8.14603353660459e-08, - 0.0, - 0.0, - 1.0 - ], - "scale": [ - 100.0, - 100.0, - 100.0 - ], - "mesh": 5 - }, - { - "name": "cylinder", - "translation": [ - 0.0, - 0.0, - 0.0 - ], - "rotation": [ - 8.14603353660459e-08, - 0.0, - 0.0, - 1.0 - ], - "scale": [ - 100.0, - 100.0, - 100.0 - ], - "mesh": 6 - }, - { - "name": "box", - "translation": [ - 0.0, - 0.0, - 0.0 - ], - "rotation": [ - 8.14603353660459e-08, - 0.0, - 0.0, - 1.0 - ], - "scale": [ - 100.0, - 100.0, - 100.0 - ], - "mesh": 7 - } - ] -} \ No newline at end of file diff --git a/temp/gltf/bae6e81776395594d357794cb80c5a82_out/buffer.bin b/temp/gltf/bae6e81776395594d357794cb80c5a82_out/buffer.bin deleted file mode 100644 index 743d7d2887b6597591c8241ca8520961094b35b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 161028 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 diff --git a/temp/quick-scripts/dst/__file_stats__.json b/temp/quick-scripts/dst/__file_stats__.json deleted file mode 100644 index b616ac0..0000000 --- a/temp/quick-scripts/dst/__file_stats__.json +++ /dev/null @@ -1 +0,0 @@ -{"version":"1.0.8","stats":{"D:/Project/DataBoardDemo/temp/quick-scripts/src/__qc_index__.js":"2023-05-27T13:37:03.175Z","D:/Project/DataBoardDemo/temp/quick-scripts/src/assets/Script/Hero.js":"2023-05-27T13:37:03.096Z","D:/Project/DataBoardDemo/temp/quick-scripts/src/assets/Script/DataBoard.js":"2023-05-27T13:37:03.096Z"}} diff --git a/temp/quick-scripts/dst/__qc_bundle__.js b/temp/quick-scripts/dst/__qc_bundle__.js deleted file mode 100644 index 86641a4..0000000 --- a/temp/quick-scripts/dst/__qc_bundle__.js +++ /dev/null @@ -1,598 +0,0 @@ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/__qc_index__.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);} -require('./assets/Script/DataBoard'); -require('./assets/Script/Hero'); - - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/Hero.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, '9285eM4YhBJhL8+C569X294', 'Hero'); -// Script/Hero.ts - -"use strict"; -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; -var Helloworld = /** @class */ (function (_super) { - __extends(Helloworld, _super); - function Helloworld() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.hp = 100; - _this.mp = 60; - _this.equip = { - name: '装备', - sword: { - name: '小刀', - attack: 30 - }, - shoe: { - name: '草鞋', - attr: { - name: '属性', - speed: 5, - durable: 100 - } - } - }; - return _this; - } - Helloworld.prototype.update = function (dt) { - this.hp += 1.0 * dt; - this.mp += 0.5 * dt; - }; - Helloworld = __decorate([ - ccclass - ], Helloworld); - return Helloworld; -}(cc.Component)); -exports.default = Helloworld; - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxIZXJvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFNLElBQUEsS0FBc0IsRUFBRSxDQUFDLFVBQVUsRUFBbEMsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFpQixDQUFDO0FBRzFDO0lBQXdDLDhCQUFZO0lBQXBEO1FBQUEscUVBdUJDO1FBdEJHLFFBQUUsR0FBRyxHQUFHLENBQUM7UUFDVCxRQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ1IsV0FBSyxHQUFHO1lBQ0osSUFBSSxFQUFDLElBQUk7WUFDVCxLQUFLLEVBQUM7Z0JBQ0YsSUFBSSxFQUFDLElBQUk7Z0JBQ1QsTUFBTSxFQUFDLEVBQUU7YUFDWjtZQUNELElBQUksRUFBQztnQkFDRCxJQUFJLEVBQUMsSUFBSTtnQkFDVCxJQUFJLEVBQUM7b0JBQ0QsSUFBSSxFQUFDLElBQUk7b0JBQ1QsS0FBSyxFQUFDLENBQUM7b0JBQ1AsT0FBTyxFQUFDLEdBQUc7aUJBQ2Q7YUFDSjtTQUNKLENBQUE7O0lBTUwsQ0FBQztJQUpHLDJCQUFNLEdBQU4sVUFBUSxFQUFFO1FBQ04sSUFBSSxDQUFDLEVBQUUsSUFBSSxHQUFHLEdBQUMsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxFQUFFLElBQUksR0FBRyxHQUFDLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBdEJnQixVQUFVO1FBRDlCLE9BQU87T0FDYSxVQUFVLENBdUI5QjtJQUFELGlCQUFDO0NBdkJELEFBdUJDLENBdkJ1QyxFQUFFLENBQUMsU0FBUyxHQXVCbkQ7a0JBdkJvQixVQUFVIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5fSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBIZWxsb3dvcmxkIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIGhwID0gMTAwO1xyXG4gICAgbXAgPSA2MDtcclxuICAgIGVxdWlwID0ge1xyXG4gICAgICAgIG5hbWU6J+ijheWkhycsXHJcbiAgICAgICAgc3dvcmQ6e1xyXG4gICAgICAgICAgICBuYW1lOiflsI/liIAnLFxyXG4gICAgICAgICAgICBhdHRhY2s6MzBcclxuICAgICAgICB9LFxyXG4gICAgICAgIHNob2U6e1xyXG4gICAgICAgICAgICBuYW1lOifojYnpnosnLFxyXG4gICAgICAgICAgICBhdHRyOntcclxuICAgICAgICAgICAgICAgIG5hbWU6J+WxnuaApycsXHJcbiAgICAgICAgICAgICAgICBzcGVlZDo1LFxyXG4gICAgICAgICAgICAgICAgZHVyYWJsZToxMDBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGUgKGR0KSB7XHJcbiAgICAgICAgdGhpcy5ocCArPSAxLjAqZHQ7XHJcbiAgICAgICAgdGhpcy5tcCArPSAwLjUqZHQ7XHJcbiAgICB9XHJcbn0iXX0= -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/DataBoard.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, '1c152bUhQpJ6J1jGhQVUYf8', 'DataBoard'); -// Script/DataBoard.ts - -"use strict"; -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -/******************************************************************************* - * 创建: 2022年11月23日 - * 作者: 水煮肉片饭(27185709@qq.com) - * 描述: 数据看板 - * 节点挂上该组件,就可以在游戏运行过程中,直观看到节点任意属性(包括节点脚本中的属性) - * 可以图形化展示以下四种数据: - * 轮廓盒子: 随节点旋转,代表节点的实时矩形 - * 碰撞盒子: 不随节点旋转,一般代表碰撞范围 - * 自定义参数: 节点自身属性,以及节点任意脚本中的属性 - * 锚点: 锚点位置会显示一个小红点 - * 自定义参数(配置想监控的数据): - * wp: 世界坐标 - * radian: 节点弧度(单位:π) - * matrix: 变换矩阵 - * 自身属性: x,y,parent,children等 - * 脚本属性: 脚本实例对象的属性 - * ↓↓参数可以用3种分隔符隔开↓↓ - * 英文逗号、英文冒号、空格 - * ————————————————————————举个栗子———————————————————————— - * 脚本: Hero - * 参数: wp,scale,angle,#angle,#hp - * 显示结果:世界坐标,节点scale,节点angle,Hero对象的angle,Hero对象的hp - * ————————————————————————温馨提示———————————————————————— - * 初始化的时候,设置全局变量window['DATABOARD'] = false可屏蔽本项目所有DataBoard,不会产生任何额外开销\n -*******************************************************************************/ -window['DATABOARD'] = true; -var ANCHOR_SIZE = 20; //锚点的大小 -var LINEHEIGHT = 1.2; //行高是字体大小的多少倍 -var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, executeInEditMode = _a.executeInEditMode, menu = _a.menu; -var DataBoard = /** @class */ (function (_super) { - __extends(DataBoard, _super); - function DataBoard() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this._isOutlineBoxActive = false; - _this._outlineBoxColor = new cc.Color(Math.random() * 255, Math.random() * 255, Math.random() * 255); - _this._outlineBoxOpacity = 100; - _this._isCollideBoxActive = true; - _this._collideBoxColor = new cc.Color(Math.random() * 255, Math.random() * 255, Math.random() * 255); - _this._collideBoxOpacity = 100; - _this._isCustomLabelActive = true; - _this.customComponentName = ''; - _this._customLabelString = 'x,y'; - _this._customLabelOffset = cc.v2(0, 100); - _this._customLabelColor = new cc.Color(255, 255, 0); - _this._customLabelSize = 60; - _this._customLabelDigit = 0; - _this.boardNode = null; - _this.outlineBoxNode = null; - _this.collideBoxNode = null; - _this.anchorPointNode = null; - _this.customLabelNode = null; - _this.customLabel = null; - _this.customLabelStringSplit = null; - _this.monitorComp = null; - return _this; - } - Object.defineProperty(DataBoard.prototype, "isOutlineBoxActive", { - get: function () { return this._isOutlineBoxActive; }, - set: function (value) { - this._isOutlineBoxActive = value; - this.outlineBoxNode.active = value; - }, - enumerable: false, - configurable: true - }); - ; - Object.defineProperty(DataBoard.prototype, "outlineBoxColor", { - get: function () { return this._outlineBoxColor; }, - set: function (value) { - this._outlineBoxColor = value; - this.outlineBoxNode.color = value; - }, - enumerable: false, - configurable: true - }); - ; - Object.defineProperty(DataBoard.prototype, "outlineBoxOpacity", { - get: function () { return this._outlineBoxOpacity; }, - set: function (value) { - this._outlineBoxOpacity = value; - this.outlineBoxNode.opacity = value; - }, - enumerable: false, - configurable: true - }); - ; - Object.defineProperty(DataBoard.prototype, "isCollideBoxActive", { - get: function () { return this._isCollideBoxActive; }, - set: function (value) { - this._isCollideBoxActive = value; - this.collideBoxNode.active = value; - }, - enumerable: false, - configurable: true - }); - ; - Object.defineProperty(DataBoard.prototype, "collideBoxColor", { - get: function () { return this._collideBoxColor; }, - set: function (value) { - this._collideBoxColor = value; - this.collideBoxNode.color = value; - }, - enumerable: false, - configurable: true - }); - ; - Object.defineProperty(DataBoard.prototype, "collideBoxOpacity", { - get: function () { return this._collideBoxOpacity; }, - set: function (value) { - this._collideBoxOpacity = value; - this.collideBoxNode.opacity = value; - }, - enumerable: false, - configurable: true - }); - ; - Object.defineProperty(DataBoard.prototype, "isCustomLabelActive", { - get: function () { return this._isCustomLabelActive; }, - set: function (value) { - this._isCustomLabelActive = value; - this.customLabelNode.active = 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(/ |\t/g, '_@_') - .replace(/_*\n_*/g, '_\n_').split('_'); - }, - enumerable: false, - configurable: true - }); - ; - Object.defineProperty(DataBoard.prototype, "customLabelOffset", { - get: function () { return this._customLabelOffset; }, - set: function (value) { - this._customLabelOffset = value; - this.customLabelNode.x = value.x; - this.customLabelNode.y = value.y; - }, - enumerable: false, - configurable: true - }); - ; - Object.defineProperty(DataBoard.prototype, "customLabelColor", { - get: function () { return this._customLabelColor; }, - set: function (value) { - this._customLabelColor = value; - this.customLabelNode.color = value; - }, - enumerable: false, - configurable: true - }); - ; - Object.defineProperty(DataBoard.prototype, "customLabelSize", { - get: function () { return this._customLabelSize; }, - set: function (value) { - this._customLabelSize = value; - this.customLabel.fontSize = value; - this.customLabel.lineHeight = value * LINEHEIGHT; - this.customLabelNode.getComponent(cc.LabelOutline).width = value * 0.1; - }, - enumerable: false, - configurable: true - }); - ; - Object.defineProperty(DataBoard.prototype, "customLabelDigit", { - get: function () { return this._customLabelDigit; }, - set: function (value) { - this._customLabelDigit = value; - }, - enumerable: false, - configurable: true - }); - ; - DataBoard.prototype.start = function () { - this.boardNode = this.node.getChildByName('DataBoard'); - if (!CC_EDITOR && !window['DATABOARD']) { - this.destroy(); - return; - } - if (cc.isValid(this.boardNode)) { - this.boardNode.removeFromParent(); - this.boardNode.destroy(); - } - 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; - this.outlineBoxNode = new cc.Node('OutlineBox'); - this.outlineBoxNode.setParent(this.boardNode); - this.outlineBoxNode.addComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(texture); - this.outlineBoxNode.active = this.isOutlineBoxActive; - this.outlineBoxNode.color = this.outlineBoxColor; - this.outlineBoxNode.opacity = this.outlineBoxOpacity; - this.collideBoxNode = new cc.Node('CollideBox'); - this.collideBoxNode.setParent(this.boardNode); - this.collideBoxNode.addComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(texture); - this.collideBoxNode.active = this.isCollideBoxActive; - this.collideBoxNode.color = this.collideBoxColor; - this.collideBoxNode.opacity = this.collideBoxOpacity; - this.anchorPointNode = new cc.Node('AnchorPoint'); - this.anchorPointNode.setParent(this.boardNode); - this.anchorPointNode.addComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(texture); - this.anchorPointNode.color = cc.color(255, 0, 0); - this.anchorPointNode.width = ANCHOR_SIZE; - this.anchorPointNode.height = ANCHOR_SIZE; - this.customLabelNode = new cc.Node('CustomLabel'); - this.customLabelNode.setParent(this.boardNode); - this.customLabel = this.customLabelNode.addComponent(cc.Label); - this.customLabelNode.addComponent(cc.LabelOutline).color = cc.color(0, 0, 0); - this.customLabelNode.active = this.isCustomLabelActive; - this.customLabelString = this._customLabelString; - this.customLabelNode.x = this.customLabelOffset.x; - this.customLabelNode.y = this.customLabelOffset.y; - this.customLabelNode.color = this.customLabelColor; - this.customLabelSize = this._customLabelSize; - this.updateAngle(); - this.updateScale(); - this.updateAnchor(); - this.updateSize(); - this.node.on(cc.Node.EventType.ROTATION_CHANGED, this.updateAngle, this); - this.node.on(cc.Node.EventType.SCALE_CHANGED, this.updateScale, this); - this.node.on(cc.Node.EventType.ANCHOR_CHANGED, this.updateAnchor, this); - this.node.on(cc.Node.EventType.SIZE_CHANGED, this.updateSize, this); - }; - DataBoard.prototype.updateAngle = function () { - this.collideBoxNode.angle = -this.node.angle; - this.customLabelNode.angle = -this.node.angle; - }; - DataBoard.prototype.updateScale = function () { - this.boardNode.scaleX = 1 / this.node.scaleX; - this.boardNode.scaleY = 1 / this.node.scaleY; - this.outlineBoxNode.scaleX = this.node.scaleX; - this.outlineBoxNode.scaleY = this.node.scaleY; - this.collideBoxNode.scaleX = this.node.scaleX; - this.collideBoxNode.scaleY = this.node.scaleY; - }; - DataBoard.prototype.updateAnchor = function () { - this.outlineBoxNode.anchorX = this.node.anchorX; - this.outlineBoxNode.anchorY = this.node.anchorY; - this.collideBoxNode.anchorX = this.node.anchorX; - this.collideBoxNode.anchorY = this.node.anchorY; - }; - DataBoard.prototype.updateSize = function () { - this.outlineBoxNode.width = this.node.width; - this.outlineBoxNode.height = this.node.height; - this.collideBoxNode.width = this.node.width; - this.collideBoxNode.height = this.node.height; - }; - DataBoard.prototype.update = function () { - if (!this.isCustomLabelActive) - return; - if (!this.customLabelStringSplit) - return; - 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); - } - for (var i = 0, len = strs.length; i < len; ++i) { - var tmp = null; - switch (strs[i]) { - case 'wp': - var matrix = this.node['_worldMatrix'].m; - tmp = matrix[12].toFixed(this.customLabelDigit) + ",\t" + matrix[13].toFixed(this.customLabelDigit); - break; - case 'angle': - tmp = this.node.angle.toFixed(this.customLabelDigit) + '°'; - break; - case 'radian': - tmp = (this.node.angle / 180).toFixed(this.customLabelDigit) + 'π'; - break; - case 'matrix': - matrix = this.node['_worldMatrix'].m; - 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]; - tmp += (m < 0 ? '\t\t' : '\t\t\t') + m.toFixed(this.customLabelDigit); - } - i_1 !== 3 && (tmp += '\n'); - } - break; - case 'children': - tmp = ''; - for (var i_2 = 0, len_1 = this.node.childrenCount; i_2 < len_1; ++i_2) { - tmp += "\t\t\t" + i_2 + "\uFF1A" + this.node.children[i_2].name; - i_2 !== len_1 - 1 && (tmp += '\n'); - } - break; - case '~': - tmp = ',\t'; - break; - case '!': - tmp = ':\t'; - break; - case '@': - tmp = '\t\t'; - break; - default: - if (this.node[strs[i]] !== undefined) { - tmp = this.node[strs[i]]; - } - else if (strs[i].startsWith('#') && this.monitorComp !== null) { - tmp = this.parseString(strs[i].substring(1)); - } - else { - tmp = strs[i]; - } - if (typeof tmp === 'number') { - tmp = tmp.toFixed(this.customLabelDigit); - } - else if (tmp.name) { - tmp = tmp.name; - } - break; - } - str += tmp; - } - this.customLabel.string = str; - }; - DataBoard.prototype.parseString = function (str) { - var strs = str.split('.'); - var ret = this.monitorComp[strs[0]]; - ret === undefined && (ret = "#" + 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]; - } - ret = ret[strs[i]]; - } - return ret; - }; - DataBoard.prototype.onDestroy = function () { - if (cc.isValid(this.boardNode)) { - this.boardNode.removeFromParent(); - this.boardNode.destroy(); - } - this.node.targetOff(this); - }; - __decorate([ - property - ], DataBoard.prototype, "_isOutlineBoxActive", void 0); - __decorate([ - property({ displayName: CC_DEV && '轮廓盒子', tooltip: CC_DEV && '随节点旋转,代表实时轮廓' }) - ], DataBoard.prototype, "isOutlineBoxActive", null); - __decorate([ - property - ], DataBoard.prototype, "_outlineBoxColor", void 0); - __decorate([ - property({ displayName: CC_DEV && '······颜色', visible: function () { return this.isOutlineBoxActive; } }) - ], DataBoard.prototype, "outlineBoxColor", null); - __decorate([ - property - ], DataBoard.prototype, "_outlineBoxOpacity", void 0); - __decorate([ - property({ min: 0, max: 255, step: 1, slide: true, displayName: CC_DEV && '······透明度', visible: function () { return this.isOutlineBoxActive; } }) - ], DataBoard.prototype, "outlineBoxOpacity", null); - __decorate([ - property - ], DataBoard.prototype, "_isCollideBoxActive", void 0); - __decorate([ - property({ displayName: CC_DEV && '碰撞盒子', tooltip: CC_DEV && '不随节点旋转,代表碰撞范围' }) - ], DataBoard.prototype, "isCollideBoxActive", null); - __decorate([ - property - ], DataBoard.prototype, "_collideBoxColor", void 0); - __decorate([ - property({ displayName: CC_DEV && '······颜色', visible: function () { return this.isCollideBoxActive; } }) - ], DataBoard.prototype, "collideBoxColor", null); - __decorate([ - property - ], DataBoard.prototype, "_collideBoxOpacity", void 0); - __decorate([ - property({ min: 0, max: 255, step: 1, slide: true, displayName: CC_DEV && '······透明度', visible: function () { return this.isCollideBoxActive; } }) - ], DataBoard.prototype, "collideBoxOpacity", null); - __decorate([ - property - ], DataBoard.prototype, "_isCustomLabelActive", void 0); - __decorate([ - property({ displayName: CC_DEV && '自定义参数', tooltip: CC_DEV && '配置显示的属性内容' }) - ], DataBoard.prototype, "isCustomLabelActive", null); - __decorate([ - property({ displayName: CC_DEV && '······脚本', tooltip: CC_DEV && '监控哪个脚本', visible: function () { return this.isCustomLabelActive; } }) - ], DataBoard.prototype, "customComponentName", void 0); - __decorate([ - property - ], DataBoard.prototype, "_customLabelString", void 0); - __decorate([ - 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: function () { return this.isCustomLabelActive; } }) - ], DataBoard.prototype, "customLabelString", null); - __decorate([ - property - ], DataBoard.prototype, "_customLabelOffset", void 0); - __decorate([ - property({ displayName: CC_DEV && '······偏移', visible: function () { return this.isCustomLabelActive; } }) - ], DataBoard.prototype, "customLabelOffset", null); - __decorate([ - property - ], DataBoard.prototype, "_customLabelColor", void 0); - __decorate([ - property({ displayName: CC_DEV && '······颜色', visible: function () { return this.isCustomLabelActive; } }) - ], DataBoard.prototype, "customLabelColor", null); - __decorate([ - property - ], DataBoard.prototype, "_customLabelSize", void 0); - __decorate([ - property({ displayName: CC_DEV && '······大小', visible: function () { return this.isCustomLabelActive; } }) - ], DataBoard.prototype, "customLabelSize", null); - __decorate([ - property - ], DataBoard.prototype, "_customLabelDigit", void 0); - __decorate([ - property({ min: 0, max: 10, step: 1, slide: true, displayName: CC_DEV && '······小数位数', visible: function () { return this.isCustomLabelActive; } }) - ], DataBoard.prototype, "customLabelDigit", null); - DataBoard = __decorate([ - ccclass, - executeInEditMode, - menu('Comp/DataBoard') - ], DataBoard); - return DataBoard; -}(cc.Component)); -exports.default = DataBoard; - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxEYXRhQm9hcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztnRkF3QmdGO0FBQ2hGLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUM7QUFDM0IsSUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDLENBQWUsT0FBTztBQUM3QyxJQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsQ0FBZSxhQUFhO0FBQzdDLElBQUEsS0FBaUQsRUFBRSxDQUFDLFVBQVUsRUFBNUQsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFBLEVBQUUsaUJBQWlCLHVCQUFBLEVBQUUsSUFBSSxVQUFrQixDQUFDO0FBSXJFO0lBQXVDLDZCQUFZO0lBQW5EO1FBQUEscUVBaVNDO1FBL1JXLHlCQUFtQixHQUFZLEtBQUssQ0FBQztRQVFyQyxzQkFBZ0IsR0FBYSxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQztRQVF6Ryx3QkFBa0IsR0FBVyxHQUFHLENBQUM7UUFRakMseUJBQW1CLEdBQVksSUFBSSxDQUFDO1FBUXBDLHNCQUFnQixHQUFhLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBUXpHLHdCQUFrQixHQUFXLEdBQUcsQ0FBQztRQVFqQywwQkFBb0IsR0FBWSxJQUFJLENBQUM7UUFRckMseUJBQW1CLEdBQVcsRUFBRSxDQUFDO1FBRWpDLHdCQUFrQixH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QU8sZ0JBQUssT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUEsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvREFDakM7SUFROUQ7UUFEQyxRQUFRO3dEQUM2QjtJQUV0QztRQURDLFFBQVEsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sSUFBSSxZQUFZLEVBQUUsT0FBTyxnQkFBSyxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQSxDQUFDLENBQUMsRUFBRSxDQUFDO3FEQUN4RTtJQW5HL0MsU0FBUztRQUg3QixPQUFPO1FBQ1AsaUJBQWlCO1FBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztPQUNGLFNBQVMsQ0FpUzdCO0lBQUQsZ0JBQUM7Q0FqU0QsQUFpU0MsQ0FqU3NDLEVBQUUsQ0FBQyxTQUFTLEdBaVNsRDtrQkFqU29CLFNBQVMiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gKiDliJvlu7o6ICAgIDIwMjLlubQxMeaciDIz5pelXHJcbiAqIOS9nOiAhTogICAg5rC054Wu6IKJ54mH6aWtKDI3MTg1NzA5QHFxLmNvbSlcclxuICog5o+P6L+wOiAgICDmlbDmja7nnIvmnb9cclxuICog6IqC54K55oyC5LiK6K+l57uE5Lu277yM5bCx5Y+v5Lul5Zyo5ri45oiP6L+Q6KGM6L+H56iL5Lit77yM55u06KeC55yL5Yiw6IqC54K55Lu75oSP5bGe5oCn77yI5YyF5ous6IqC54K56ISa5pys5Lit55qE5bGe5oCn77yJXHJcbiAqIOWPr+S7peWbvuW9ouWMluWxleekuuS7peS4i+Wbm+enjeaVsOaNru+8mlxyXG4gKiAgICAgICAgICDova7lu5Pnm5LlrZDvvJogICAgICAgICAg6ZqP6IqC54K55peL6L2s77yM5Luj6KGo6IqC54K555qE5a6e5pe255+p5b2iXHJcbiAqICAgICAgICAgIOeisOaSnuebkuWtkO+8miAgICAgICAgICDkuI3pmo/oioLngrnml4vovazvvIzkuIDoiKzku6PooajnorDmkp7ojIPlm7RcclxuICogICAgICAgICAg6Ieq5a6a5LmJ5Y+C5pWw77yaICAgICAgICDoioLngrnoh6rouqvlsZ7mgKfvvIzku6Xlj4roioLngrnku7vmhI/ohJrmnKzkuK3nmoTlsZ7mgKdcclxuICogICAgICAgICAg6ZSa54K577yaICAgICAgICAgICAgIOmUmueCueS9jee9ruS8muaYvuekuuS4gOS4quWwj+e6oueCuVxyXG4gKiDoh6rlrprkuYnlj4LmlbDvvIjphY3nva7mg7Pnm5HmjqfnmoTmlbDmja7vvInvvJpcclxuICogICAgICAgICAgd3DvvJogICAgICAgICAgICAgICDkuJbnlYzlnZDmoIdcclxuICogICAgICAgICAgcmFkaWFu77yaICAgICAgICAgICDoioLngrnlvKfluqbvvIjljZXkvY3vvJrPgO+8iVxyXG4gKiAgICAgICAgICBtYXRyaXg6ICAgICAgICAgICAg5Y+Y5o2i55+p6Zi1XHJcbiAqICAgICAgICAgIOiHqui6q+WxnuaAp++8miAgICAgICAgICB4LHkscGFyZW50LGNoaWxkcmVu562JXHJcbiAqICAgICAgICAgIOiEmuacrOWxnuaAp++8miAgICAgICAgICDohJrmnKzlrp7kvovlr7nosaHnmoTlsZ7mgKdcclxuICog4oaT4oaT5Y+C5pWw5Y+v5Lul55SoM+enjeWIhumalOespumalOW8gOKGk+KGk1xyXG4gKiAgICAgICAgICDoi7HmlofpgJflj7fjgIHoi7HmloflhpLlj7fjgIHnqbrmoLxcclxuICog4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU5Li+5Liq5qCX5a2Q4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCUXHJcbiAqIOiEmuacrO+8miAgICBIZXJvXHJcbiAqIOWPguaVsO+8miAgICB3cCxzY2FsZSxhbmdsZSwjYW5nbGUsI2hwXHJcbiAqIOaYvuekuue7k+aenO+8muS4lueVjOWdkOaghyzoioLngrlzY2FsZSzoioLngrlhbmdsZe+8jEhlcm/lr7nosaHnmoRhbmdsZSxIZXJv5a+56LGh55qEaHBcclxuICog4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU5rip6aao5o+Q56S64oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCUXHJcbiAqIOWIneWni+WMlueahOaXtuWAme+8jOiuvue9ruWFqOWxgOWPmOmHj3dpbmRvd1snREFUQUJPQVJEJ10gPSBmYWxzZeWPr+Wxj+iUveacrOmhueebruaJgOaciURhdGFCb2FyZO+8jOS4jeS8muS6p+eUn+S7u+S9lemineWkluW8gOmUgFxcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG53aW5kb3dbJ0RBVEFCT0FSRCddID0gdHJ1ZTtcclxuY29uc3QgQU5DSE9SX1NJWkUgPSAyMDsgICAgICAgICAgICAgICAvL+mUmueCueeahOWkp+Wwj1xyXG5jb25zdCBMSU5FSEVJR0hUID0gMS4yOyAgICAgICAgICAgICAgIC8v6KGM6auY5piv5a2X5L2T5aSn5bCP55qE5aSa5bCR5YCNXHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHksIGV4ZWN1dGVJbkVkaXRNb2RlLCBtZW51IH0gPSBjYy5fZGVjb3JhdG9yO1xyXG5AY2NjbGFzc1xyXG5AZXhlY3V0ZUluRWRpdE1vZGVcclxuQG1lbnUoJ0NvbXAvRGF0YUJvYXJkJylcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGF0YUJvYXJkIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIEBwcm9wZXJ0eVxyXG4gICAgcHJpdmF0ZSBfaXNPdXRsaW5lQm94QWN0aXZlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBAcHJvcGVydHkoeyBkaXNwbGF5TmFtZTogQ0NfREVWICYmICfova7lu5Pnm5LlrZAnLCB0b29sdGlwOiBDQ19ERVYgJiYgJ+maj+iKgueCueaXi+i9rO+8jOS7o+ihqOWunuaXtui9ruW7kycgfSlcclxuICAgIHByaXZhdGUgZ2V0IGlzT3V0bGluZUJveEFjdGl2ZSgpIHsgcmV0dXJuIHRoaXMuX2lzT3V0bGluZUJveEFjdGl2ZSB9O1xyXG4gICAgcHJpdmF0ZSBzZXQgaXNPdXRsaW5lQm94QWN0aXZlKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5faXNPdXRsaW5lQm94QWN0aXZlID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5vdXRsaW5lQm94Tm9kZS5hY3RpdmUgPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIEBwcm9wZXJ0eVxyXG4gICAgcHJpdmF0ZSBfb3V0bGluZUJveENvbG9yOiBjYy5Db2xvciA9IG5ldyBjYy5Db2xvcihNYXRoLnJhbmRvbSgpICogMjU1LCBNYXRoLnJhbmRvbSgpICogMjU1LCBNYXRoLnJhbmRvbSgpICogMjU1KTtcclxuICAgIEBwcm9wZXJ0eSh7IGRpc3BsYXlOYW1lOiBDQ19ERVYgJiYgJ8K3wrfCt8K3wrfCt+minOiJsicsIHZpc2libGUoKSB7IHJldHVybiB0aGlzLmlzT3V0bGluZUJveEFjdGl2ZSB9IH0pXHJcbiAgICBwcml2YXRlIGdldCBvdXRsaW5lQm94Q29sb3IoKSB7IHJldHVybiB0aGlzLl9vdXRsaW5lQm94Q29sb3IgfTtcclxuICAgIHByaXZhdGUgc2V0IG91dGxpbmVCb3hDb2xvcih2YWx1ZTogY2MuQ29sb3IpIHtcclxuICAgICAgICB0aGlzLl9vdXRsaW5lQm94Q29sb3IgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLm91dGxpbmVCb3hOb2RlLmNvbG9yID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgICBAcHJvcGVydHlcclxuICAgIHByaXZhdGUgX291dGxpbmVCb3hPcGFjaXR5OiBudW1iZXIgPSAxMDA7XHJcbiAgICBAcHJvcGVydHkoeyBtaW46IDAsIG1heDogMjU1LCBzdGVwOiAxLCBzbGlkZTogdHJ1ZSwgZGlzcGxheU5hbWU6IENDX0RFViAmJiAnwrfCt8K3wrfCt8K36YCP5piO5bqmJywgdmlzaWJsZSgpIHsgcmV0dXJuIHRoaXMuaXNPdXRsaW5lQm94QWN0aXZlIH0gfSlcclxuICAgIHByaXZhdGUgZ2V0IG91dGxpbmVCb3hPcGFjaXR5KCkgeyByZXR1cm4gdGhpcy5fb3V0bGluZUJveE9wYWNpdHkgfTtcclxuICAgIHByaXZhdGUgc2V0IG91dGxpbmVCb3hPcGFjaXR5KHZhbHVlOiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLl9vdXRsaW5lQm94T3BhY2l0eSA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMub3V0bGluZUJveE5vZGUub3BhY2l0eSA9IHZhbHVlO1xyXG4gICAgfVxyXG4gICAgQHByb3BlcnR5XHJcbiAgICBwcml2YXRlIF9pc0NvbGxpZGVCb3hBY3RpdmU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgQHByb3BlcnR5KHsgZGlzcGxheU5hbWU6IENDX0RFViAmJiAn56Kw5pKe55uS5a2QJywgdG9vbHRpcDogQ0NfREVWICYmICfkuI3pmo/oioLngrnml4vovazvvIzku6PooajnorDmkp7ojIPlm7QnIH0pXHJcbiAgICBwcml2YXRlIGdldCBpc0NvbGxpZGVCb3hBY3RpdmUoKSB7IHJldHVybiB0aGlzLl9pc0NvbGxpZGVCb3hBY3RpdmUgfTtcclxuICAgIHByaXZhdGUgc2V0IGlzQ29sbGlkZUJveEFjdGl2ZSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX2lzQ29sbGlkZUJveEFjdGl2ZSA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuY29sbGlkZUJveE5vZGUuYWN0aXZlID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgICBAcHJvcGVydHlcclxuICAgIHByaXZhdGUgX2NvbGxpZGVCb3hDb2xvcjogY2MuQ29sb3IgPSBuZXcgY2MuQ29sb3IoTWF0aC5yYW5kb20oKSAqIDI1NSwgTWF0aC5yYW5kb20oKSAqIDI1NSwgTWF0aC5yYW5kb20oKSAqIDI1NSk7XHJcbiAgICBAcHJvcGVydHkoeyBkaXNwbGF5TmFtZTogQ0NfREVWICYmICfCt8K3wrfCt8K3wrfpopzoibInLCB2aXNpYmxlKCkgeyByZXR1cm4gdGhpcy5pc0NvbGxpZGVCb3hBY3RpdmUgfSB9KVxyXG4gICAgcHJpdmF0ZSBnZXQgY29sbGlkZUJveENvbG9yKCkgeyByZXR1cm4gdGhpcy5fY29sbGlkZUJveENvbG9yIH07XHJcbiAgICBwcml2YXRlIHNldCBjb2xsaWRlQm94Q29sb3IodmFsdWU6IGNjLkNvbG9yKSB7XHJcbiAgICAgICAgdGhpcy5fY29sbGlkZUJveENvbG9yID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5jb2xsaWRlQm94Tm9kZS5jb2xvciA9IHZhbHVlO1xyXG4gICAgfVxyXG4gICAgQHByb3BlcnR5XHJcbiAgICBwcml2YXRlIF9jb2xsaWRlQm94T3BhY2l0eTogbnVtYmVyID0gMTAwO1xyXG4gICAgQHByb3BlcnR5KHsgbWluOiAwLCBtYXg6IDI1NSwgc3RlcDogMSwgc2xpZGU6IHRydWUsIGRpc3BsYXlOYW1lOiBDQ19ERVYgJiYgJ8K3wrfCt8K3wrfCt+mAj+aYjuW6picsIHZpc2libGUoKSB7IHJldHVybiB0aGlzLmlzQ29sbGlkZUJveEFjdGl2ZSB9IH0pXHJcbiAgICBwcml2YXRlIGdldCBjb2xsaWRlQm94T3BhY2l0eSgpIHsgcmV0dXJuIHRoaXMuX2NvbGxpZGVCb3hPcGFjaXR5IH07XHJcbiAgICBwcml2YXRlIHNldCBjb2xsaWRlQm94T3BhY2l0eSh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICAgICAgdGhpcy5fY29sbGlkZUJveE9wYWNpdHkgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLmNvbGxpZGVCb3hOb2RlLm9wYWNpdHkgPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIEBwcm9wZXJ0eVxyXG4gICAgcHJpdmF0ZSBfaXNDdXN0b21MYWJlbEFjdGl2ZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBAcHJvcGVydHkoeyBkaXNwbGF5TmFtZTogQ0NfREVWICYmICfoh6rlrprkuYnlj4LmlbAnLCB0b29sdGlwOiBDQ19ERVYgJiYgJ+mFjee9ruaYvuekuueahOWxnuaAp+WGheWuuScgfSlcclxuICAgIHByaXZhdGUgZ2V0IGlzQ3VzdG9tTGFiZWxBY3RpdmUoKSB7IHJldHVybiB0aGlzLl9pc0N1c3RvbUxhYmVsQWN0aXZlIH07XHJcbiAgICBwcml2YXRlIHNldCBpc0N1c3RvbUxhYmVsQWN0aXZlKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5faXNDdXN0b21MYWJlbEFjdGl2ZSA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuY3VzdG9tTGFiZWxOb2RlLmFjdGl2ZSA9IHZhbHVlO1xyXG4gICAgfVxyXG4gICAgQHByb3BlcnR5KHsgZGlzcGxheU5hbWU6IENDX0RFViAmJiAnwrfCt8K3wrfCt8K36ISa5pysJywgdG9vbHRpcDogQ0NfREVWICYmICfnm5Hmjqflk6rkuKrohJrmnKwnLCB2aXNpYmxlKCkgeyByZXR1cm4gdGhpcy5pc0N1c3RvbUxhYmVsQWN0aXZlOyB9IH0pXHJcbiAgICBwcml2YXRlIGN1c3RvbUNvbXBvbmVudE5hbWU6IHN0cmluZyA9ICcnO1xyXG4gICAgQHByb3BlcnR5XHJcbiAgICBwcml2YXRlIF9jdXN0b21MYWJlbFN0cmluZzogc3RyaW5nID0gJ3gseSc7XHJcbiAgICBAcHJvcGVydHkoeyBtdWx0aWxpbmU6IHRydWUsIGRpc3BsYXlOYW1lOiBDQ19ERVYgJiYgJ8K3wrfCt8K3wrfCt+WPguaVsCcsIHRvb2x0aXA6IENDX0RFViAmJiBcIuKAlOKAlOKAlOKAlOKAlOaUr+aMgeeahOWPguaVsOKAlOKAlOKAlOKAlFxcbndw77ya5LiW55WM5Z2Q5qCHXFxucmFkaWFu77ya6IqC54K55byn5bqm77yI5Y2V5L2N77yaz4DvvIlcXG5tYXRyaXjvvJrlj5jmjaLnn6npmLVcXG7oh6rouqvlsZ7mgKfvvJp4LHkscGFyZW50LGNoaWxkcmVu562JXFxu6ISa5pys5bGe5oCn77ya6ISa5pys5a6e5L6L5a+56LGh55qE5bGe5oCnXFxu4oaT4oaT5Y+C5pWw5Y+v5Lul55SoM+enjeWIhumalOespumalOW8gOKGk+KGk1xcbuiLseaWh+mAl+WPt+OAgeiLseaWh+WGkuWPt+OAgeepuuagvFxcbuKAlOKAlOKAlOKAlOS4vuS4quagl+WtkOKAlOKAlOKAlOKAlFxcbuiEmuacrO+8mkhlcm9cXG7lj4LmlbDvvJp3cCxzY2FsZSxhbmdsZSwjYW5nbGUsI2hwXFxu5pi+56S657uT5p6c77yaXFxu5LiW55WM5Z2Q5qCHLOiKgueCuXNjYWxlLOiKgueCuWFuZ2xl77yMSGVyb+WvueixoeeahGFuZ2xlLEhlcm/lr7nosaHnmoRocFxcbuKAlOKAlOKAlOKAlOa4qemmqOaPkOekuuKAlOKAlOKAlOKAlFxcbuWIneWni+WMlueahOaXtuWAme+8jOiuvue9ruWFqOWxgOWPmOmHj1xcbndpbmRvd1snREFUQUJPQVJEJ10gPSBmYWxzZVxcbuWPr+Wxj+iUveacrOmhueebruaJgOaciURhdGFCb2FyZO+8jOS4jeS8muS6p+eUn+S7u+S9lemineWkluW8gOmUgFwiLCB2aXNpYmxlKCkgeyByZXR1cm4gdGhpcy5pc0N1c3RvbUxhYmVsQWN0aXZlIH0gfSlcclxuICAgIHByaXZhdGUgZ2V0IGN1c3RvbUxhYmVsU3RyaW5nKCkgeyByZXR1cm4gdGhpcy5fY3VzdG9tTGFiZWxTdHJpbmcgfTtcclxuICAgIHByaXZhdGUgc2V0IGN1c3RvbUxhYmVsU3RyaW5nKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLl9jdXN0b21MYWJlbFN0cmluZyA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuY3VzdG9tTGFiZWxTdHJpbmdTcGxpdCA9IHZhbHVlXHJcbiAgICAgICAgICAgIC5yZXBsYWNlKC8sfO+8jC9nLCAnX35fJykucmVwbGFjZSgvOnzvvJovZywgJ18hXycpLnJlcGxhY2UoLyB8XFx0L2csICdfQF8nKVxyXG4gICAgICAgICAgICAucmVwbGFjZSgvXypcXG5fKi9nLCAnX1xcbl8nKS5zcGxpdCgnXycpO1xyXG4gICAgfVxyXG4gICAgQHByb3BlcnR5XHJcbiAgICBwcml2YXRlIF9jdXN0b21MYWJlbE9mZnNldDogY2MuVmVjMiA9IGNjLnYyKDAsIDEwMCk7XHJcbiAgICBAcHJvcGVydHkoeyBkaXNwbGF5TmFtZTogQ0NfREVWICYmICfCt8K3wrfCt8K3wrflgY/np7snLCB2aXNpYmxlKCkgeyByZXR1cm4gdGhpcy5pc0N1c3RvbUxhYmVsQWN0aXZlIH0gfSlcclxuICAgIHByaXZhdGUgZ2V0IGN1c3RvbUxhYmVsT2Zmc2V0KCkgeyByZXR1cm4gdGhpcy5fY3VzdG9tTGFiZWxPZmZzZXQgfTtcclxuICAgIHByaXZhdGUgc2V0IGN1c3RvbUxhYmVsT2Zmc2V0KHZhbHVlOiBjYy5WZWMyKSB7XHJcbiAgICAgICAgdGhpcy5fY3VzdG9tTGFiZWxPZmZzZXQgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLmN1c3RvbUxhYmVsTm9kZS54ID0gdmFsdWUueDtcclxuICAgICAgICB0aGlzLmN1c3RvbUxhYmVsTm9kZS55ID0gdmFsdWUueTtcclxuICAgIH1cclxuICAgIEBwcm9wZXJ0eVxyXG4gICAgcHJpdmF0ZSBfY3VzdG9tTGFiZWxDb2xvcjogY2MuQ29sb3IgPSBuZXcgY2MuQ29sb3IoMjU1LCAyNTUsIDApO1xyXG4gICAgQHByb3BlcnR5KHsgZGlzcGxheU5hbWU6IENDX0RFViAmJiAnwrfCt8K3wrfCt8K36aKc6ImyJywgdmlzaWJsZSgpIHsgcmV0dXJuIHRoaXMuaXNDdXN0b21MYWJlbEFjdGl2ZSB9IH0pXHJcbiAgICBwcml2YXRlIGdldCBjdXN0b21MYWJlbENvbG9yKCkgeyByZXR1cm4gdGhpcy5fY3VzdG9tTGFiZWxDb2xvciB9O1xyXG4gICAgcHJpdmF0ZSBzZXQgY3VzdG9tTGFiZWxDb2xvcih2YWx1ZTogY2MuQ29sb3IpIHtcclxuICAgICAgICB0aGlzLl9jdXN0b21MYWJlbENvbG9yID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5jdXN0b21MYWJlbE5vZGUuY29sb3IgPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIEBwcm9wZXJ0eVxyXG4gICAgcHJpdmF0ZSBfY3VzdG9tTGFiZWxTaXplOiBudW1iZXIgPSA2MDtcclxuICAgIEBwcm9wZXJ0eSh7IGRpc3BsYXlOYW1lOiBDQ19ERVYgJiYgJ8K3wrfCt8K3wrfCt+Wkp+WwjycsIHZpc2libGUoKSB7IHJldHVybiB0aGlzLmlzQ3VzdG9tTGFiZWxBY3RpdmUgfSB9KVxyXG4gICAgcHJpdmF0ZSBnZXQgY3VzdG9tTGFiZWxTaXplKCkgeyByZXR1cm4gdGhpcy5fY3VzdG9tTGFiZWxTaXplIH07XHJcbiAgICBwcml2YXRlIHNldCBjdXN0b21MYWJlbFNpemUodmFsdWU6IG51bWJlcikge1xyXG4gICAgICAgIHRoaXMuX2N1c3RvbUxhYmVsU2l6ZSA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuY3VzdG9tTGFiZWwuZm9udFNpemUgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLmN1c3RvbUxhYmVsLmxpbmVIZWlnaHQgPSB2YWx1ZSAqIExJTkVIRUlHSFQ7XHJcbiAgICAgICAgdGhpcy5jdXN0b21MYWJlbE5vZGUuZ2V0Q29tcG9uZW50KGNjLkxhYmVsT3V0bGluZSkud2lkdGggPSB2YWx1ZSAqIDAuMTtcclxuICAgIH1cclxuICAgIEBwcm9wZXJ0eVxyXG4gICAgcHJpdmF0ZSBfY3VzdG9tTGFiZWxEaWdpdDogbnVtYmVyID0gMDtcclxuICAgIEBwcm9wZXJ0eSh7IG1pbjogMCwgbWF4OiAxMCwgc3RlcDogMSwgc2xpZGU6IHRydWUsIGRpc3BsYXlOYW1lOiBDQ19ERVYgJiYgJ8K3wrfCt8K3wrfCt+Wwj+aVsOS9jeaVsCcsIHZpc2libGUoKSB7IHJldHVybiB0aGlzLmlzQ3VzdG9tTGFiZWxBY3RpdmUgfSB9KVxyXG4gICAgcHJpdmF0ZSBnZXQgY3VzdG9tTGFiZWxEaWdpdCgpIHsgcmV0dXJuIHRoaXMuX2N1c3RvbUxhYmVsRGlnaXQgfTtcclxuICAgIHByaXZhdGUgc2V0IGN1c3RvbUxhYmVsRGlnaXQodmFsdWU6IG51bWJlcikge1xyXG4gICAgICAgIHRoaXMuX2N1c3RvbUxhYmVsRGlnaXQgPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgYm9hcmROb2RlOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIHByaXZhdGUgb3V0bGluZUJveE5vZGU6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgcHJpdmF0ZSBjb2xsaWRlQm94Tm9kZTogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBwcml2YXRlIGFuY2hvclBvaW50Tm9kZTogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBwcml2YXRlIGN1c3RvbUxhYmVsTm9kZTogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBwcml2YXRlIGN1c3RvbUxhYmVsOiBjYy5MYWJlbCA9IG51bGw7XHJcbiAgICBwcml2YXRlIGN1c3RvbUxhYmVsU3RyaW5nU3BsaXQ6IHN0cmluZ1tdID0gbnVsbDtcclxuICAgIHByaXZhdGUgbW9uaXRvckNvbXA6IGNjLkNvbXBvbmVudCA9IG51bGw7XHJcblxyXG4gICAgcHJvdGVjdGVkIHN0YXJ0KCkge1xyXG4gICAgICAgIHRoaXMuYm9hcmROb2RlID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKCdEYXRhQm9hcmQnKTtcclxuICAgICAgICBpZiAoIUNDX0VESVRPUiAmJiAhd2luZG93WydEQVRBQk9BUkQnXSkge1xyXG4gICAgICAgICAgICB0aGlzLmRlc3Ryb3koKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoY2MuaXNWYWxpZCh0aGlzLmJvYXJkTm9kZSkpIHtcclxuICAgICAgICAgICAgdGhpcy5ib2FyZE5vZGUucmVtb3ZlRnJvbVBhcmVudCgpO1xyXG4gICAgICAgICAgICB0aGlzLmJvYXJkTm9kZS5kZXN0cm95KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCB0ZXh0dXJlID0gbmV3IGNjLlRleHR1cmUyRCgpO1xyXG4gICAgICAgIHRleHR1cmUuaW5pdFdpdGhEYXRhKG5ldyBVaW50OEFycmF5KFsyNTUsIDI1NSwgMjU1XSksIGNjLlRleHR1cmUyRC5QaXhlbEZvcm1hdC5SR0I4ODgsIDEsIDEpO1xyXG5cclxuICAgICAgICB0aGlzLmJvYXJkTm9kZSA9IG5ldyBjYy5Ob2RlKCdEYXRhQm9hcmQnKTtcclxuICAgICAgICB0aGlzLmJvYXJkTm9kZS5zZXRQYXJlbnQodGhpcy5ub2RlKTtcclxuICAgICAgICB0aGlzLmJvYXJkTm9kZS54ID0gdGhpcy5ib2FyZE5vZGUueSA9IDA7XHJcbiAgICAgICAgdGhpcy5ib2FyZE5vZGUuekluZGV4ID0gY2MubWFjcm8uTUFYX1pJTkRFWDtcclxuICAgICAgICAvLyB0aGlzLmJvYXJkTm9kZVsnX29iakZsYWdzJ10gfD0gY2MuT2JqZWN0WydGbGFncyddLkhpZGVJbkhpZXJhcmNoeTtcclxuICAgICAgICB0aGlzLmJvYXJkTm9kZVsnX29iakZsYWdzJ10gfD0gY2MuT2JqZWN0WydGbGFncyddLkxvY2tlZEluRWRpdG9yO1xyXG5cclxuICAgICAgICB0aGlzLm91dGxpbmVCb3hOb2RlID0gbmV3IGNjLk5vZGUoJ091dGxpbmVCb3gnKTtcclxuICAgICAgICB0aGlzLm91dGxpbmVCb3hOb2RlLnNldFBhcmVudCh0aGlzLmJvYXJkTm9kZSk7XHJcbiAgICAgICAgdGhpcy5vdXRsaW5lQm94Tm9kZS5hZGRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IG5ldyBjYy5TcHJpdGVGcmFtZSh0ZXh0dXJlKTtcclxuICAgICAgICB0aGlzLm91dGxpbmVCb3hOb2RlLmFjdGl2ZSA9IHRoaXMuaXNPdXRsaW5lQm94QWN0aXZlO1xyXG4gICAgICAgIHRoaXMub3V0bGluZUJveE5vZGUuY29sb3IgPSB0aGlzLm91dGxpbmVCb3hDb2xvcjtcclxuICAgICAgICB0aGlzLm91dGxpbmVCb3hOb2RlLm9wYWNpdHkgPSB0aGlzLm91dGxpbmVCb3hPcGFjaXR5O1xyXG5cclxuICAgICAgICB0aGlzLmNvbGxpZGVCb3hOb2RlID0gbmV3IGNjLk5vZGUoJ0NvbGxpZGVCb3gnKTtcclxuICAgICAgICB0aGlzLmNvbGxpZGVCb3hOb2RlLnNldFBhcmVudCh0aGlzLmJvYXJkTm9kZSk7XHJcbiAgICAgICAgdGhpcy5jb2xsaWRlQm94Tm9kZS5hZGRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IG5ldyBjYy5TcHJpdGVGcmFtZSh0ZXh0dXJlKTtcclxuICAgICAgICB0aGlzLmNvbGxpZGVCb3hOb2RlLmFjdGl2ZSA9IHRoaXMuaXNDb2xsaWRlQm94QWN0aXZlO1xyXG4gICAgICAgIHRoaXMuY29sbGlkZUJveE5vZGUuY29sb3IgPSB0aGlzLmNvbGxpZGVCb3hDb2xvcjtcclxuICAgICAgICB0aGlzLmNvbGxpZGVCb3hOb2RlLm9wYWNpdHkgPSB0aGlzLmNvbGxpZGVCb3hPcGFjaXR5O1xyXG5cclxuICAgICAgICB0aGlzLmFuY2hvclBvaW50Tm9kZSA9IG5ldyBjYy5Ob2RlKCdBbmNob3JQb2ludCcpO1xyXG4gICAgICAgIHRoaXMuYW5jaG9yUG9pbnROb2RlLnNldFBhcmVudCh0aGlzLmJvYXJkTm9kZSk7XHJcbiAgICAgICAgdGhpcy5hbmNob3JQb2ludE5vZGUuYWRkQ29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSBuZXcgY2MuU3ByaXRlRnJhbWUodGV4dHVyZSk7XHJcbiAgICAgICAgdGhpcy5hbmNob3JQb2ludE5vZGUuY29sb3IgPSBjYy5jb2xvcigyNTUsIDAsIDApO1xyXG4gICAgICAgIHRoaXMuYW5jaG9yUG9pbnROb2RlLndpZHRoID0gQU5DSE9SX1NJWkU7XHJcbiAgICAgICAgdGhpcy5hbmNob3JQb2ludE5vZGUuaGVpZ2h0ID0gQU5DSE9SX1NJWkU7XHJcblxyXG4gICAgICAgIHRoaXMuY3VzdG9tTGFiZWxOb2RlID0gbmV3IGNjLk5vZGUoJ0N1c3RvbUxhYmVsJyk7XHJcbiAgICAgICAgdGhpcy5jdXN0b21MYWJlbE5vZGUuc2V0UGFyZW50KHRoaXMuYm9hcmROb2RlKTtcclxuICAgICAgICB0aGlzLmN1c3RvbUxhYmVsID0gdGhpcy5jdXN0b21MYWJlbE5vZGUuYWRkQ29tcG9uZW50KGNjLkxhYmVsKTtcclxuICAgICAgICB0aGlzLmN1c3RvbUxhYmVsTm9kZS5hZGRDb21wb25lbnQoY2MuTGFiZWxPdXRsaW5lKS5jb2xvciA9IGNjLmNvbG9yKDAsIDAsIDApO1xyXG4gICAgICAgIHRoaXMuY3VzdG9tTGFiZWxOb2RlLmFjdGl2ZSA9IHRoaXMuaXNDdXN0b21MYWJlbEFjdGl2ZTtcclxuICAgICAgICB0aGlzLmN1c3RvbUxhYmVsU3RyaW5nID0gdGhpcy5fY3VzdG9tTGFiZWxTdHJpbmc7XHJcbiAgICAgICAgdGhpcy5jdXN0b21MYWJlbE5vZGUueCA9IHRoaXMuY3VzdG9tTGFiZWxPZmZzZXQueDtcclxuICAgICAgICB0aGlzLmN1c3RvbUxhYmVsTm9kZS55ID0gdGhpcy5jdXN0b21MYWJlbE9mZnNldC55O1xyXG4gICAgICAgIHRoaXMuY3VzdG9tTGFiZWxOb2RlLmNvbG9yID0gdGhpcy5jdXN0b21MYWJlbENvbG9yO1xyXG4gICAgICAgIHRoaXMuY3VzdG9tTGFiZWxTaXplID0gdGhpcy5fY3VzdG9tTGFiZWxTaXplO1xyXG5cclxuICAgICAgICB0aGlzLnVwZGF0ZUFuZ2xlKCk7XHJcbiAgICAgICAgdGhpcy51cGRhdGVTY2FsZSgpO1xyXG4gICAgICAgIHRoaXMudXBkYXRlQW5jaG9yKCk7XHJcbiAgICAgICAgdGhpcy51cGRhdGVTaXplKCk7XHJcbiAgICAgICAgdGhpcy5ub2RlLm9uKGNjLk5vZGUuRXZlbnRUeXBlLlJPVEFUSU9OX0NIQU5HRUQsIHRoaXMudXBkYXRlQW5nbGUsIHRoaXMpO1xyXG4gICAgICAgIHRoaXMubm9kZS5vbihjYy5Ob2RlLkV2ZW50VHlwZS5TQ0FMRV9DSEFOR0VELCB0aGlzLnVwZGF0ZVNjYWxlLCB0aGlzKTtcclxuICAgICAgICB0aGlzLm5vZGUub24oY2MuTm9kZS5FdmVudFR5cGUuQU5DSE9SX0NIQU5HRUQsIHRoaXMudXBkYXRlQW5jaG9yLCB0aGlzKTtcclxuICAgICAgICB0aGlzLm5vZGUub24oY2MuTm9kZS5FdmVudFR5cGUuU0laRV9DSEFOR0VELCB0aGlzLnVwZGF0ZVNpemUsIHRoaXMpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdXBkYXRlQW5nbGUoKSB7XHJcbiAgICAgICAgdGhpcy5jb2xsaWRlQm94Tm9kZS5hbmdsZSA9IC10aGlzLm5vZGUuYW5nbGU7XHJcbiAgICAgICAgdGhpcy5jdXN0b21MYWJlbE5vZGUuYW5nbGUgPSAtdGhpcy5ub2RlLmFuZ2xlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdXBkYXRlU2NhbGUoKSB7XHJcbiAgICAgICAgdGhpcy5ib2FyZE5vZGUuc2NhbGVYID0gMSAvIHRoaXMubm9kZS5zY2FsZVg7XHJcbiAgICAgICAgdGhpcy5ib2FyZE5vZGUuc2NhbGVZID0gMSAvIHRoaXMubm9kZS5zY2FsZVk7XHJcbiAgICAgICAgdGhpcy5vdXRsaW5lQm94Tm9kZS5zY2FsZVggPSB0aGlzLm5vZGUuc2NhbGVYO1xyXG4gICAgICAgIHRoaXMub3V0bGluZUJveE5vZGUuc2NhbGVZID0gdGhpcy5ub2RlLnNjYWxlWTtcclxuICAgICAgICB0aGlzLmNvbGxpZGVCb3hOb2RlLnNjYWxlWCA9IHRoaXMubm9kZS5zY2FsZVg7XHJcbiAgICAgICAgdGhpcy5jb2xsaWRlQm94Tm9kZS5zY2FsZVkgPSB0aGlzLm5vZGUuc2NhbGVZO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdXBkYXRlQW5jaG9yKCkge1xyXG4gICAgICAgIHRoaXMub3V0bGluZUJveE5vZGUuYW5jaG9yWCA9IHRoaXMubm9kZS5hbmNob3JYO1xyXG4gICAgICAgIHRoaXMub3V0bGluZUJveE5vZGUuYW5jaG9yWSA9IHRoaXMubm9kZS5hbmNob3JZO1xyXG4gICAgICAgIHRoaXMuY29sbGlkZUJveE5vZGUuYW5jaG9yWCA9IHRoaXMubm9kZS5hbmNob3JYO1xyXG4gICAgICAgIHRoaXMuY29sbGlkZUJveE5vZGUuYW5jaG9yWSA9IHRoaXMubm9kZS5hbmNob3JZO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdXBkYXRlU2l6ZSgpIHtcclxuICAgICAgICB0aGlzLm91dGxpbmVCb3hOb2RlLndpZHRoID0gdGhpcy5ub2RlLndpZHRoO1xyXG4gICAgICAgIHRoaXMub3V0bGluZUJveE5vZGUuaGVpZ2h0ID0gdGhpcy5ub2RlLmhlaWdodDtcclxuICAgICAgICB0aGlzLmNvbGxpZGVCb3hOb2RlLndpZHRoID0gdGhpcy5ub2RlLndpZHRoO1xyXG4gICAgICAgIHRoaXMuY29sbGlkZUJveE5vZGUuaGVpZ2h0ID0gdGhpcy5ub2RlLmhlaWdodDtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgdXBkYXRlKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5pc0N1c3RvbUxhYmVsQWN0aXZlKSByZXR1cm47XHJcbiAgICAgICAgaWYgKCF0aGlzLmN1c3RvbUxhYmVsU3RyaW5nU3BsaXQpIHJldHVybjtcclxuICAgICAgICBsZXQgcmFkaWFuID0gLXRoaXMubm9kZS5hbmdsZSAqIE1hdGguUEkgLyAxODA7XHJcbiAgICAgICAgbGV0IGNvcyA9IE1hdGguY29zKHJhZGlhbik7XHJcbiAgICAgICAgbGV0IHNpbiA9IE1hdGguc2luKHJhZGlhbik7XHJcbiAgICAgICAgdGhpcy5jdXN0b21MYWJlbE5vZGUueCA9IHRoaXMuY3VzdG9tTGFiZWxPZmZzZXQueCAqIGNvcyAtIHRoaXMuY3VzdG9tTGFiZWxPZmZzZXQueSAqIHNpbjtcclxuICAgICAgICB0aGlzLmN1c3RvbUxhYmVsTm9kZS55ID0gdGhpcy5jdXN0b21MYWJlbE9mZnNldC54ICogc2luICsgdGhpcy5jdXN0b21MYWJlbE9mZnNldC55ICogY29zO1xyXG4gICAgICAgIGxldCBzdHIgPSAnJztcclxuICAgICAgICBsZXQgc3RycyA9IHRoaXMuY3VzdG9tTGFiZWxTdHJpbmdTcGxpdDtcclxuICAgICAgICBpZiAoIXRoaXMubW9uaXRvckNvbXAgJiYgdGhpcy5jdXN0b21Db21wb25lbnROYW1lKSB7XHJcbiAgICAgICAgICAgIHRoaXMubW9uaXRvckNvbXAgPSB0aGlzLm5vZGUuZ2V0Q29tcG9uZW50KHRoaXMuY3VzdG9tQ29tcG9uZW50TmFtZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSBzdHJzLmxlbmd0aDsgaSA8IGxlbjsgKytpKSB7XHJcbiAgICAgICAgICAgIGxldCB0bXAgPSBudWxsO1xyXG4gICAgICAgICAgICBzd2l0Y2ggKHN0cnNbaV0pIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgJ3dwJzpcclxuICAgICAgICAgICAgICAgICAgICBsZXQgbWF0cml4ID0gdGhpcy5ub2RlWydfd29ybGRNYXRyaXgnXS5tO1xyXG4gICAgICAgICAgICAgICAgICAgIHRtcCA9IGAke21hdHJpeFsxMl0udG9GaXhlZCh0aGlzLmN1c3RvbUxhYmVsRGlnaXQpfSxcXHQke21hdHJpeFsxM10udG9GaXhlZCh0aGlzLmN1c3RvbUxhYmVsRGlnaXQpfWA7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdhbmdsZSc6XHJcbiAgICAgICAgICAgICAgICAgICAgdG1wID0gdGhpcy5ub2RlLmFuZ2xlLnRvRml4ZWQodGhpcy5jdXN0b21MYWJlbERpZ2l0KSArICfCsCc7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdyYWRpYW4nOlxyXG4gICAgICAgICAgICAgICAgICAgIHRtcCA9ICh0aGlzLm5vZGUuYW5nbGUgLyAxODApLnRvRml4ZWQodGhpcy5jdXN0b21MYWJlbERpZ2l0KSArICfPgCc7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdtYXRyaXgnOlxyXG4gICAgICAgICAgICAgICAgICAgIG1hdHJpeCA9IHRoaXMubm9kZVsnX3dvcmxkTWF0cml4J10ubTtcclxuICAgICAgICAgICAgICAgICAgICB0bXAgPSAnJztcclxuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDQ7ICsraSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IDQ7ICsraikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG0gPSBtYXRyaXhbaiAqIDQgKyBpXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcCArPSAobSA8IDAgPyAnXFx0XFx0JyA6ICdcXHRcXHRcXHQnKSArIG0udG9GaXhlZCh0aGlzLmN1c3RvbUxhYmVsRGlnaXQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGkgIT09IDMgJiYgKHRtcCArPSAnXFxuJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnY2hpbGRyZW4nOlxyXG4gICAgICAgICAgICAgICAgICAgIHRtcCA9ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSB0aGlzLm5vZGUuY2hpbGRyZW5Db3VudDsgaSA8IGxlbjsgKytpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRtcCArPSBgXFx0XFx0XFx0JHtpfe+8miR7dGhpcy5ub2RlLmNoaWxkcmVuW2ldLm5hbWV9YDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaSAhPT0gbGVuIC0gMSAmJiAodG1wICs9ICdcXG4nKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlICd+JzogdG1wID0gJyxcXHQnOyBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgJyEnOiB0bXAgPSAnOlxcdCc7IGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnQCc6IHRtcCA9ICdcXHRcXHQnOyBicmVhaztcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubm9kZVtzdHJzW2ldXSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IHRoaXMubm9kZVtzdHJzW2ldXTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHN0cnNbaV0uc3RhcnRzV2l0aCgnIycpICYmIHRoaXMubW9uaXRvckNvbXAgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gdGhpcy5wYXJzZVN0cmluZyhzdHJzW2ldLnN1YnN0cmluZygxKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gc3Ryc1tpXTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0bXAgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IHRtcC50b0ZpeGVkKHRoaXMuY3VzdG9tTGFiZWxEaWdpdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0bXAubmFtZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSB0bXAubmFtZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3RyICs9IHRtcDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jdXN0b21MYWJlbC5zdHJpbmcgPSBzdHI7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBwYXJzZVN0cmluZyhzdHI6IHN0cmluZykge1xyXG4gICAgICAgIGxldCBzdHJzID0gc3RyLnNwbGl0KCcuJyk7XHJcbiAgICAgICAgbGV0IHJldCA9IHRoaXMubW9uaXRvckNvbXBbc3Ryc1swXV07XHJcbiAgICAgICAgcmV0ID09PSB1bmRlZmluZWQgJiYgKHJldCA9IGAjJHtzdHJzWzBdfWApO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAxLCBsZW4gPSBzdHJzLmxlbmd0aDsgaSA8IGxlbjsgKytpKSB7XHJcbiAgICAgICAgICAgIGlmIChyZXRbc3Ryc1tpXV0gPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGAke3JldC5uYW1lID8gcmV0Lm5hbWUgOiByZXR9LiR7c3Ryc1tpXX1gO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldCA9IHJldFtzdHJzW2ldXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJldDtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgb25EZXN0cm95KCkge1xyXG4gICAgICAgIGlmIChjYy5pc1ZhbGlkKHRoaXMuYm9hcmROb2RlKSkge1xyXG4gICAgICAgICAgICB0aGlzLmJvYXJkTm9kZS5yZW1vdmVGcm9tUGFyZW50KCk7XHJcbiAgICAgICAgICAgIHRoaXMuYm9hcmROb2RlLmRlc3Ryb3koKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5ub2RlLnRhcmdldE9mZih0aGlzKTtcclxuICAgIH1cclxufSJdfQ== -//------QC-SOURCE-SPLIT------ diff --git a/temp/quick-scripts/dst/__qc_index__.js b/temp/quick-scripts/dst/__qc_index__.js deleted file mode 100644 index d087549..0000000 --- a/temp/quick-scripts/dst/__qc_index__.js +++ /dev/null @@ -1,25 +0,0 @@ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/__qc_index__.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);} -require('./assets/Script/DataBoard'); -require('./assets/Script/Hero'); - - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); \ No newline at end of file diff --git a/temp/quick-scripts/dst/__quick_compile__.js b/temp/quick-scripts/dst/__quick_compile__.js deleted file mode 100644 index 1d89583..0000000 --- a/temp/quick-scripts/dst/__quick_compile__.js +++ /dev/null @@ -1,267 +0,0 @@ - -(function () { -var scripts = [{"deps":{"./assets/Script/DataBoard":2,"./assets/Script/Hero":1},"path":"preview-scripts/__qc_index__.js"},{"deps":{},"path":"preview-scripts/assets/Script/Hero.js"},{"deps":{},"path":"preview-scripts/assets/Script/DataBoard.js"}]; -var entries = ["preview-scripts/__qc_index__.js"]; -var bundleScript = 'preview-scripts/__qc_bundle__.js'; - -/** - * Notice: This file can not use ES6 (for IE 11) - */ -var modules = {}; -var name2path = {}; - -// Will generated by module.js plugin -// var scripts = ${scripts}; -// var entries = ${entries}; -// var bundleScript = ${bundleScript}; - -if (typeof global === 'undefined') { - window.global = window; -} - -var isJSB = typeof jsb !== 'undefined'; - -function getXMLHttpRequest () { - return window.XMLHttpRequest ? new window.XMLHttpRequest() : new ActiveXObject('MSXML2.XMLHTTP'); -} - -function downloadText(url, callback) { - if (isJSB) { - var result = jsb.fileUtils.getStringFromFile(url); - callback(null, result); - return; - } - - var xhr = getXMLHttpRequest(), - errInfo = 'Load text file failed: ' + url; - xhr.open('GET', url, true); - if (xhr.overrideMimeType) xhr.overrideMimeType('text\/plain; charset=utf-8'); - xhr.onload = function () { - if (xhr.readyState === 4) { - if (xhr.status === 200 || xhr.status === 0) { - callback(null, xhr.responseText); - } - else { - callback({status:xhr.status, errorMessage:errInfo + ', status: ' + xhr.status}); - } - } - else { - callback({status:xhr.status, errorMessage:errInfo + '(wrong readyState)'}); - } - }; - xhr.onerror = function(){ - callback({status:xhr.status, errorMessage:errInfo + '(error)'}); - }; - xhr.ontimeout = function(){ - callback({status:xhr.status, errorMessage:errInfo + '(time out)'}); - }; - xhr.send(null); -}; - -function loadScript (src, cb) { - if (typeof require !== 'undefined') { - require(src); - return cb(); - } - - // var timer = 'load ' + src; - // console.time(timer); - - var scriptElement = document.createElement('script'); - - function done() { - // console.timeEnd(timer); - // deallocation immediate whatever - scriptElement.remove(); - } - - scriptElement.onload = function () { - done(); - cb(); - }; - scriptElement.onerror = function () { - done(); - var error = 'Failed to load ' + src; - console.error(error); - cb(new Error(error)); - }; - scriptElement.setAttribute('type','text/javascript'); - scriptElement.setAttribute('charset', 'utf-8'); - scriptElement.setAttribute('src', src); - - document.head.appendChild(scriptElement); -} - -function loadScripts (srcs, cb) { - var n = srcs.length; - - srcs.forEach(function (src) { - loadScript(src, function () { - n--; - if (n === 0) { - cb(); - } - }); - }) -} - -function formatPath (path) { - let destPath = window.__quick_compile_project__.destPath; - if (destPath) { - let prefix = 'preview-scripts'; - if (destPath[destPath.length - 1] === '/') { - prefix += '/'; - } - path = path.replace(prefix, destPath); - } - return path; -} - -window.__quick_compile_project__ = { - destPath: '', - - registerModule: function (path, module) { - path = formatPath(path); - modules[path].module = module; - }, - - registerModuleFunc: function (path, func) { - path = formatPath(path); - modules[path].func = func; - - var sections = path.split('/'); - var name = sections[sections.length - 1]; - name = name.replace(/\.(?:js|ts|json)$/i, ''); - name2path[name] = path; - }, - - require: function (request, path) { - var m, requestScript; - - path = formatPath(path); - if (path) { - m = modules[path]; - if (!m) { - console.warn('Can not find module for path : ' + path); - return null; - } - } - - if (m) { - let depIndex = m.deps[request]; - // dependence script was excluded - if (depIndex === -1) { - return null; - } - else { - requestScript = scripts[ m.deps[request] ]; - } - } - - let requestPath = ''; - if (!requestScript) { - // search from name2path when request is a dynamic module name - if (/^[\w- .]*$/.test(request)) { - requestPath = name2path[request]; - } - - if (!requestPath) { - if (CC_JSB) { - return require(request); - } - else { - console.warn('Can not find deps [' + request + '] for path : ' + path); - return null; - } - } - } - else { - requestPath = formatPath(requestScript.path); - } - - let requestModule = modules[requestPath]; - if (!requestModule) { - console.warn('Can not find request module for path : ' + requestPath); - return null; - } - - if (!requestModule.module && requestModule.func) { - requestModule.func(); - } - - if (!requestModule.module) { - console.warn('Can not find requestModule.module for path : ' + path); - return null; - } - - return requestModule.module.exports; - }, - - run: function () { - entries.forEach(function (entry) { - entry = formatPath(entry); - var module = modules[entry]; - if (!module.module) { - module.func(); - } - }); - }, - - load: function (cb) { - var self = this; - - var srcs = scripts.map(function (script) { - var path = formatPath(script.path); - modules[path] = script; - - if (script.mtime) { - path += ("?mtime=" + script.mtime); - } - return path; - }); - - console.time && console.time('load __quick_compile_project__'); - // jsb can not analysis sourcemap, so keep separate files. - if (bundleScript && !isJSB) { - downloadText(formatPath(bundleScript), function (err, bundleSource) { - console.timeEnd && console.timeEnd('load __quick_compile_project__'); - if (err) { - console.error(err); - return; - } - - let evalTime = 'eval __quick_compile_project__ : ' + srcs.length + ' files'; - console.time && console.time(evalTime); - var sources = bundleSource.split('\n//------QC-SOURCE-SPLIT------\n'); - for (var i = 0; i < sources.length; i++) { - if (sources[i]) { - window.eval(sources[i]); - // not sure why new Function cannot set breakpoints precisely - // new Function(sources[i])() - } - } - self.run(); - console.timeEnd && console.timeEnd(evalTime); - cb(); - }) - } - else { - loadScripts(srcs, function () { - self.run(); - console.timeEnd && console.timeEnd('load __quick_compile_project__'); - cb(); - }); - } - } -}; - -// Polyfill for IE 11 -if (!('remove' in Element.prototype)) { - Element.prototype.remove = function () { - if (this.parentNode) { - this.parentNode.removeChild(this); - } - }; -} -})(); - \ No newline at end of file diff --git a/temp/quick-scripts/dst/assets/Script/DataBoard.js b/temp/quick-scripts/dst/assets/Script/DataBoard.js deleted file mode 100644 index 829b3d4..0000000 --- a/temp/quick-scripts/dst/assets/Script/DataBoard.js +++ /dev/null @@ -1,487 +0,0 @@ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/DataBoard.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, '1c152bUhQpJ6J1jGhQVUYf8', 'DataBoard'); -// Script/DataBoard.ts - -"use strict"; -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -/******************************************************************************* - * 创建: 2022年11月23日 - * 作者: 水煮肉片饭(27185709@qq.com) - * 描述: 数据看板 - * 节点挂上该组件,就可以在游戏运行过程中,直观看到节点任意属性(包括节点脚本中的属性) - * 可以图形化展示以下四种数据: - * 轮廓盒子: 随节点旋转,代表节点的实时矩形 - * 碰撞盒子: 不随节点旋转,一般代表碰撞范围 - * 自定义参数: 节点自身属性,以及节点任意脚本中的属性 - * 锚点: 锚点位置会显示一个小红点 - * 自定义参数(配置想监控的数据): - * wp: 世界坐标 - * radian: 节点弧度(单位:π) - * matrix: 变换矩阵 - * 自身属性: x,y,parent,children等 - * 脚本属性: 脚本实例对象的属性 - * ↓↓参数可以用3种分隔符隔开↓↓ - * 英文逗号、英文冒号、空格 - * ————————————————————————举个栗子———————————————————————— - * 脚本: Hero - * 参数: wp,scale,angle,#angle,#hp - * 显示结果:世界坐标,节点scale,节点angle,Hero对象的angle,Hero对象的hp - * ————————————————————————温馨提示———————————————————————— - * 初始化的时候,设置全局变量window['DATABOARD'] = false可屏蔽本项目所有DataBoard,不会产生任何额外开销\n -*******************************************************************************/ -window['DATABOARD'] = true; -var ANCHOR_SIZE = 20; //锚点的大小 -var LINEHEIGHT = 1.2; //行高是字体大小的多少倍 -var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, executeInEditMode = _a.executeInEditMode, menu = _a.menu; -var DataBoard = /** @class */ (function (_super) { - __extends(DataBoard, _super); - function DataBoard() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this._isOutlineBoxActive = false; - _this._outlineBoxColor = new cc.Color(Math.random() * 255, Math.random() * 255, Math.random() * 255); - _this._outlineBoxOpacity = 100; - _this._isCollideBoxActive = true; - _this._collideBoxColor = new cc.Color(Math.random() * 255, Math.random() * 255, Math.random() * 255); - _this._collideBoxOpacity = 100; - _this._isCustomLabelActive = true; - _this.customComponentName = ''; - _this._customLabelString = 'x,y'; - _this._customLabelOffset = cc.v2(0, 100); - _this._customLabelColor = new cc.Color(255, 255, 0); - _this._customLabelSize = 60; - _this._customLabelDigit = 0; - _this.boardNode = null; - _this.outlineBoxNode = null; - _this.collideBoxNode = null; - _this.anchorPointNode = null; - _this.customLabelNode = null; - _this.customLabel = null; - _this.customLabelStringSplit = null; - _this.monitorComp = null; - return _this; - } - Object.defineProperty(DataBoard.prototype, "isOutlineBoxActive", { - get: function () { return this._isOutlineBoxActive; }, - set: function (value) { - this._isOutlineBoxActive = value; - this.outlineBoxNode.active = value; - }, - enumerable: false, - configurable: true - }); - ; - Object.defineProperty(DataBoard.prototype, "outlineBoxColor", { - get: function () { return this._outlineBoxColor; }, - set: function (value) { - this._outlineBoxColor = value; - this.outlineBoxNode.color = value; - }, - enumerable: false, - configurable: true - }); - ; - Object.defineProperty(DataBoard.prototype, "outlineBoxOpacity", { - get: function () { return this._outlineBoxOpacity; }, - set: function (value) { - this._outlineBoxOpacity = value; - this.outlineBoxNode.opacity = value; - }, - enumerable: false, - configurable: true - }); - ; - Object.defineProperty(DataBoard.prototype, "isCollideBoxActive", { - get: function () { return this._isCollideBoxActive; }, - set: function (value) { - this._isCollideBoxActive = value; - this.collideBoxNode.active = value; - }, - enumerable: false, - configurable: true - }); - ; - Object.defineProperty(DataBoard.prototype, "collideBoxColor", { - get: function () { return this._collideBoxColor; }, - set: function (value) { - this._collideBoxColor = value; - this.collideBoxNode.color = value; - }, - enumerable: false, - configurable: true - }); - ; - Object.defineProperty(DataBoard.prototype, "collideBoxOpacity", { - get: function () { return this._collideBoxOpacity; }, - set: function (value) { - this._collideBoxOpacity = value; - this.collideBoxNode.opacity = value; - }, - enumerable: false, - configurable: true - }); - ; - Object.defineProperty(DataBoard.prototype, "isCustomLabelActive", { - get: function () { return this._isCustomLabelActive; }, - set: function (value) { - this._isCustomLabelActive = value; - this.customLabelNode.active = 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(/ |\t/g, '_@_') - .replace(/_*\n_*/g, '_\n_').split('_'); - }, - enumerable: false, - configurable: true - }); - ; - Object.defineProperty(DataBoard.prototype, "customLabelOffset", { - get: function () { return this._customLabelOffset; }, - set: function (value) { - this._customLabelOffset = value; - this.customLabelNode.x = value.x; - this.customLabelNode.y = value.y; - }, - enumerable: false, - configurable: true - }); - ; - Object.defineProperty(DataBoard.prototype, "customLabelColor", { - get: function () { return this._customLabelColor; }, - set: function (value) { - this._customLabelColor = value; - this.customLabelNode.color = value; - }, - enumerable: false, - configurable: true - }); - ; - Object.defineProperty(DataBoard.prototype, "customLabelSize", { - get: function () { return this._customLabelSize; }, - set: function (value) { - this._customLabelSize = value; - this.customLabel.fontSize = value; - this.customLabel.lineHeight = value * LINEHEIGHT; - this.customLabelNode.getComponent(cc.LabelOutline).width = value * 0.1; - }, - enumerable: false, - configurable: true - }); - ; - Object.defineProperty(DataBoard.prototype, "customLabelDigit", { - get: function () { return this._customLabelDigit; }, - set: function (value) { - this._customLabelDigit = value; - }, - enumerable: false, - configurable: true - }); - ; - DataBoard.prototype.start = function () { - this.boardNode = this.node.getChildByName('DataBoard'); - if (!CC_EDITOR && !window['DATABOARD']) { - this.destroy(); - return; - } - if (cc.isValid(this.boardNode)) { - this.boardNode.removeFromParent(); - this.boardNode.destroy(); - } - 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; - this.outlineBoxNode = new cc.Node('OutlineBox'); - this.outlineBoxNode.setParent(this.boardNode); - this.outlineBoxNode.addComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(texture); - this.outlineBoxNode.active = this.isOutlineBoxActive; - this.outlineBoxNode.color = this.outlineBoxColor; - this.outlineBoxNode.opacity = this.outlineBoxOpacity; - this.collideBoxNode = new cc.Node('CollideBox'); - this.collideBoxNode.setParent(this.boardNode); - this.collideBoxNode.addComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(texture); - this.collideBoxNode.active = this.isCollideBoxActive; - this.collideBoxNode.color = this.collideBoxColor; - this.collideBoxNode.opacity = this.collideBoxOpacity; - this.anchorPointNode = new cc.Node('AnchorPoint'); - this.anchorPointNode.setParent(this.boardNode); - this.anchorPointNode.addComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(texture); - this.anchorPointNode.color = cc.color(255, 0, 0); - this.anchorPointNode.width = ANCHOR_SIZE; - this.anchorPointNode.height = ANCHOR_SIZE; - this.customLabelNode = new cc.Node('CustomLabel'); - this.customLabelNode.setParent(this.boardNode); - this.customLabel = this.customLabelNode.addComponent(cc.Label); - this.customLabelNode.addComponent(cc.LabelOutline).color = cc.color(0, 0, 0); - this.customLabelNode.active = this.isCustomLabelActive; - this.customLabelString = this._customLabelString; - this.customLabelNode.x = this.customLabelOffset.x; - this.customLabelNode.y = this.customLabelOffset.y; - this.customLabelNode.color = this.customLabelColor; - this.customLabelSize = this._customLabelSize; - this.updateAngle(); - this.updateScale(); - this.updateAnchor(); - this.updateSize(); - this.node.on(cc.Node.EventType.ROTATION_CHANGED, this.updateAngle, this); - this.node.on(cc.Node.EventType.SCALE_CHANGED, this.updateScale, this); - this.node.on(cc.Node.EventType.ANCHOR_CHANGED, this.updateAnchor, this); - this.node.on(cc.Node.EventType.SIZE_CHANGED, this.updateSize, this); - }; - DataBoard.prototype.updateAngle = function () { - this.collideBoxNode.angle = -this.node.angle; - this.customLabelNode.angle = -this.node.angle; - }; - DataBoard.prototype.updateScale = function () { - this.boardNode.scaleX = 1 / this.node.scaleX; - this.boardNode.scaleY = 1 / this.node.scaleY; - this.outlineBoxNode.scaleX = this.node.scaleX; - this.outlineBoxNode.scaleY = this.node.scaleY; - this.collideBoxNode.scaleX = this.node.scaleX; - this.collideBoxNode.scaleY = this.node.scaleY; - }; - DataBoard.prototype.updateAnchor = function () { - this.outlineBoxNode.anchorX = this.node.anchorX; - this.outlineBoxNode.anchorY = this.node.anchorY; - this.collideBoxNode.anchorX = this.node.anchorX; - this.collideBoxNode.anchorY = this.node.anchorY; - }; - DataBoard.prototype.updateSize = function () { - this.outlineBoxNode.width = this.node.width; - this.outlineBoxNode.height = this.node.height; - this.collideBoxNode.width = this.node.width; - this.collideBoxNode.height = this.node.height; - }; - DataBoard.prototype.update = function () { - if (!this.isCustomLabelActive) - return; - if (!this.customLabelStringSplit) - return; - 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); - } - for (var i = 0, len = strs.length; i < len; ++i) { - var tmp = null; - switch (strs[i]) { - case 'wp': - var matrix = this.node['_worldMatrix'].m; - tmp = matrix[12].toFixed(this.customLabelDigit) + ",\t" + matrix[13].toFixed(this.customLabelDigit); - break; - case 'angle': - tmp = this.node.angle.toFixed(this.customLabelDigit) + '°'; - break; - case 'radian': - tmp = (this.node.angle / 180).toFixed(this.customLabelDigit) + 'π'; - break; - case 'matrix': - matrix = this.node['_worldMatrix'].m; - 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]; - tmp += (m < 0 ? '\t\t' : '\t\t\t') + m.toFixed(this.customLabelDigit); - } - i_1 !== 3 && (tmp += '\n'); - } - break; - case 'children': - tmp = ''; - for (var i_2 = 0, len_1 = this.node.childrenCount; i_2 < len_1; ++i_2) { - tmp += "\t\t\t" + i_2 + "\uFF1A" + this.node.children[i_2].name; - i_2 !== len_1 - 1 && (tmp += '\n'); - } - break; - case '~': - tmp = ',\t'; - break; - case '!': - tmp = ':\t'; - break; - case '@': - tmp = '\t\t'; - break; - default: - if (this.node[strs[i]] !== undefined) { - tmp = this.node[strs[i]]; - } - else if (strs[i].startsWith('#') && this.monitorComp !== null) { - tmp = this.parseString(strs[i].substring(1)); - } - else { - tmp = strs[i]; - } - if (typeof tmp === 'number') { - tmp = tmp.toFixed(this.customLabelDigit); - } - else if (tmp.name) { - tmp = tmp.name; - } - break; - } - str += tmp; - } - this.customLabel.string = str; - }; - DataBoard.prototype.parseString = function (str) { - var strs = str.split('.'); - var ret = this.monitorComp[strs[0]]; - ret === undefined && (ret = "#" + 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]; - } - ret = ret[strs[i]]; - } - return ret; - }; - DataBoard.prototype.onDestroy = function () { - if (cc.isValid(this.boardNode)) { - this.boardNode.removeFromParent(); - this.boardNode.destroy(); - } - this.node.targetOff(this); - }; - __decorate([ - property - ], DataBoard.prototype, "_isOutlineBoxActive", void 0); - __decorate([ - property({ displayName: CC_DEV && '轮廓盒子', tooltip: CC_DEV && '随节点旋转,代表实时轮廓' }) - ], DataBoard.prototype, "isOutlineBoxActive", null); - __decorate([ - property - ], DataBoard.prototype, "_outlineBoxColor", void 0); - __decorate([ - property({ displayName: CC_DEV && '······颜色', visible: function () { return this.isOutlineBoxActive; } }) - ], DataBoard.prototype, "outlineBoxColor", null); - __decorate([ - property - ], DataBoard.prototype, "_outlineBoxOpacity", void 0); - __decorate([ - property({ min: 0, max: 255, step: 1, slide: true, displayName: CC_DEV && '······透明度', visible: function () { return this.isOutlineBoxActive; } }) - ], DataBoard.prototype, "outlineBoxOpacity", null); - __decorate([ - property - ], DataBoard.prototype, "_isCollideBoxActive", void 0); - __decorate([ - property({ displayName: CC_DEV && '碰撞盒子', tooltip: CC_DEV && '不随节点旋转,代表碰撞范围' }) - ], DataBoard.prototype, "isCollideBoxActive", null); - __decorate([ - property - ], DataBoard.prototype, "_collideBoxColor", void 0); - __decorate([ - property({ displayName: CC_DEV && '······颜色', visible: function () { return this.isCollideBoxActive; } }) - ], DataBoard.prototype, "collideBoxColor", null); - __decorate([ - property - ], DataBoard.prototype, "_collideBoxOpacity", void 0); - __decorate([ - property({ min: 0, max: 255, step: 1, slide: true, displayName: CC_DEV && '······透明度', visible: function () { return this.isCollideBoxActive; } }) - ], DataBoard.prototype, "collideBoxOpacity", null); - __decorate([ - property - ], DataBoard.prototype, "_isCustomLabelActive", void 0); - __decorate([ - property({ displayName: CC_DEV && '自定义参数', tooltip: CC_DEV && '配置显示的属性内容' }) - ], DataBoard.prototype, "isCustomLabelActive", null); - __decorate([ - property({ displayName: CC_DEV && '······脚本', tooltip: CC_DEV && '监控哪个脚本', visible: function () { return this.isCustomLabelActive; } }) - ], DataBoard.prototype, "customComponentName", void 0); - __decorate([ - property - ], DataBoard.prototype, "_customLabelString", void 0); - __decorate([ - 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: function () { return this.isCustomLabelActive; } }) - ], DataBoard.prototype, "customLabelString", null); - __decorate([ - property - ], DataBoard.prototype, "_customLabelOffset", void 0); - __decorate([ - property({ displayName: CC_DEV && '······偏移', visible: function () { return this.isCustomLabelActive; } }) - ], DataBoard.prototype, "customLabelOffset", null); - __decorate([ - property - ], DataBoard.prototype, "_customLabelColor", void 0); - __decorate([ - property({ displayName: CC_DEV && '······颜色', visible: function () { return this.isCustomLabelActive; } }) - ], DataBoard.prototype, "customLabelColor", null); - __decorate([ - property - ], DataBoard.prototype, "_customLabelSize", void 0); - __decorate([ - property({ displayName: CC_DEV && '······大小', visible: function () { return this.isCustomLabelActive; } }) - ], DataBoard.prototype, "customLabelSize", null); - __decorate([ - property - ], DataBoard.prototype, "_customLabelDigit", void 0); - __decorate([ - property({ min: 0, max: 10, step: 1, slide: true, displayName: CC_DEV && '······小数位数', visible: function () { return this.isCustomLabelActive; } }) - ], DataBoard.prototype, "customLabelDigit", null); - DataBoard = __decorate([ - ccclass, - executeInEditMode, - menu('Comp/DataBoard') - ], DataBoard); - return DataBoard; -}(cc.Component)); -exports.default = DataBoard; - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxEYXRhQm9hcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztnRkF3QmdGO0FBQ2hGLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUM7QUFDM0IsSUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDLENBQWUsT0FBTztBQUM3QyxJQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsQ0FBZSxhQUFhO0FBQzdDLElBQUEsS0FBaUQsRUFBRSxDQUFDLFVBQVUsRUFBNUQsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFBLEVBQUUsaUJBQWlCLHVCQUFBLEVBQUUsSUFBSSxVQUFrQixDQUFDO0FBSXJFO0lBQXVDLDZCQUFZO0lBQW5EO1FBQUEscUVBaVNDO1FBL1JXLHlCQUFtQixHQUFZLEtBQUssQ0FBQztRQVFyQyxzQkFBZ0IsR0FBYSxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQztRQVF6Ryx3QkFBa0IsR0FBVyxHQUFHLENBQUM7UUFRakMseUJBQW1CLEdBQVksSUFBSSxDQUFDO1FBUXBDLHNCQUFnQixHQUFhLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBUXpHLHdCQUFrQixHQUFXLEdBQUcsQ0FBQztRQVFqQywwQkFBb0IsR0FBWSxJQUFJLENBQUM7UUFRckMseUJBQW1CLEdBQVcsRUFBRSxDQUFDO1FBRWpDLHdCQUFrQixH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QU8sZ0JBQUssT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUEsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvREFDakM7SUFROUQ7UUFEQyxRQUFRO3dEQUM2QjtJQUV0QztRQURDLFFBQVEsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sSUFBSSxZQUFZLEVBQUUsT0FBTyxnQkFBSyxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQSxDQUFDLENBQUMsRUFBRSxDQUFDO3FEQUN4RTtJQW5HL0MsU0FBUztRQUg3QixPQUFPO1FBQ1AsaUJBQWlCO1FBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztPQUNGLFNBQVMsQ0FpUzdCO0lBQUQsZ0JBQUM7Q0FqU0QsQUFpU0MsQ0FqU3NDLEVBQUUsQ0FBQyxTQUFTLEdBaVNsRDtrQkFqU29CLFNBQVMiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gKiDliJvlu7o6ICAgIDIwMjLlubQxMeaciDIz5pelXHJcbiAqIOS9nOiAhTogICAg5rC054Wu6IKJ54mH6aWtKDI3MTg1NzA5QHFxLmNvbSlcclxuICog5o+P6L+wOiAgICDmlbDmja7nnIvmnb9cclxuICog6IqC54K55oyC5LiK6K+l57uE5Lu277yM5bCx5Y+v5Lul5Zyo5ri45oiP6L+Q6KGM6L+H56iL5Lit77yM55u06KeC55yL5Yiw6IqC54K55Lu75oSP5bGe5oCn77yI5YyF5ous6IqC54K56ISa5pys5Lit55qE5bGe5oCn77yJXHJcbiAqIOWPr+S7peWbvuW9ouWMluWxleekuuS7peS4i+Wbm+enjeaVsOaNru+8mlxyXG4gKiAgICAgICAgICDova7lu5Pnm5LlrZDvvJogICAgICAgICAg6ZqP6IqC54K55peL6L2s77yM5Luj6KGo6IqC54K555qE5a6e5pe255+p5b2iXHJcbiAqICAgICAgICAgIOeisOaSnuebkuWtkO+8miAgICAgICAgICDkuI3pmo/oioLngrnml4vovazvvIzkuIDoiKzku6PooajnorDmkp7ojIPlm7RcclxuICogICAgICAgICAg6Ieq5a6a5LmJ5Y+C5pWw77yaICAgICAgICDoioLngrnoh6rouqvlsZ7mgKfvvIzku6Xlj4roioLngrnku7vmhI/ohJrmnKzkuK3nmoTlsZ7mgKdcclxuICogICAgICAgICAg6ZSa54K577yaICAgICAgICAgICAgIOmUmueCueS9jee9ruS8muaYvuekuuS4gOS4quWwj+e6oueCuVxyXG4gKiDoh6rlrprkuYnlj4LmlbDvvIjphY3nva7mg7Pnm5HmjqfnmoTmlbDmja7vvInvvJpcclxuICogICAgICAgICAgd3DvvJogICAgICAgICAgICAgICDkuJbnlYzlnZDmoIdcclxuICogICAgICAgICAgcmFkaWFu77yaICAgICAgICAgICDoioLngrnlvKfluqbvvIjljZXkvY3vvJrPgO+8iVxyXG4gKiAgICAgICAgICBtYXRyaXg6ICAgICAgICAgICAg5Y+Y5o2i55+p6Zi1XHJcbiAqICAgICAgICAgIOiHqui6q+WxnuaAp++8miAgICAgICAgICB4LHkscGFyZW50LGNoaWxkcmVu562JXHJcbiAqICAgICAgICAgIOiEmuacrOWxnuaAp++8miAgICAgICAgICDohJrmnKzlrp7kvovlr7nosaHnmoTlsZ7mgKdcclxuICog4oaT4oaT5Y+C5pWw5Y+v5Lul55SoM+enjeWIhumalOespumalOW8gOKGk+KGk1xyXG4gKiAgICAgICAgICDoi7HmlofpgJflj7fjgIHoi7HmloflhpLlj7fjgIHnqbrmoLxcclxuICog4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU5Li+5Liq5qCX5a2Q4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCUXHJcbiAqIOiEmuacrO+8miAgICBIZXJvXHJcbiAqIOWPguaVsO+8miAgICB3cCxzY2FsZSxhbmdsZSwjYW5nbGUsI2hwXHJcbiAqIOaYvuekuue7k+aenO+8muS4lueVjOWdkOaghyzoioLngrlzY2FsZSzoioLngrlhbmdsZe+8jEhlcm/lr7nosaHnmoRhbmdsZSxIZXJv5a+56LGh55qEaHBcclxuICog4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU5rip6aao5o+Q56S64oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCUXHJcbiAqIOWIneWni+WMlueahOaXtuWAme+8jOiuvue9ruWFqOWxgOWPmOmHj3dpbmRvd1snREFUQUJPQVJEJ10gPSBmYWxzZeWPr+Wxj+iUveacrOmhueebruaJgOaciURhdGFCb2FyZO+8jOS4jeS8muS6p+eUn+S7u+S9lemineWkluW8gOmUgFxcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG53aW5kb3dbJ0RBVEFCT0FSRCddID0gdHJ1ZTtcclxuY29uc3QgQU5DSE9SX1NJWkUgPSAyMDsgICAgICAgICAgICAgICAvL+mUmueCueeahOWkp+Wwj1xyXG5jb25zdCBMSU5FSEVJR0hUID0gMS4yOyAgICAgICAgICAgICAgIC8v6KGM6auY5piv5a2X5L2T5aSn5bCP55qE5aSa5bCR5YCNXHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHksIGV4ZWN1dGVJbkVkaXRNb2RlLCBtZW51IH0gPSBjYy5fZGVjb3JhdG9yO1xyXG5AY2NjbGFzc1xyXG5AZXhlY3V0ZUluRWRpdE1vZGVcclxuQG1lbnUoJ0NvbXAvRGF0YUJvYXJkJylcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGF0YUJvYXJkIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIEBwcm9wZXJ0eVxyXG4gICAgcHJpdmF0ZSBfaXNPdXRsaW5lQm94QWN0aXZlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBAcHJvcGVydHkoeyBkaXNwbGF5TmFtZTogQ0NfREVWICYmICfova7lu5Pnm5LlrZAnLCB0b29sdGlwOiBDQ19ERVYgJiYgJ+maj+iKgueCueaXi+i9rO+8jOS7o+ihqOWunuaXtui9ruW7kycgfSlcclxuICAgIHByaXZhdGUgZ2V0IGlzT3V0bGluZUJveEFjdGl2ZSgpIHsgcmV0dXJuIHRoaXMuX2lzT3V0bGluZUJveEFjdGl2ZSB9O1xyXG4gICAgcHJpdmF0ZSBzZXQgaXNPdXRsaW5lQm94QWN0aXZlKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5faXNPdXRsaW5lQm94QWN0aXZlID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5vdXRsaW5lQm94Tm9kZS5hY3RpdmUgPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIEBwcm9wZXJ0eVxyXG4gICAgcHJpdmF0ZSBfb3V0bGluZUJveENvbG9yOiBjYy5Db2xvciA9IG5ldyBjYy5Db2xvcihNYXRoLnJhbmRvbSgpICogMjU1LCBNYXRoLnJhbmRvbSgpICogMjU1LCBNYXRoLnJhbmRvbSgpICogMjU1KTtcclxuICAgIEBwcm9wZXJ0eSh7IGRpc3BsYXlOYW1lOiBDQ19ERVYgJiYgJ8K3wrfCt8K3wrfCt+minOiJsicsIHZpc2libGUoKSB7IHJldHVybiB0aGlzLmlzT3V0bGluZUJveEFjdGl2ZSB9IH0pXHJcbiAgICBwcml2YXRlIGdldCBvdXRsaW5lQm94Q29sb3IoKSB7IHJldHVybiB0aGlzLl9vdXRsaW5lQm94Q29sb3IgfTtcclxuICAgIHByaXZhdGUgc2V0IG91dGxpbmVCb3hDb2xvcih2YWx1ZTogY2MuQ29sb3IpIHtcclxuICAgICAgICB0aGlzLl9vdXRsaW5lQm94Q29sb3IgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLm91dGxpbmVCb3hOb2RlLmNvbG9yID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgICBAcHJvcGVydHlcclxuICAgIHByaXZhdGUgX291dGxpbmVCb3hPcGFjaXR5OiBudW1iZXIgPSAxMDA7XHJcbiAgICBAcHJvcGVydHkoeyBtaW46IDAsIG1heDogMjU1LCBzdGVwOiAxLCBzbGlkZTogdHJ1ZSwgZGlzcGxheU5hbWU6IENDX0RFViAmJiAnwrfCt8K3wrfCt8K36YCP5piO5bqmJywgdmlzaWJsZSgpIHsgcmV0dXJuIHRoaXMuaXNPdXRsaW5lQm94QWN0aXZlIH0gfSlcclxuICAgIHByaXZhdGUgZ2V0IG91dGxpbmVCb3hPcGFjaXR5KCkgeyByZXR1cm4gdGhpcy5fb3V0bGluZUJveE9wYWNpdHkgfTtcclxuICAgIHByaXZhdGUgc2V0IG91dGxpbmVCb3hPcGFjaXR5KHZhbHVlOiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLl9vdXRsaW5lQm94T3BhY2l0eSA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMub3V0bGluZUJveE5vZGUub3BhY2l0eSA9IHZhbHVlO1xyXG4gICAgfVxyXG4gICAgQHByb3BlcnR5XHJcbiAgICBwcml2YXRlIF9pc0NvbGxpZGVCb3hBY3RpdmU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgQHByb3BlcnR5KHsgZGlzcGxheU5hbWU6IENDX0RFViAmJiAn56Kw5pKe55uS5a2QJywgdG9vbHRpcDogQ0NfREVWICYmICfkuI3pmo/oioLngrnml4vovazvvIzku6PooajnorDmkp7ojIPlm7QnIH0pXHJcbiAgICBwcml2YXRlIGdldCBpc0NvbGxpZGVCb3hBY3RpdmUoKSB7IHJldHVybiB0aGlzLl9pc0NvbGxpZGVCb3hBY3RpdmUgfTtcclxuICAgIHByaXZhdGUgc2V0IGlzQ29sbGlkZUJveEFjdGl2ZSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX2lzQ29sbGlkZUJveEFjdGl2ZSA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuY29sbGlkZUJveE5vZGUuYWN0aXZlID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgICBAcHJvcGVydHlcclxuICAgIHByaXZhdGUgX2NvbGxpZGVCb3hDb2xvcjogY2MuQ29sb3IgPSBuZXcgY2MuQ29sb3IoTWF0aC5yYW5kb20oKSAqIDI1NSwgTWF0aC5yYW5kb20oKSAqIDI1NSwgTWF0aC5yYW5kb20oKSAqIDI1NSk7XHJcbiAgICBAcHJvcGVydHkoeyBkaXNwbGF5TmFtZTogQ0NfREVWICYmICfCt8K3wrfCt8K3wrfpopzoibInLCB2aXNpYmxlKCkgeyByZXR1cm4gdGhpcy5pc0NvbGxpZGVCb3hBY3RpdmUgfSB9KVxyXG4gICAgcHJpdmF0ZSBnZXQgY29sbGlkZUJveENvbG9yKCkgeyByZXR1cm4gdGhpcy5fY29sbGlkZUJveENvbG9yIH07XHJcbiAgICBwcml2YXRlIHNldCBjb2xsaWRlQm94Q29sb3IodmFsdWU6IGNjLkNvbG9yKSB7XHJcbiAgICAgICAgdGhpcy5fY29sbGlkZUJveENvbG9yID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5jb2xsaWRlQm94Tm9kZS5jb2xvciA9IHZhbHVlO1xyXG4gICAgfVxyXG4gICAgQHByb3BlcnR5XHJcbiAgICBwcml2YXRlIF9jb2xsaWRlQm94T3BhY2l0eTogbnVtYmVyID0gMTAwO1xyXG4gICAgQHByb3BlcnR5KHsgbWluOiAwLCBtYXg6IDI1NSwgc3RlcDogMSwgc2xpZGU6IHRydWUsIGRpc3BsYXlOYW1lOiBDQ19ERVYgJiYgJ8K3wrfCt8K3wrfCt+mAj+aYjuW6picsIHZpc2libGUoKSB7IHJldHVybiB0aGlzLmlzQ29sbGlkZUJveEFjdGl2ZSB9IH0pXHJcbiAgICBwcml2YXRlIGdldCBjb2xsaWRlQm94T3BhY2l0eSgpIHsgcmV0dXJuIHRoaXMuX2NvbGxpZGVCb3hPcGFjaXR5IH07XHJcbiAgICBwcml2YXRlIHNldCBjb2xsaWRlQm94T3BhY2l0eSh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICAgICAgdGhpcy5fY29sbGlkZUJveE9wYWNpdHkgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLmNvbGxpZGVCb3hOb2RlLm9wYWNpdHkgPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIEBwcm9wZXJ0eVxyXG4gICAgcHJpdmF0ZSBfaXNDdXN0b21MYWJlbEFjdGl2ZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBAcHJvcGVydHkoeyBkaXNwbGF5TmFtZTogQ0NfREVWICYmICfoh6rlrprkuYnlj4LmlbAnLCB0b29sdGlwOiBDQ19ERVYgJiYgJ+mFjee9ruaYvuekuueahOWxnuaAp+WGheWuuScgfSlcclxuICAgIHByaXZhdGUgZ2V0IGlzQ3VzdG9tTGFiZWxBY3RpdmUoKSB7IHJldHVybiB0aGlzLl9pc0N1c3RvbUxhYmVsQWN0aXZlIH07XHJcbiAgICBwcml2YXRlIHNldCBpc0N1c3RvbUxhYmVsQWN0aXZlKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5faXNDdXN0b21MYWJlbEFjdGl2ZSA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuY3VzdG9tTGFiZWxOb2RlLmFjdGl2ZSA9IHZhbHVlO1xyXG4gICAgfVxyXG4gICAgQHByb3BlcnR5KHsgZGlzcGxheU5hbWU6IENDX0RFViAmJiAnwrfCt8K3wrfCt8K36ISa5pysJywgdG9vbHRpcDogQ0NfREVWICYmICfnm5Hmjqflk6rkuKrohJrmnKwnLCB2aXNpYmxlKCkgeyByZXR1cm4gdGhpcy5pc0N1c3RvbUxhYmVsQWN0aXZlOyB9IH0pXHJcbiAgICBwcml2YXRlIGN1c3RvbUNvbXBvbmVudE5hbWU6IHN0cmluZyA9ICcnO1xyXG4gICAgQHByb3BlcnR5XHJcbiAgICBwcml2YXRlIF9jdXN0b21MYWJlbFN0cmluZzogc3RyaW5nID0gJ3gseSc7XHJcbiAgICBAcHJvcGVydHkoeyBtdWx0aWxpbmU6IHRydWUsIGRpc3BsYXlOYW1lOiBDQ19ERVYgJiYgJ8K3wrfCt8K3wrfCt+WPguaVsCcsIHRvb2x0aXA6IENDX0RFViAmJiBcIuKAlOKAlOKAlOKAlOKAlOaUr+aMgeeahOWPguaVsOKAlOKAlOKAlOKAlFxcbndw77ya5LiW55WM5Z2Q5qCHXFxucmFkaWFu77ya6IqC54K55byn5bqm77yI5Y2V5L2N77yaz4DvvIlcXG5tYXRyaXjvvJrlj5jmjaLnn6npmLVcXG7oh6rouqvlsZ7mgKfvvJp4LHkscGFyZW50LGNoaWxkcmVu562JXFxu6ISa5pys5bGe5oCn77ya6ISa5pys5a6e5L6L5a+56LGh55qE5bGe5oCnXFxu4oaT4oaT5Y+C5pWw5Y+v5Lul55SoM+enjeWIhumalOespumalOW8gOKGk+KGk1xcbuiLseaWh+mAl+WPt+OAgeiLseaWh+WGkuWPt+OAgeepuuagvFxcbuKAlOKAlOKAlOKAlOS4vuS4quagl+WtkOKAlOKAlOKAlOKAlFxcbuiEmuacrO+8mkhlcm9cXG7lj4LmlbDvvJp3cCxzY2FsZSxhbmdsZSwjYW5nbGUsI2hwXFxu5pi+56S657uT5p6c77yaXFxu5LiW55WM5Z2Q5qCHLOiKgueCuXNjYWxlLOiKgueCuWFuZ2xl77yMSGVyb+WvueixoeeahGFuZ2xlLEhlcm/lr7nosaHnmoRocFxcbuKAlOKAlOKAlOKAlOa4qemmqOaPkOekuuKAlOKAlOKAlOKAlFxcbuWIneWni+WMlueahOaXtuWAme+8jOiuvue9ruWFqOWxgOWPmOmHj1xcbndpbmRvd1snREFUQUJPQVJEJ10gPSBmYWxzZVxcbuWPr+Wxj+iUveacrOmhueebruaJgOaciURhdGFCb2FyZO+8jOS4jeS8muS6p+eUn+S7u+S9lemineWkluW8gOmUgFwiLCB2aXNpYmxlKCkgeyByZXR1cm4gdGhpcy5pc0N1c3RvbUxhYmVsQWN0aXZlIH0gfSlcclxuICAgIHByaXZhdGUgZ2V0IGN1c3RvbUxhYmVsU3RyaW5nKCkgeyByZXR1cm4gdGhpcy5fY3VzdG9tTGFiZWxTdHJpbmcgfTtcclxuICAgIHByaXZhdGUgc2V0IGN1c3RvbUxhYmVsU3RyaW5nKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLl9jdXN0b21MYWJlbFN0cmluZyA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuY3VzdG9tTGFiZWxTdHJpbmdTcGxpdCA9IHZhbHVlXHJcbiAgICAgICAgICAgIC5yZXBsYWNlKC8sfO+8jC9nLCAnX35fJykucmVwbGFjZSgvOnzvvJovZywgJ18hXycpLnJlcGxhY2UoLyB8XFx0L2csICdfQF8nKVxyXG4gICAgICAgICAgICAucmVwbGFjZSgvXypcXG5fKi9nLCAnX1xcbl8nKS5zcGxpdCgnXycpO1xyXG4gICAgfVxyXG4gICAgQHByb3BlcnR5XHJcbiAgICBwcml2YXRlIF9jdXN0b21MYWJlbE9mZnNldDogY2MuVmVjMiA9IGNjLnYyKDAsIDEwMCk7XHJcbiAgICBAcHJvcGVydHkoeyBkaXNwbGF5TmFtZTogQ0NfREVWICYmICfCt8K3wrfCt8K3wrflgY/np7snLCB2aXNpYmxlKCkgeyByZXR1cm4gdGhpcy5pc0N1c3RvbUxhYmVsQWN0aXZlIH0gfSlcclxuICAgIHByaXZhdGUgZ2V0IGN1c3RvbUxhYmVsT2Zmc2V0KCkgeyByZXR1cm4gdGhpcy5fY3VzdG9tTGFiZWxPZmZzZXQgfTtcclxuICAgIHByaXZhdGUgc2V0IGN1c3RvbUxhYmVsT2Zmc2V0KHZhbHVlOiBjYy5WZWMyKSB7XHJcbiAgICAgICAgdGhpcy5fY3VzdG9tTGFiZWxPZmZzZXQgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLmN1c3RvbUxhYmVsTm9kZS54ID0gdmFsdWUueDtcclxuICAgICAgICB0aGlzLmN1c3RvbUxhYmVsTm9kZS55ID0gdmFsdWUueTtcclxuICAgIH1cclxuICAgIEBwcm9wZXJ0eVxyXG4gICAgcHJpdmF0ZSBfY3VzdG9tTGFiZWxDb2xvcjogY2MuQ29sb3IgPSBuZXcgY2MuQ29sb3IoMjU1LCAyNTUsIDApO1xyXG4gICAgQHByb3BlcnR5KHsgZGlzcGxheU5hbWU6IENDX0RFViAmJiAnwrfCt8K3wrfCt8K36aKc6ImyJywgdmlzaWJsZSgpIHsgcmV0dXJuIHRoaXMuaXNDdXN0b21MYWJlbEFjdGl2ZSB9IH0pXHJcbiAgICBwcml2YXRlIGdldCBjdXN0b21MYWJlbENvbG9yKCkgeyByZXR1cm4gdGhpcy5fY3VzdG9tTGFiZWxDb2xvciB9O1xyXG4gICAgcHJpdmF0ZSBzZXQgY3VzdG9tTGFiZWxDb2xvcih2YWx1ZTogY2MuQ29sb3IpIHtcclxuICAgICAgICB0aGlzLl9jdXN0b21MYWJlbENvbG9yID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5jdXN0b21MYWJlbE5vZGUuY29sb3IgPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIEBwcm9wZXJ0eVxyXG4gICAgcHJpdmF0ZSBfY3VzdG9tTGFiZWxTaXplOiBudW1iZXIgPSA2MDtcclxuICAgIEBwcm9wZXJ0eSh7IGRpc3BsYXlOYW1lOiBDQ19ERVYgJiYgJ8K3wrfCt8K3wrfCt+Wkp+WwjycsIHZpc2libGUoKSB7IHJldHVybiB0aGlzLmlzQ3VzdG9tTGFiZWxBY3RpdmUgfSB9KVxyXG4gICAgcHJpdmF0ZSBnZXQgY3VzdG9tTGFiZWxTaXplKCkgeyByZXR1cm4gdGhpcy5fY3VzdG9tTGFiZWxTaXplIH07XHJcbiAgICBwcml2YXRlIHNldCBjdXN0b21MYWJlbFNpemUodmFsdWU6IG51bWJlcikge1xyXG4gICAgICAgIHRoaXMuX2N1c3RvbUxhYmVsU2l6ZSA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuY3VzdG9tTGFiZWwuZm9udFNpemUgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLmN1c3RvbUxhYmVsLmxpbmVIZWlnaHQgPSB2YWx1ZSAqIExJTkVIRUlHSFQ7XHJcbiAgICAgICAgdGhpcy5jdXN0b21MYWJlbE5vZGUuZ2V0Q29tcG9uZW50KGNjLkxhYmVsT3V0bGluZSkud2lkdGggPSB2YWx1ZSAqIDAuMTtcclxuICAgIH1cclxuICAgIEBwcm9wZXJ0eVxyXG4gICAgcHJpdmF0ZSBfY3VzdG9tTGFiZWxEaWdpdDogbnVtYmVyID0gMDtcclxuICAgIEBwcm9wZXJ0eSh7IG1pbjogMCwgbWF4OiAxMCwgc3RlcDogMSwgc2xpZGU6IHRydWUsIGRpc3BsYXlOYW1lOiBDQ19ERVYgJiYgJ8K3wrfCt8K3wrfCt+Wwj+aVsOS9jeaVsCcsIHZpc2libGUoKSB7IHJldHVybiB0aGlzLmlzQ3VzdG9tTGFiZWxBY3RpdmUgfSB9KVxyXG4gICAgcHJpdmF0ZSBnZXQgY3VzdG9tTGFiZWxEaWdpdCgpIHsgcmV0dXJuIHRoaXMuX2N1c3RvbUxhYmVsRGlnaXQgfTtcclxuICAgIHByaXZhdGUgc2V0IGN1c3RvbUxhYmVsRGlnaXQodmFsdWU6IG51bWJlcikge1xyXG4gICAgICAgIHRoaXMuX2N1c3RvbUxhYmVsRGlnaXQgPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgYm9hcmROb2RlOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIHByaXZhdGUgb3V0bGluZUJveE5vZGU6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgcHJpdmF0ZSBjb2xsaWRlQm94Tm9kZTogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBwcml2YXRlIGFuY2hvclBvaW50Tm9kZTogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBwcml2YXRlIGN1c3RvbUxhYmVsTm9kZTogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBwcml2YXRlIGN1c3RvbUxhYmVsOiBjYy5MYWJlbCA9IG51bGw7XHJcbiAgICBwcml2YXRlIGN1c3RvbUxhYmVsU3RyaW5nU3BsaXQ6IHN0cmluZ1tdID0gbnVsbDtcclxuICAgIHByaXZhdGUgbW9uaXRvckNvbXA6IGNjLkNvbXBvbmVudCA9IG51bGw7XHJcblxyXG4gICAgcHJvdGVjdGVkIHN0YXJ0KCkge1xyXG4gICAgICAgIHRoaXMuYm9hcmROb2RlID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKCdEYXRhQm9hcmQnKTtcclxuICAgICAgICBpZiAoIUNDX0VESVRPUiAmJiAhd2luZG93WydEQVRBQk9BUkQnXSkge1xyXG4gICAgICAgICAgICB0aGlzLmRlc3Ryb3koKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoY2MuaXNWYWxpZCh0aGlzLmJvYXJkTm9kZSkpIHtcclxuICAgICAgICAgICAgdGhpcy5ib2FyZE5vZGUucmVtb3ZlRnJvbVBhcmVudCgpO1xyXG4gICAgICAgICAgICB0aGlzLmJvYXJkTm9kZS5kZXN0cm95KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCB0ZXh0dXJlID0gbmV3IGNjLlRleHR1cmUyRCgpO1xyXG4gICAgICAgIHRleHR1cmUuaW5pdFdpdGhEYXRhKG5ldyBVaW50OEFycmF5KFsyNTUsIDI1NSwgMjU1XSksIGNjLlRleHR1cmUyRC5QaXhlbEZvcm1hdC5SR0I4ODgsIDEsIDEpO1xyXG5cclxuICAgICAgICB0aGlzLmJvYXJkTm9kZSA9IG5ldyBjYy5Ob2RlKCdEYXRhQm9hcmQnKTtcclxuICAgICAgICB0aGlzLmJvYXJkTm9kZS5zZXRQYXJlbnQodGhpcy5ub2RlKTtcclxuICAgICAgICB0aGlzLmJvYXJkTm9kZS54ID0gdGhpcy5ib2FyZE5vZGUueSA9IDA7XHJcbiAgICAgICAgdGhpcy5ib2FyZE5vZGUuekluZGV4ID0gY2MubWFjcm8uTUFYX1pJTkRFWDtcclxuICAgICAgICAvLyB0aGlzLmJvYXJkTm9kZVsnX29iakZsYWdzJ10gfD0gY2MuT2JqZWN0WydGbGFncyddLkhpZGVJbkhpZXJhcmNoeTtcclxuICAgICAgICB0aGlzLmJvYXJkTm9kZVsnX29iakZsYWdzJ10gfD0gY2MuT2JqZWN0WydGbGFncyddLkxvY2tlZEluRWRpdG9yO1xyXG5cclxuICAgICAgICB0aGlzLm91dGxpbmVCb3hOb2RlID0gbmV3IGNjLk5vZGUoJ091dGxpbmVCb3gnKTtcclxuICAgICAgICB0aGlzLm91dGxpbmVCb3hOb2RlLnNldFBhcmVudCh0aGlzLmJvYXJkTm9kZSk7XHJcbiAgICAgICAgdGhpcy5vdXRsaW5lQm94Tm9kZS5hZGRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IG5ldyBjYy5TcHJpdGVGcmFtZSh0ZXh0dXJlKTtcclxuICAgICAgICB0aGlzLm91dGxpbmVCb3hOb2RlLmFjdGl2ZSA9IHRoaXMuaXNPdXRsaW5lQm94QWN0aXZlO1xyXG4gICAgICAgIHRoaXMub3V0bGluZUJveE5vZGUuY29sb3IgPSB0aGlzLm91dGxpbmVCb3hDb2xvcjtcclxuICAgICAgICB0aGlzLm91dGxpbmVCb3hOb2RlLm9wYWNpdHkgPSB0aGlzLm91dGxpbmVCb3hPcGFjaXR5O1xyXG5cclxuICAgICAgICB0aGlzLmNvbGxpZGVCb3hOb2RlID0gbmV3IGNjLk5vZGUoJ0NvbGxpZGVCb3gnKTtcclxuICAgICAgICB0aGlzLmNvbGxpZGVCb3hOb2RlLnNldFBhcmVudCh0aGlzLmJvYXJkTm9kZSk7XHJcbiAgICAgICAgdGhpcy5jb2xsaWRlQm94Tm9kZS5hZGRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IG5ldyBjYy5TcHJpdGVGcmFtZSh0ZXh0dXJlKTtcclxuICAgICAgICB0aGlzLmNvbGxpZGVCb3hOb2RlLmFjdGl2ZSA9IHRoaXMuaXNDb2xsaWRlQm94QWN0aXZlO1xyXG4gICAgICAgIHRoaXMuY29sbGlkZUJveE5vZGUuY29sb3IgPSB0aGlzLmNvbGxpZGVCb3hDb2xvcjtcclxuICAgICAgICB0aGlzLmNvbGxpZGVCb3hOb2RlLm9wYWNpdHkgPSB0aGlzLmNvbGxpZGVCb3hPcGFjaXR5O1xyXG5cclxuICAgICAgICB0aGlzLmFuY2hvclBvaW50Tm9kZSA9IG5ldyBjYy5Ob2RlKCdBbmNob3JQb2ludCcpO1xyXG4gICAgICAgIHRoaXMuYW5jaG9yUG9pbnROb2RlLnNldFBhcmVudCh0aGlzLmJvYXJkTm9kZSk7XHJcbiAgICAgICAgdGhpcy5hbmNob3JQb2ludE5vZGUuYWRkQ29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSBuZXcgY2MuU3ByaXRlRnJhbWUodGV4dHVyZSk7XHJcbiAgICAgICAgdGhpcy5hbmNob3JQb2ludE5vZGUuY29sb3IgPSBjYy5jb2xvcigyNTUsIDAsIDApO1xyXG4gICAgICAgIHRoaXMuYW5jaG9yUG9pbnROb2RlLndpZHRoID0gQU5DSE9SX1NJWkU7XHJcbiAgICAgICAgdGhpcy5hbmNob3JQb2ludE5vZGUuaGVpZ2h0ID0gQU5DSE9SX1NJWkU7XHJcblxyXG4gICAgICAgIHRoaXMuY3VzdG9tTGFiZWxOb2RlID0gbmV3IGNjLk5vZGUoJ0N1c3RvbUxhYmVsJyk7XHJcbiAgICAgICAgdGhpcy5jdXN0b21MYWJlbE5vZGUuc2V0UGFyZW50KHRoaXMuYm9hcmROb2RlKTtcclxuICAgICAgICB0aGlzLmN1c3RvbUxhYmVsID0gdGhpcy5jdXN0b21MYWJlbE5vZGUuYWRkQ29tcG9uZW50KGNjLkxhYmVsKTtcclxuICAgICAgICB0aGlzLmN1c3RvbUxhYmVsTm9kZS5hZGRDb21wb25lbnQoY2MuTGFiZWxPdXRsaW5lKS5jb2xvciA9IGNjLmNvbG9yKDAsIDAsIDApO1xyXG4gICAgICAgIHRoaXMuY3VzdG9tTGFiZWxOb2RlLmFjdGl2ZSA9IHRoaXMuaXNDdXN0b21MYWJlbEFjdGl2ZTtcclxuICAgICAgICB0aGlzLmN1c3RvbUxhYmVsU3RyaW5nID0gdGhpcy5fY3VzdG9tTGFiZWxTdHJpbmc7XHJcbiAgICAgICAgdGhpcy5jdXN0b21MYWJlbE5vZGUueCA9IHRoaXMuY3VzdG9tTGFiZWxPZmZzZXQueDtcclxuICAgICAgICB0aGlzLmN1c3RvbUxhYmVsTm9kZS55ID0gdGhpcy5jdXN0b21MYWJlbE9mZnNldC55O1xyXG4gICAgICAgIHRoaXMuY3VzdG9tTGFiZWxOb2RlLmNvbG9yID0gdGhpcy5jdXN0b21MYWJlbENvbG9yO1xyXG4gICAgICAgIHRoaXMuY3VzdG9tTGFiZWxTaXplID0gdGhpcy5fY3VzdG9tTGFiZWxTaXplO1xyXG5cclxuICAgICAgICB0aGlzLnVwZGF0ZUFuZ2xlKCk7XHJcbiAgICAgICAgdGhpcy51cGRhdGVTY2FsZSgpO1xyXG4gICAgICAgIHRoaXMudXBkYXRlQW5jaG9yKCk7XHJcbiAgICAgICAgdGhpcy51cGRhdGVTaXplKCk7XHJcbiAgICAgICAgdGhpcy5ub2RlLm9uKGNjLk5vZGUuRXZlbnRUeXBlLlJPVEFUSU9OX0NIQU5HRUQsIHRoaXMudXBkYXRlQW5nbGUsIHRoaXMpO1xyXG4gICAgICAgIHRoaXMubm9kZS5vbihjYy5Ob2RlLkV2ZW50VHlwZS5TQ0FMRV9DSEFOR0VELCB0aGlzLnVwZGF0ZVNjYWxlLCB0aGlzKTtcclxuICAgICAgICB0aGlzLm5vZGUub24oY2MuTm9kZS5FdmVudFR5cGUuQU5DSE9SX0NIQU5HRUQsIHRoaXMudXBkYXRlQW5jaG9yLCB0aGlzKTtcclxuICAgICAgICB0aGlzLm5vZGUub24oY2MuTm9kZS5FdmVudFR5cGUuU0laRV9DSEFOR0VELCB0aGlzLnVwZGF0ZVNpemUsIHRoaXMpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdXBkYXRlQW5nbGUoKSB7XHJcbiAgICAgICAgdGhpcy5jb2xsaWRlQm94Tm9kZS5hbmdsZSA9IC10aGlzLm5vZGUuYW5nbGU7XHJcbiAgICAgICAgdGhpcy5jdXN0b21MYWJlbE5vZGUuYW5nbGUgPSAtdGhpcy5ub2RlLmFuZ2xlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdXBkYXRlU2NhbGUoKSB7XHJcbiAgICAgICAgdGhpcy5ib2FyZE5vZGUuc2NhbGVYID0gMSAvIHRoaXMubm9kZS5zY2FsZVg7XHJcbiAgICAgICAgdGhpcy5ib2FyZE5vZGUuc2NhbGVZID0gMSAvIHRoaXMubm9kZS5zY2FsZVk7XHJcbiAgICAgICAgdGhpcy5vdXRsaW5lQm94Tm9kZS5zY2FsZVggPSB0aGlzLm5vZGUuc2NhbGVYO1xyXG4gICAgICAgIHRoaXMub3V0bGluZUJveE5vZGUuc2NhbGVZID0gdGhpcy5ub2RlLnNjYWxlWTtcclxuICAgICAgICB0aGlzLmNvbGxpZGVCb3hOb2RlLnNjYWxlWCA9IHRoaXMubm9kZS5zY2FsZVg7XHJcbiAgICAgICAgdGhpcy5jb2xsaWRlQm94Tm9kZS5zY2FsZVkgPSB0aGlzLm5vZGUuc2NhbGVZO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdXBkYXRlQW5jaG9yKCkge1xyXG4gICAgICAgIHRoaXMub3V0bGluZUJveE5vZGUuYW5jaG9yWCA9IHRoaXMubm9kZS5hbmNob3JYO1xyXG4gICAgICAgIHRoaXMub3V0bGluZUJveE5vZGUuYW5jaG9yWSA9IHRoaXMubm9kZS5hbmNob3JZO1xyXG4gICAgICAgIHRoaXMuY29sbGlkZUJveE5vZGUuYW5jaG9yWCA9IHRoaXMubm9kZS5hbmNob3JYO1xyXG4gICAgICAgIHRoaXMuY29sbGlkZUJveE5vZGUuYW5jaG9yWSA9IHRoaXMubm9kZS5hbmNob3JZO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdXBkYXRlU2l6ZSgpIHtcclxuICAgICAgICB0aGlzLm91dGxpbmVCb3hOb2RlLndpZHRoID0gdGhpcy5ub2RlLndpZHRoO1xyXG4gICAgICAgIHRoaXMub3V0bGluZUJveE5vZGUuaGVpZ2h0ID0gdGhpcy5ub2RlLmhlaWdodDtcclxuICAgICAgICB0aGlzLmNvbGxpZGVCb3hOb2RlLndpZHRoID0gdGhpcy5ub2RlLndpZHRoO1xyXG4gICAgICAgIHRoaXMuY29sbGlkZUJveE5vZGUuaGVpZ2h0ID0gdGhpcy5ub2RlLmhlaWdodDtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgdXBkYXRlKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5pc0N1c3RvbUxhYmVsQWN0aXZlKSByZXR1cm47XHJcbiAgICAgICAgaWYgKCF0aGlzLmN1c3RvbUxhYmVsU3RyaW5nU3BsaXQpIHJldHVybjtcclxuICAgICAgICBsZXQgcmFkaWFuID0gLXRoaXMubm9kZS5hbmdsZSAqIE1hdGguUEkgLyAxODA7XHJcbiAgICAgICAgbGV0IGNvcyA9IE1hdGguY29zKHJhZGlhbik7XHJcbiAgICAgICAgbGV0IHNpbiA9IE1hdGguc2luKHJhZGlhbik7XHJcbiAgICAgICAgdGhpcy5jdXN0b21MYWJlbE5vZGUueCA9IHRoaXMuY3VzdG9tTGFiZWxPZmZzZXQueCAqIGNvcyAtIHRoaXMuY3VzdG9tTGFiZWxPZmZzZXQueSAqIHNpbjtcclxuICAgICAgICB0aGlzLmN1c3RvbUxhYmVsTm9kZS55ID0gdGhpcy5jdXN0b21MYWJlbE9mZnNldC54ICogc2luICsgdGhpcy5jdXN0b21MYWJlbE9mZnNldC55ICogY29zO1xyXG4gICAgICAgIGxldCBzdHIgPSAnJztcclxuICAgICAgICBsZXQgc3RycyA9IHRoaXMuY3VzdG9tTGFiZWxTdHJpbmdTcGxpdDtcclxuICAgICAgICBpZiAoIXRoaXMubW9uaXRvckNvbXAgJiYgdGhpcy5jdXN0b21Db21wb25lbnROYW1lKSB7XHJcbiAgICAgICAgICAgIHRoaXMubW9uaXRvckNvbXAgPSB0aGlzLm5vZGUuZ2V0Q29tcG9uZW50KHRoaXMuY3VzdG9tQ29tcG9uZW50TmFtZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSBzdHJzLmxlbmd0aDsgaSA8IGxlbjsgKytpKSB7XHJcbiAgICAgICAgICAgIGxldCB0bXAgPSBudWxsO1xyXG4gICAgICAgICAgICBzd2l0Y2ggKHN0cnNbaV0pIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgJ3dwJzpcclxuICAgICAgICAgICAgICAgICAgICBsZXQgbWF0cml4ID0gdGhpcy5ub2RlWydfd29ybGRNYXRyaXgnXS5tO1xyXG4gICAgICAgICAgICAgICAgICAgIHRtcCA9IGAke21hdHJpeFsxMl0udG9GaXhlZCh0aGlzLmN1c3RvbUxhYmVsRGlnaXQpfSxcXHQke21hdHJpeFsxM10udG9GaXhlZCh0aGlzLmN1c3RvbUxhYmVsRGlnaXQpfWA7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdhbmdsZSc6XHJcbiAgICAgICAgICAgICAgICAgICAgdG1wID0gdGhpcy5ub2RlLmFuZ2xlLnRvRml4ZWQodGhpcy5jdXN0b21MYWJlbERpZ2l0KSArICfCsCc7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdyYWRpYW4nOlxyXG4gICAgICAgICAgICAgICAgICAgIHRtcCA9ICh0aGlzLm5vZGUuYW5nbGUgLyAxODApLnRvRml4ZWQodGhpcy5jdXN0b21MYWJlbERpZ2l0KSArICfPgCc7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdtYXRyaXgnOlxyXG4gICAgICAgICAgICAgICAgICAgIG1hdHJpeCA9IHRoaXMubm9kZVsnX3dvcmxkTWF0cml4J10ubTtcclxuICAgICAgICAgICAgICAgICAgICB0bXAgPSAnJztcclxuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDQ7ICsraSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IDQ7ICsraikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG0gPSBtYXRyaXhbaiAqIDQgKyBpXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcCArPSAobSA8IDAgPyAnXFx0XFx0JyA6ICdcXHRcXHRcXHQnKSArIG0udG9GaXhlZCh0aGlzLmN1c3RvbUxhYmVsRGlnaXQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGkgIT09IDMgJiYgKHRtcCArPSAnXFxuJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnY2hpbGRyZW4nOlxyXG4gICAgICAgICAgICAgICAgICAgIHRtcCA9ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSB0aGlzLm5vZGUuY2hpbGRyZW5Db3VudDsgaSA8IGxlbjsgKytpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRtcCArPSBgXFx0XFx0XFx0JHtpfe+8miR7dGhpcy5ub2RlLmNoaWxkcmVuW2ldLm5hbWV9YDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaSAhPT0gbGVuIC0gMSAmJiAodG1wICs9ICdcXG4nKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlICd+JzogdG1wID0gJyxcXHQnOyBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgJyEnOiB0bXAgPSAnOlxcdCc7IGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnQCc6IHRtcCA9ICdcXHRcXHQnOyBicmVhaztcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubm9kZVtzdHJzW2ldXSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IHRoaXMubm9kZVtzdHJzW2ldXTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHN0cnNbaV0uc3RhcnRzV2l0aCgnIycpICYmIHRoaXMubW9uaXRvckNvbXAgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gdGhpcy5wYXJzZVN0cmluZyhzdHJzW2ldLnN1YnN0cmluZygxKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gc3Ryc1tpXTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0bXAgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IHRtcC50b0ZpeGVkKHRoaXMuY3VzdG9tTGFiZWxEaWdpdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0bXAubmFtZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSB0bXAubmFtZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3RyICs9IHRtcDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jdXN0b21MYWJlbC5zdHJpbmcgPSBzdHI7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBwYXJzZVN0cmluZyhzdHI6IHN0cmluZykge1xyXG4gICAgICAgIGxldCBzdHJzID0gc3RyLnNwbGl0KCcuJyk7XHJcbiAgICAgICAgbGV0IHJldCA9IHRoaXMubW9uaXRvckNvbXBbc3Ryc1swXV07XHJcbiAgICAgICAgcmV0ID09PSB1bmRlZmluZWQgJiYgKHJldCA9IGAjJHtzdHJzWzBdfWApO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAxLCBsZW4gPSBzdHJzLmxlbmd0aDsgaSA8IGxlbjsgKytpKSB7XHJcbiAgICAgICAgICAgIGlmIChyZXRbc3Ryc1tpXV0gPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGAke3JldC5uYW1lID8gcmV0Lm5hbWUgOiByZXR9LiR7c3Ryc1tpXX1gO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldCA9IHJldFtzdHJzW2ldXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJldDtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgb25EZXN0cm95KCkge1xyXG4gICAgICAgIGlmIChjYy5pc1ZhbGlkKHRoaXMuYm9hcmROb2RlKSkge1xyXG4gICAgICAgICAgICB0aGlzLmJvYXJkTm9kZS5yZW1vdmVGcm9tUGFyZW50KCk7XHJcbiAgICAgICAgICAgIHRoaXMuYm9hcmROb2RlLmRlc3Ryb3koKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5ub2RlLnRhcmdldE9mZih0aGlzKTtcclxuICAgIH1cclxufSJdfQ== \ No newline at end of file diff --git a/temp/quick-scripts/dst/assets/Script/Hero.js b/temp/quick-scripts/dst/assets/Script/Hero.js deleted file mode 100644 index 7231cd0..0000000 --- a/temp/quick-scripts/dst/assets/Script/Hero.js +++ /dev/null @@ -1,83 +0,0 @@ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/Hero.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, '9285eM4YhBJhL8+C569X294', 'Hero'); -// Script/Hero.ts - -"use strict"; -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; -var Helloworld = /** @class */ (function (_super) { - __extends(Helloworld, _super); - function Helloworld() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.hp = 100; - _this.mp = 60; - _this.equip = { - name: '装备', - sword: { - name: '小刀', - attack: 30 - }, - shoe: { - name: '草鞋', - attr: { - name: '属性', - speed: 5, - durable: 100 - } - } - }; - return _this; - } - Helloworld.prototype.update = function (dt) { - this.hp += 1.0 * dt; - this.mp += 0.5 * dt; - }; - Helloworld = __decorate([ - ccclass - ], Helloworld); - return Helloworld; -}(cc.Component)); -exports.default = Helloworld; - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxIZXJvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFNLElBQUEsS0FBc0IsRUFBRSxDQUFDLFVBQVUsRUFBbEMsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFpQixDQUFDO0FBRzFDO0lBQXdDLDhCQUFZO0lBQXBEO1FBQUEscUVBdUJDO1FBdEJHLFFBQUUsR0FBRyxHQUFHLENBQUM7UUFDVCxRQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ1IsV0FBSyxHQUFHO1lBQ0osSUFBSSxFQUFDLElBQUk7WUFDVCxLQUFLLEVBQUM7Z0JBQ0YsSUFBSSxFQUFDLElBQUk7Z0JBQ1QsTUFBTSxFQUFDLEVBQUU7YUFDWjtZQUNELElBQUksRUFBQztnQkFDRCxJQUFJLEVBQUMsSUFBSTtnQkFDVCxJQUFJLEVBQUM7b0JBQ0QsSUFBSSxFQUFDLElBQUk7b0JBQ1QsS0FBSyxFQUFDLENBQUM7b0JBQ1AsT0FBTyxFQUFDLEdBQUc7aUJBQ2Q7YUFDSjtTQUNKLENBQUE7O0lBTUwsQ0FBQztJQUpHLDJCQUFNLEdBQU4sVUFBUSxFQUFFO1FBQ04sSUFBSSxDQUFDLEVBQUUsSUFBSSxHQUFHLEdBQUMsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxFQUFFLElBQUksR0FBRyxHQUFDLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBdEJnQixVQUFVO1FBRDlCLE9BQU87T0FDYSxVQUFVLENBdUI5QjtJQUFELGlCQUFDO0NBdkJELEFBdUJDLENBdkJ1QyxFQUFFLENBQUMsU0FBUyxHQXVCbkQ7a0JBdkJvQixVQUFVIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5fSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBIZWxsb3dvcmxkIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIGhwID0gMTAwO1xyXG4gICAgbXAgPSA2MDtcclxuICAgIGVxdWlwID0ge1xyXG4gICAgICAgIG5hbWU6J+ijheWkhycsXHJcbiAgICAgICAgc3dvcmQ6e1xyXG4gICAgICAgICAgICBuYW1lOiflsI/liIAnLFxyXG4gICAgICAgICAgICBhdHRhY2s6MzBcclxuICAgICAgICB9LFxyXG4gICAgICAgIHNob2U6e1xyXG4gICAgICAgICAgICBuYW1lOifojYnpnosnLFxyXG4gICAgICAgICAgICBhdHRyOntcclxuICAgICAgICAgICAgICAgIG5hbWU6J+WxnuaApycsXHJcbiAgICAgICAgICAgICAgICBzcGVlZDo1LFxyXG4gICAgICAgICAgICAgICAgZHVyYWJsZToxMDBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGUgKGR0KSB7XHJcbiAgICAgICAgdGhpcy5ocCArPSAxLjAqZHQ7XHJcbiAgICAgICAgdGhpcy5tcCArPSAwLjUqZHQ7XHJcbiAgICB9XHJcbn0iXX0= \ No newline at end of file diff --git a/temp/quick-scripts/src/__qc_index__.js b/temp/quick-scripts/src/__qc_index__.js deleted file mode 100644 index 366c5e1..0000000 --- a/temp/quick-scripts/src/__qc_index__.js +++ /dev/null @@ -1,3 +0,0 @@ - -require('./assets/Script/DataBoard'); -require('./assets/Script/Hero'); diff --git a/temp/quick-scripts/src/assets/Script/DataBoard.js b/temp/quick-scripts/src/assets/Script/DataBoard.js deleted file mode 100644 index 53c23c8..0000000 --- a/temp/quick-scripts/src/assets/Script/DataBoard.js +++ /dev/null @@ -1,465 +0,0 @@ -"use strict"; -cc._RF.push(module, '1c152bUhQpJ6J1jGhQVUYf8', 'DataBoard'); -// Script/DataBoard.ts - -"use strict"; -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -/******************************************************************************* - * 创建: 2022年11月23日 - * 作者: 水煮肉片饭(27185709@qq.com) - * 描述: 数据看板 - * 节点挂上该组件,就可以在游戏运行过程中,直观看到节点任意属性(包括节点脚本中的属性) - * 可以图形化展示以下四种数据: - * 轮廓盒子: 随节点旋转,代表节点的实时矩形 - * 碰撞盒子: 不随节点旋转,一般代表碰撞范围 - * 自定义参数: 节点自身属性,以及节点任意脚本中的属性 - * 锚点: 锚点位置会显示一个小红点 - * 自定义参数(配置想监控的数据): - * wp: 世界坐标 - * radian: 节点弧度(单位:π) - * matrix: 变换矩阵 - * 自身属性: x,y,parent,children等 - * 脚本属性: 脚本实例对象的属性 - * ↓↓参数可以用3种分隔符隔开↓↓ - * 英文逗号、英文冒号、空格 - * ————————————————————————举个栗子———————————————————————— - * 脚本: Hero - * 参数: wp,scale,angle,#angle,#hp - * 显示结果:世界坐标,节点scale,节点angle,Hero对象的angle,Hero对象的hp - * ————————————————————————温馨提示———————————————————————— - * 初始化的时候,设置全局变量window['DATABOARD'] = false可屏蔽本项目所有DataBoard,不会产生任何额外开销\n -*******************************************************************************/ -window['DATABOARD'] = true; -var ANCHOR_SIZE = 20; //锚点的大小 -var LINEHEIGHT = 1.2; //行高是字体大小的多少倍 -var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, executeInEditMode = _a.executeInEditMode, menu = _a.menu; -var DataBoard = /** @class */ (function (_super) { - __extends(DataBoard, _super); - function DataBoard() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this._isOutlineBoxActive = false; - _this._outlineBoxColor = new cc.Color(Math.random() * 255, Math.random() * 255, Math.random() * 255); - _this._outlineBoxOpacity = 100; - _this._isCollideBoxActive = true; - _this._collideBoxColor = new cc.Color(Math.random() * 255, Math.random() * 255, Math.random() * 255); - _this._collideBoxOpacity = 100; - _this._isCustomLabelActive = true; - _this.customComponentName = ''; - _this._customLabelString = 'x,y'; - _this._customLabelOffset = cc.v2(0, 100); - _this._customLabelColor = new cc.Color(255, 255, 0); - _this._customLabelSize = 60; - _this._customLabelDigit = 0; - _this.boardNode = null; - _this.outlineBoxNode = null; - _this.collideBoxNode = null; - _this.anchorPointNode = null; - _this.customLabelNode = null; - _this.customLabel = null; - _this.customLabelStringSplit = null; - _this.monitorComp = null; - return _this; - } - Object.defineProperty(DataBoard.prototype, "isOutlineBoxActive", { - get: function () { return this._isOutlineBoxActive; }, - set: function (value) { - this._isOutlineBoxActive = value; - this.outlineBoxNode.active = value; - }, - enumerable: false, - configurable: true - }); - ; - Object.defineProperty(DataBoard.prototype, "outlineBoxColor", { - get: function () { return this._outlineBoxColor; }, - set: function (value) { - this._outlineBoxColor = value; - this.outlineBoxNode.color = value; - }, - enumerable: false, - configurable: true - }); - ; - Object.defineProperty(DataBoard.prototype, "outlineBoxOpacity", { - get: function () { return this._outlineBoxOpacity; }, - set: function (value) { - this._outlineBoxOpacity = value; - this.outlineBoxNode.opacity = value; - }, - enumerable: false, - configurable: true - }); - ; - Object.defineProperty(DataBoard.prototype, "isCollideBoxActive", { - get: function () { return this._isCollideBoxActive; }, - set: function (value) { - this._isCollideBoxActive = value; - this.collideBoxNode.active = value; - }, - enumerable: false, - configurable: true - }); - ; - Object.defineProperty(DataBoard.prototype, "collideBoxColor", { - get: function () { return this._collideBoxColor; }, - set: function (value) { - this._collideBoxColor = value; - this.collideBoxNode.color = value; - }, - enumerable: false, - configurable: true - }); - ; - Object.defineProperty(DataBoard.prototype, "collideBoxOpacity", { - get: function () { return this._collideBoxOpacity; }, - set: function (value) { - this._collideBoxOpacity = value; - this.collideBoxNode.opacity = value; - }, - enumerable: false, - configurable: true - }); - ; - Object.defineProperty(DataBoard.prototype, "isCustomLabelActive", { - get: function () { return this._isCustomLabelActive; }, - set: function (value) { - this._isCustomLabelActive = value; - this.customLabelNode.active = 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(/ |\t/g, '_@_') - .replace(/_*\n_*/g, '_\n_').split('_'); - }, - enumerable: false, - configurable: true - }); - ; - Object.defineProperty(DataBoard.prototype, "customLabelOffset", { - get: function () { return this._customLabelOffset; }, - set: function (value) { - this._customLabelOffset = value; - this.customLabelNode.x = value.x; - this.customLabelNode.y = value.y; - }, - enumerable: false, - configurable: true - }); - ; - Object.defineProperty(DataBoard.prototype, "customLabelColor", { - get: function () { return this._customLabelColor; }, - set: function (value) { - this._customLabelColor = value; - this.customLabelNode.color = value; - }, - enumerable: false, - configurable: true - }); - ; - Object.defineProperty(DataBoard.prototype, "customLabelSize", { - get: function () { return this._customLabelSize; }, - set: function (value) { - this._customLabelSize = value; - this.customLabel.fontSize = value; - this.customLabel.lineHeight = value * LINEHEIGHT; - this.customLabelNode.getComponent(cc.LabelOutline).width = value * 0.1; - }, - enumerable: false, - configurable: true - }); - ; - Object.defineProperty(DataBoard.prototype, "customLabelDigit", { - get: function () { return this._customLabelDigit; }, - set: function (value) { - this._customLabelDigit = value; - }, - enumerable: false, - configurable: true - }); - ; - DataBoard.prototype.start = function () { - this.boardNode = this.node.getChildByName('DataBoard'); - if (!CC_EDITOR && !window['DATABOARD']) { - this.destroy(); - return; - } - if (cc.isValid(this.boardNode)) { - this.boardNode.removeFromParent(); - this.boardNode.destroy(); - } - 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; - this.outlineBoxNode = new cc.Node('OutlineBox'); - this.outlineBoxNode.setParent(this.boardNode); - this.outlineBoxNode.addComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(texture); - this.outlineBoxNode.active = this.isOutlineBoxActive; - this.outlineBoxNode.color = this.outlineBoxColor; - this.outlineBoxNode.opacity = this.outlineBoxOpacity; - this.collideBoxNode = new cc.Node('CollideBox'); - this.collideBoxNode.setParent(this.boardNode); - this.collideBoxNode.addComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(texture); - this.collideBoxNode.active = this.isCollideBoxActive; - this.collideBoxNode.color = this.collideBoxColor; - this.collideBoxNode.opacity = this.collideBoxOpacity; - this.anchorPointNode = new cc.Node('AnchorPoint'); - this.anchorPointNode.setParent(this.boardNode); - this.anchorPointNode.addComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(texture); - this.anchorPointNode.color = cc.color(255, 0, 0); - this.anchorPointNode.width = ANCHOR_SIZE; - this.anchorPointNode.height = ANCHOR_SIZE; - this.customLabelNode = new cc.Node('CustomLabel'); - this.customLabelNode.setParent(this.boardNode); - this.customLabel = this.customLabelNode.addComponent(cc.Label); - this.customLabelNode.addComponent(cc.LabelOutline).color = cc.color(0, 0, 0); - this.customLabelNode.active = this.isCustomLabelActive; - this.customLabelString = this._customLabelString; - this.customLabelNode.x = this.customLabelOffset.x; - this.customLabelNode.y = this.customLabelOffset.y; - this.customLabelNode.color = this.customLabelColor; - this.customLabelSize = this._customLabelSize; - this.updateAngle(); - this.updateScale(); - this.updateAnchor(); - this.updateSize(); - this.node.on(cc.Node.EventType.ROTATION_CHANGED, this.updateAngle, this); - this.node.on(cc.Node.EventType.SCALE_CHANGED, this.updateScale, this); - this.node.on(cc.Node.EventType.ANCHOR_CHANGED, this.updateAnchor, this); - this.node.on(cc.Node.EventType.SIZE_CHANGED, this.updateSize, this); - }; - DataBoard.prototype.updateAngle = function () { - this.collideBoxNode.angle = -this.node.angle; - this.customLabelNode.angle = -this.node.angle; - }; - DataBoard.prototype.updateScale = function () { - this.boardNode.scaleX = 1 / this.node.scaleX; - this.boardNode.scaleY = 1 / this.node.scaleY; - this.outlineBoxNode.scaleX = this.node.scaleX; - this.outlineBoxNode.scaleY = this.node.scaleY; - this.collideBoxNode.scaleX = this.node.scaleX; - this.collideBoxNode.scaleY = this.node.scaleY; - }; - DataBoard.prototype.updateAnchor = function () { - this.outlineBoxNode.anchorX = this.node.anchorX; - this.outlineBoxNode.anchorY = this.node.anchorY; - this.collideBoxNode.anchorX = this.node.anchorX; - this.collideBoxNode.anchorY = this.node.anchorY; - }; - DataBoard.prototype.updateSize = function () { - this.outlineBoxNode.width = this.node.width; - this.outlineBoxNode.height = this.node.height; - this.collideBoxNode.width = this.node.width; - this.collideBoxNode.height = this.node.height; - }; - DataBoard.prototype.update = function () { - if (!this.isCustomLabelActive) - return; - if (!this.customLabelStringSplit) - return; - 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); - } - for (var i = 0, len = strs.length; i < len; ++i) { - var tmp = null; - switch (strs[i]) { - case 'wp': - var matrix = this.node['_worldMatrix'].m; - tmp = matrix[12].toFixed(this.customLabelDigit) + ",\t" + matrix[13].toFixed(this.customLabelDigit); - break; - case 'angle': - tmp = this.node.angle.toFixed(this.customLabelDigit) + '°'; - break; - case 'radian': - tmp = (this.node.angle / 180).toFixed(this.customLabelDigit) + 'π'; - break; - case 'matrix': - matrix = this.node['_worldMatrix'].m; - 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]; - tmp += (m < 0 ? '\t\t' : '\t\t\t') + m.toFixed(this.customLabelDigit); - } - i_1 !== 3 && (tmp += '\n'); - } - break; - case 'children': - tmp = ''; - for (var i_2 = 0, len_1 = this.node.childrenCount; i_2 < len_1; ++i_2) { - tmp += "\t\t\t" + i_2 + "\uFF1A" + this.node.children[i_2].name; - i_2 !== len_1 - 1 && (tmp += '\n'); - } - break; - case '~': - tmp = ',\t'; - break; - case '!': - tmp = ':\t'; - break; - case '@': - tmp = '\t\t'; - break; - default: - if (this.node[strs[i]] !== undefined) { - tmp = this.node[strs[i]]; - } - else if (strs[i].startsWith('#') && this.monitorComp !== null) { - tmp = this.parseString(strs[i].substring(1)); - } - else { - tmp = strs[i]; - } - if (typeof tmp === 'number') { - tmp = tmp.toFixed(this.customLabelDigit); - } - else if (tmp.name) { - tmp = tmp.name; - } - break; - } - str += tmp; - } - this.customLabel.string = str; - }; - DataBoard.prototype.parseString = function (str) { - var strs = str.split('.'); - var ret = this.monitorComp[strs[0]]; - ret === undefined && (ret = "#" + 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]; - } - ret = ret[strs[i]]; - } - return ret; - }; - DataBoard.prototype.onDestroy = function () { - if (cc.isValid(this.boardNode)) { - this.boardNode.removeFromParent(); - this.boardNode.destroy(); - } - this.node.targetOff(this); - }; - __decorate([ - property - ], DataBoard.prototype, "_isOutlineBoxActive", void 0); - __decorate([ - property({ displayName: CC_DEV && '轮廓盒子', tooltip: CC_DEV && '随节点旋转,代表实时轮廓' }) - ], DataBoard.prototype, "isOutlineBoxActive", null); - __decorate([ - property - ], DataBoard.prototype, "_outlineBoxColor", void 0); - __decorate([ - property({ displayName: CC_DEV && '······颜色', visible: function () { return this.isOutlineBoxActive; } }) - ], DataBoard.prototype, "outlineBoxColor", null); - __decorate([ - property - ], DataBoard.prototype, "_outlineBoxOpacity", void 0); - __decorate([ - property({ min: 0, max: 255, step: 1, slide: true, displayName: CC_DEV && '······透明度', visible: function () { return this.isOutlineBoxActive; } }) - ], DataBoard.prototype, "outlineBoxOpacity", null); - __decorate([ - property - ], DataBoard.prototype, "_isCollideBoxActive", void 0); - __decorate([ - property({ displayName: CC_DEV && '碰撞盒子', tooltip: CC_DEV && '不随节点旋转,代表碰撞范围' }) - ], DataBoard.prototype, "isCollideBoxActive", null); - __decorate([ - property - ], DataBoard.prototype, "_collideBoxColor", void 0); - __decorate([ - property({ displayName: CC_DEV && '······颜色', visible: function () { return this.isCollideBoxActive; } }) - ], DataBoard.prototype, "collideBoxColor", null); - __decorate([ - property - ], DataBoard.prototype, "_collideBoxOpacity", void 0); - __decorate([ - property({ min: 0, max: 255, step: 1, slide: true, displayName: CC_DEV && '······透明度', visible: function () { return this.isCollideBoxActive; } }) - ], DataBoard.prototype, "collideBoxOpacity", null); - __decorate([ - property - ], DataBoard.prototype, "_isCustomLabelActive", void 0); - __decorate([ - property({ displayName: CC_DEV && '自定义参数', tooltip: CC_DEV && '配置显示的属性内容' }) - ], DataBoard.prototype, "isCustomLabelActive", null); - __decorate([ - property({ displayName: CC_DEV && '······脚本', tooltip: CC_DEV && '监控哪个脚本', visible: function () { return this.isCustomLabelActive; } }) - ], DataBoard.prototype, "customComponentName", void 0); - __decorate([ - property - ], DataBoard.prototype, "_customLabelString", void 0); - __decorate([ - 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: function () { return this.isCustomLabelActive; } }) - ], DataBoard.prototype, "customLabelString", null); - __decorate([ - property - ], DataBoard.prototype, "_customLabelOffset", void 0); - __decorate([ - property({ displayName: CC_DEV && '······偏移', visible: function () { return this.isCustomLabelActive; } }) - ], DataBoard.prototype, "customLabelOffset", null); - __decorate([ - property - ], DataBoard.prototype, "_customLabelColor", void 0); - __decorate([ - property({ displayName: CC_DEV && '······颜色', visible: function () { return this.isCustomLabelActive; } }) - ], DataBoard.prototype, "customLabelColor", null); - __decorate([ - property - ], DataBoard.prototype, "_customLabelSize", void 0); - __decorate([ - property({ displayName: CC_DEV && '······大小', visible: function () { return this.isCustomLabelActive; } }) - ], DataBoard.prototype, "customLabelSize", null); - __decorate([ - property - ], DataBoard.prototype, "_customLabelDigit", void 0); - __decorate([ - property({ min: 0, max: 10, step: 1, slide: true, displayName: CC_DEV && '······小数位数', visible: function () { return this.isCustomLabelActive; } }) - ], DataBoard.prototype, "customLabelDigit", null); - DataBoard = __decorate([ - ccclass, - executeInEditMode, - menu('Comp/DataBoard') - ], DataBoard); - return DataBoard; -}(cc.Component)); -exports.default = DataBoard; - -cc._RF.pop(); \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/DataBoard.js.map b/temp/quick-scripts/src/assets/Script/DataBoard.js.map deleted file mode 100644 index ed2bccd..0000000 --- a/temp/quick-scripts/src/assets/Script/DataBoard.js.map +++ /dev/null @@ -1 +0,0 @@ -{"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 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]] || `#${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 diff --git a/temp/quick-scripts/src/assets/Script/Hero.js b/temp/quick-scripts/src/assets/Script/Hero.js deleted file mode 100644 index 30d38ae..0000000 --- a/temp/quick-scripts/src/assets/Script/Hero.js +++ /dev/null @@ -1,61 +0,0 @@ -"use strict"; -cc._RF.push(module, '9285eM4YhBJhL8+C569X294', 'Hero'); -// Script/Hero.ts - -"use strict"; -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; -var Helloworld = /** @class */ (function (_super) { - __extends(Helloworld, _super); - function Helloworld() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.hp = 100; - _this.mp = 60; - _this.equip = { - name: '装备', - sword: { - name: '小刀', - attack: 30 - }, - shoe: { - name: '草鞋', - attr: { - name: '属性', - speed: 5, - durable: 100 - } - } - }; - return _this; - } - Helloworld.prototype.update = function (dt) { - this.hp += 1.0 * dt; - this.mp += 0.5 * dt; - }; - Helloworld = __decorate([ - ccclass - ], Helloworld); - return Helloworld; -}(cc.Component)); -exports.default = Helloworld; - -cc._RF.pop(); \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/Hero.js.map b/temp/quick-scripts/src/assets/Script/Hero.js.map deleted file mode 100644 index e68c0df..0000000 --- a/temp/quick-scripts/src/assets/Script/Hero.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["assets\\Script\\Hero.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAM,IAAA,KAAsB,EAAE,CAAC,UAAU,EAAlC,OAAO,aAAA,EAAE,QAAQ,cAAiB,CAAC;AAG1C;IAAwC,8BAAY;IAApD;QAAA,qEAuBC;QAtBG,QAAE,GAAG,GAAG,CAAC;QACT,QAAE,GAAG,EAAE,CAAC;QACR,WAAK,GAAG;YACJ,IAAI,EAAC,IAAI;YACT,KAAK,EAAC;gBACF,IAAI,EAAC,IAAI;gBACT,MAAM,EAAC,EAAE;aACZ;YACD,IAAI,EAAC;gBACD,IAAI,EAAC,IAAI;gBACT,IAAI,EAAC;oBACD,IAAI,EAAC,IAAI;oBACT,KAAK,EAAC,CAAC;oBACP,OAAO,EAAC,GAAG;iBACd;aACJ;SACJ,CAAA;;IAML,CAAC;IAJG,2BAAM,GAAN,UAAQ,EAAE;QACN,IAAI,CAAC,EAAE,IAAI,GAAG,GAAC,EAAE,CAAC;QAClB,IAAI,CAAC,EAAE,IAAI,GAAG,GAAC,EAAE,CAAC;IACtB,CAAC;IAtBgB,UAAU;QAD9B,OAAO;OACa,UAAU,CAuB9B;IAAD,iBAAC;CAvBD,AAuBC,CAvBuC,EAAE,CAAC,SAAS,GAuBnD;kBAvBoB,UAAU","file":"","sourceRoot":"/","sourcesContent":["const {ccclass, property} = cc._decorator;\r\n\r\n@ccclass\r\nexport default class Helloworld extends cc.Component {\r\n hp = 100;\r\n mp = 60;\r\n equip = {\r\n name:'装备',\r\n sword:{\r\n name:'小刀',\r\n attack:30\r\n },\r\n shoe:{\r\n name:'草鞋',\r\n attr:{\r\n name:'属性',\r\n speed:5,\r\n durable:100\r\n }\r\n }\r\n }\r\n\r\n update (dt) {\r\n this.hp += 1.0*dt;\r\n this.mp += 0.5*dt;\r\n }\r\n}"]} \ No newline at end of file diff --git a/temp/startup.json b/temp/startup.json deleted file mode 100644 index c997d3a..0000000 --- a/temp/startup.json +++ /dev/null @@ -1 +0,0 @@ -{"pid":14324}