diff --git a/cc-inspector/src/core/types.ts b/cc-inspector/src/core/types.ts
index d89609e..1ccd701 100644
--- a/cc-inspector/src/core/types.ts
+++ b/cc-inspector/src/core/types.ts
@@ -121,7 +121,8 @@ export enum Msg {
ResponseUseFrame = "response-use-frame",
RequestLogData = "request-log-data",
-
+ RequestLogCustom = "request-log-custom",
+ ReqWriteClipboard = "request-write-clipboard",
RequestSetProperty = "request-set-property",
ResponseSetProperty = "response-set-property",
RequestVisible = "request-visible",
diff --git a/cc-inspector/src/scripts/const.ts b/cc-inspector/src/scripts/const.ts
index 64b9c84..9742b86 100644
--- a/cc-inspector/src/scripts/const.ts
+++ b/cc-inspector/src/scripts/const.ts
@@ -12,6 +12,7 @@ export enum DocumentEvent {
EngineVersion = "engineVersion",
GoogleAnalytics = "googleAnalytics",
LoadInjectCss = "load-inject-css",
+ InspectorClear = "inspector_clear",
GameInspectorBegan = "GameInspectorBegan",
GameInspectorEnd = "GameInspectorEnd",
}
diff --git a/cc-inspector/src/scripts/inject-view/app.vue b/cc-inspector/src/scripts/inject-view/app.vue
index 2be1367..d76b4fd 100644
--- a/cc-inspector/src/scripts/inject-view/app.vue
+++ b/cc-inspector/src/scripts/inject-view/app.vue
@@ -155,6 +155,11 @@ export default defineComponent({
ga(GA_EventName.PickTop);
},
},
+ {
+ name: "",
+ type: ccui.menu.MenuType.Separator,
+ callback() {},
+ },
{
name: "Filter Enabled",
selected: inspectTarget.enabled,
diff --git a/cc-inspector/src/scripts/inject/inspector.ts b/cc-inspector/src/scripts/inject/inspector.ts
index eb09ae0..f0d415a 100644
--- a/cc-inspector/src/scripts/inject/inspector.ts
+++ b/cc-inspector/src/scripts/inject/inspector.ts
@@ -99,6 +99,23 @@ export class Inspector extends InjectEvent {
logFunction(value);
break;
}
+ case Msg.RequestLogCustom: {
+ const logFunction = console.log;
+ logFunction(pluginEvent.data);
+ }
+ case Msg.ReqWriteClipboard: {
+ document.body.focus();
+ navigator.clipboard
+ .writeText(pluginEvent.data)
+
+ .then(() => {
+ console.log("ok");
+ })
+ .catch((e) => {
+ console.log("fail", e);
+ });
+ break;
+ }
case Msg.RequestVisible: {
const uuid: string = pluginEvent.data;
const node = this.inspectorGameMemoryStorage[uuid];
diff --git a/cc-inspector/src/views/devtools/hierarchy.vue b/cc-inspector/src/views/devtools/hierarchy.vue
index fc45f0a..d8de7d1 100644
--- a/cc-inspector/src/views/devtools/hierarchy.vue
+++ b/cc-inspector/src/views/devtools/hierarchy.vue
@@ -11,7 +11,7 @@
-
+
@@ -257,7 +257,7 @@ export default defineComponent({
}
}
},
- onMenu(event: MouseEvent) {
+ onMenu(event: MouseEvent, data: TreeData) {
const menus: IUiMenuItem[] = [];
menus.push({
name: "update hierarchy",
@@ -302,22 +302,33 @@ export default defineComponent({
});
},
});
- menus.push({
- name: "copy name",
- enabled: false,
- callback() {
- navigator.clipboard
- .writeText("123")
- .then(() => {
- ccui.footbar.showTips("copy success");
- })
- .catch((e) => {
- console.log(e);
- ccui.footbar.showError("copy failed");
- });
- },
- });
- if (selectedUUID) {
+ if (data) {
+ menus.push({
+ name: "",
+ type: ccui.menu.MenuType.Separator,
+ callback() {},
+ });
+ menus.push({
+ name: "copy name",
+ enabled: true,
+ callback() {
+ console.log(data.text);
+
+ if (!data.text) {
+ return;
+ }
+ navigator.clipboard
+ .writeText(data.text)
+ .then(() => {
+ ccui.footbar.showTips("copy success");
+ })
+ .catch((e) => {
+ console.log(e);
+ bridge.send(Msg.RequestLogCustom, data.text);
+ // bridge.send(Msg.ReqWriteClipboard, data.text);
+ });
+ },
+ });
menus.push({
name: "visible",
shortKey: "space",
@@ -332,7 +343,7 @@ export default defineComponent({
enabled: true,
callback: () => {
ga.fireEventWithParam(GA_EventName.MouseMenu, "destroy");
- bridge.send(Msg.RequestDestroy, selectedUUID);
+ bridge.send(Msg.RequestDestroy, data.id);
},
});
}