Пример #1
0
        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
        }
Пример #2
0
        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
        }