private float OnElementHeight(int index)
        {
            if (!ShowElements)
            {
                return(0f);
            }

            SerializedProperty conditionProp = conditionsListProperty.GetArrayElementAtIndex(index);

            Editor editor = GetOrCreateEditor(conditionProp);

            IInlineConditionEditor inlineEditor = editor as IInlineConditionEditor;

            if (inlineEditor != null)
            {
                return(inlineEditor.GetInlineEditorHeight());
            }
            else
            {
                return(EditorGUIUtility.singleLineHeight);
            }
        }
        private void OnDrawElement(Rect rect, int index, bool isActive, bool isSelected)
        {
            if (!ShowElements)
            {
                return;
            }

            SerializedProperty conditionProp = conditionsListProperty.GetArrayElementAtIndex(index);

            Editor editor = GetOrCreateEditor(conditionProp);

            IInlineConditionEditor inlineEditor = editor as IInlineConditionEditor;

            if (inlineEditor != null)
            {
                inlineEditor.InitializeVariablesList(
                    serializedManager.TargetManager.SceneVariables);
                inlineEditor.OnInlineEditorGUI(rect);
            }
            else
            {
                GUI.Label(rect, conditionProp.objectReferenceValue.GetType().Name);
            }
        }