小助手增加了一些右键的设置

This commit is contained in:
xu_yanfeng
2025-01-25 14:12:33 +08:00
parent a09669f13c
commit fb0516506e
6 changed files with 197 additions and 14 deletions

View File

@@ -2,6 +2,7 @@ import ccui from "@xuyanfeng/cc-ui";
import "@xuyanfeng/cc-ui/dist/ccui.css";
import "@xuyanfeng/cc-ui/iconfont/iconfont.css";
import { createApp } from "vue";
import { createPinia } from "pinia";
import { DocumentEvent } from "../const";
import App from "../inject-view/app.vue";
export class InjectView {
@@ -45,6 +46,7 @@ export class InjectView {
this.loadCss();
// vue
const app = createApp(App);
app.use(createPinia());
// ccui.uiElement.setDoc(document);
app.use(ccui);
app.mount(el);

View File

@@ -0,0 +1,38 @@
export class InspectTarget {
private list = [];
/**
* 是否启用过滤
*/
enabled: boolean = false;
addInspectType(item: any) {
if (!this.list.find((el) => item === el)) {
this.list.push(item);
}
console.log(this.list);
}
removeInspectType(item: any) {
this.list.splice(this.list.indexOf(item), 1);
console.log(this.list);
}
cleanInspectType() {
this.list.length = 0;
}
isContainInspectType(type: any) {
return !!this.list.find((el) => type === el);
}
checkNodeComponentsIsInList(node: any) {
const comps = node._components;
for (let i = 0; i < comps.length; i++) {
const comp = comps[i];
if (this.list.find((el) => comp instanceof el)) {
return true;
}
}
return false;
}
}
export const inspectTarget = new InspectTarget();

View File

@@ -8,6 +8,8 @@ import { injectView } from "./inject-view";
import { getValue, trySetValueWithConfig } from "./setValue";
import { BuildArrayOptions, BuildImageOptions, BuildObjectOptions, BuildVecOptions } from "./types";
import { isHasProperty } from "./util";
import { inspectTarget } from "./inspect-list";
declare const cc: any;
export class Inspector extends InjectEvent {
@@ -200,7 +202,13 @@ export class Inspector extends InjectEvent {
for (let key in this.inspectorGameMemoryStorage) {
const item = this.inspectorGameMemoryStorage[key];
if (item && item.isValid && item instanceof cc.Node) {
cb(item);
if (inspectTarget.enabled) {
if (inspectTarget.checkNodeComponentsIsInList(item)) {
cb(item);
}
} else {
cb(item);
}
}
}
}