private void DrawObjectArrayItem(IDebugDrawerObjectArray item) { #if UNITY_EDITOR var fields = item.GetChildren(); if (fields.Length > 0) { item.IsVisible = EditorGUILayout.Foldout(item.IsVisible, item.GetName(), true); if (item.IsVisible) { EditorGUI.indentLevel++; for (int i = 0; i < fields.Length; i++) { DrawObjectArrayItem(fields[i]); } EditorGUI.indentLevel--; } } else { (this as IDebugDrawer).LabelField(item.GetName(), item.GetValue()); } #endif }
void IDebugDrawer.DrawObjectArray(IDebugDrawerObjectArray root) { #if UNITY_EDITOR if (isEditor) { var fields = root.GetChildren(); for (int i = 0; i < fields.Length; i++) { DrawObjectArrayItem(fields[i]); } return; } #endif }