Skip to content

关于 ui-renderer.ts 中新增的 _keepRenderData 属性的建议 #239

Description

@finscn

很高兴看到 cocos 增加了这个属性.
我之前在自定义引擎中也增加了类似的属性.

不过 cocos 目前这个 _keepRenderData 的设计我觉得缺少了一些灵活性.
官方建议是 如果要修改 _keepRenderData , 在子类里去重写它

但是我在实际项目里 经常要在运行时 根据某些条件来动态的修改 某个cocos 内置的渲染对象.
伪代码如下:

     const spin = this.node.getComponent(cc.sp.Skeleton)
     if (满足条件A) {
         let b = ....
          //  ... 一些逻辑
         spine._keepRenderData = b;
     } else {
         spine._keepRenderData = true;
    } 

我不可能也没必要 仅仅为了去操作 _keepRenderData 属性 , 特意扩展一堆 cocos内置的渲染对象.
而且 _keepRenderData 还是 protected 的, 我即使扩展了 也难以在外部去操作
既然提供了这个功能, 不如把它变为一个 普通的 public 属性.
在说明里明确它作用就好. 何时去使用它交给开发者自己去决定就好.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions