//激活自身bind private static void ActivateSelfBind(Transform transform) { //查找自身所有继承自UIVariableBind的实现类 将他们初始化 UIVariableBind[] variableBinds = transform.GetComponents <UIVariableBind>(); for (int i = 0; i < variableBinds.Length; i++) { variableBinds[i].Init(); } //遍历自身变换组件 可以遍历到所有子物体 (不包含孙子物体以及自身) foreach (Transform transform2 in transform) { UIVariableTable.ActivateChildBind(transform2); } }
//激活子类bind private static void ActivateChildBind(Transform transform) { //如果子物体身上也存在UIVariableTable 则不进行操作 if (transform.HasComponent <UIVariableTable>()) { return; } UIVariableBind[] variableBinds = transform.GetComponents <UIVariableBind>(); for (int i = 0; i < variableBinds.Length; i++) { variableBinds[i].Init(); } //遍历自身变换组件 可以遍历到所有子物体 (不包含孙子物体以及自身) foreach (Transform transform2 in transform) { UIVariableTable.ActivateChildBind(transform2); } }