麻烦问一下,creator3.8的类索引器应该怎么写呢?

我这边有一个2.4用的类装饰器,用来对项目中的类进行快速索引。

export function keepClassName(classCtor){

    let frameInfo = cc['_RF'].peek();

    let scriptName = frameInfo.script;

    legacyCC.js.setClassName(scriptName, classCtor);

}

然后就可以通过下述代码,快速的获取类逻辑的构造函数

    let constructor = cc.js.getClassByName(skillName);
    if (constructor == null){
        if (!DECODED_SKILL[skillName]){
            console.warn("skillId = " + skillId + " " + skillName + " is null");
        }
        constructor = cc.js.getClassByName("Skill1000");
    }
    let inst: SkillBase = new constructor();
    return inst

但因为3.x的api完全变了,所以这个装饰器是完全没法用了。想问一下,3.x是怎么去实现类似功能的。

需要额外说明的是,因为这些是纯逻辑类,为了减少大量不必要的开销,所以没有继承cocos的Compnent(这也是为当初2.4的时候,不直接使用class(123)的方式去装饰与快速获取)