1.0 KiB
1.0 KiB
GameObject::SetActive
设置对象自身的 activeSelf 状态,并在必要时重新传播层级有效激活态。
void SetActive(bool active);
行为说明
当前实现会先比较新旧 m_activeSelf:
- 如果值没有变化,直接返回
- 如果值变化,重新计算对象当前的
active in hierarchy
当“层级有效激活态”发生变化时,当前实现会:
- 对已启用的普通组件发送
OnEnable()或OnDisable() - 把变化递归传播到子对象
重要边界
- 它改的是对象自己的
activeSelf,不是直接改父子层级 - 真正是否参与运行,还要结合 IsActiveInHierarchy 判断
TransformComponent不参与普通组件遍历,因此不会在这里收到OnEnable()/OnDisable()
参数
active- 新的activeSelf值。
返回值
- 无。