如何不让我的脚本出现在脚本组件的那个列表里呢?

我这边有大量的脚本都是通过手动添加的Component子类
当然,我知道可以使用menu修饰符来放到对应位置,但这些脚本本身也不应该通过手动添加放到预制体上的。
这导致我在预制体里面去添加脚本,那个列表会因为这些不应该出现的脚本,导致列表非常长,使得我找我需要的脚本需要花很多时间。
creator2.4也不支持直接根据脚本名去搜索来添加。

我的诉求是,希望有一种很快的方式能够快速添加一个我自己的脚本组件。

因此想问一下,有没有方法可以隐藏掉?
如果有的话,有没有可能产生继承?比如我这个父类隐藏掉,继承这个父类的子类脚本也被隐藏了。不然要加的东西就太多了。

皮皮的快速添加组件插件image

确实,太长了很烦,,

@property({type: CustomComponent, visible: false})
customComponent: CustomComponent;

@zerozerg 我猜你可能想要的是这个。

image

删掉“@ccclass”即可不会出现,不过这个子父类没有继承关系,你需要隐藏就删。不过同理cc._decorator内的函数都无法使用了

@ccclass
@executeInEditMode
@menu("组件库/Checkbox")
@inspector("packages://custom-component/inspectors/comps/checkbox.js")
export class Checkbox extends CustomButton {

其实 自己可以根据 @menu(“组件库/Checkbox”) 这个字段 把自己的组件 分成不同的菜单 这样 也可以减少上面说的长列表的问题
比如 我这里写的 组件库/Checkbox
效果如下
image

这个是类属性,不是组件列表

当然,我知道可以使用menu修饰符来放到对应位置,但这些脚本本身也不应该通过手动添加放到预制体上的。
这导致我在预制体里面去添加脚本,那个列表会因为这些不应该出现的脚本,导致列表非常长,使得我找我需要的脚本需要花很多时间。

menu我已经用了的,只是对于新增的脚本,并不会第一时间去想着加menu,然后去搜脚本就很麻烦。所以想着先把已经确认不需要的脚本全都过滤掉

ccclass不能删,因为我代码里的逻辑添加,都是使用cc.js.getClassByName(logicName)的方式来进行快速添加的,如果没有那个修饰符,这个类就不能注册到class的列表里。

我研究研究,感谢分享

正常来说,脚本分两种情况:
1、不通用脚本,如某个界面UI,我的做法是打开预制,点击需要挂载的节点,资源栏搜索脚本,拖拽挂载脚本,这操作也还行,不算麻烦。
2、通用脚本,如自定义Button,自定义Label,自定义Sprite等,放到menu里即可,很方便

类名打包后会混淆,也可以用 cc.js.getClassByName 找出那个类吗,,

https://store.cocos.com/app/detail/3852
添加脚本插件,用过的都说好哈。

准确来说不是ts中的类名,是通过ccclass装饰器装饰以后的类名,这个装饰器会把类注册到cocos自己的class管理器中,只有以此法注册了的类才能用getClassByName找到