cc.game._sceneInfos的信息是在哪儿被初始化的啊

creator的例子 萌新的一个小疑问 收到答案就删帖了

在 boot.js 里面调用 cc.game.run 时初始化的,用户不应该太纠结这个私有变量的实现。

这个变量返回的内容是指当前的所有场景吗?这些问题没搞明白,感觉很难看懂,希望团队的人员解答一下
var scenes = cc.game._sceneInfos;
var dict = {};

    if (scenes) {
        var i, j;
        for (i = 0; i < scenes.length; ++i) {
            let url = scenes[i].url;
            let dirname = cc.path.dirname(url).replace('db://assets/cases/', '');
            if (dirname === 'db://assets/resources/test assets') {
                continue;
            }
            let scenename = cc.path.basename(url, '.fire');
            if (scenename === 'TestList') continue;

            if (!dirname) dirname = '_root';
            if (!dict[dirname]) {
                dict[dirname] = {};
            }
            dict[dirname][scenename] = url;
        }

是指项目里的所有场景。

用户不纠结这个私有变量的实现 ,那怎么知道它里面存了什么数据?我在什么时候可以使用呢?
官方不从用户角度来考虑问题,留 一堆莫名其妙的新变量出来,隐藏了实现细节,用户却完全不知道所以然。
这才是阻碍新用户快速使用并掌握的关键。

3赞

哈哈,同吐槽

没错,而且api文档也没说明,你说api文档有说明里面什么内容也好。我可以不关注实现,我能用就行,问题文档没写啊。
另外一点就是,假设_sceneInfos设计初衷就是不暴露给用户使用,觉得当成私有变量,引擎内部逻辑使用好了,可是呢,官方demo又有使用它的场景。这就乱套了,莫名其妙。