void DrawPreconditionListElement(Rect rect, int index, bool isActive, bool isFocused)
        {
            var list         = m_PreconditionList.serializedProperty;
            var precondition = list.GetArrayElementAtIndex(index);

            var actionParameters = (target as ActionDefinition).Parameters.ToList();

            PreconditionDrawer.PropertyField(rect, actionParameters, precondition, PlannerCustomTypeCache.ActionPreconditionTypes);
        }
        void ShowPreconditionMenu(Rect rect, ReorderableList list)
        {
            if (PlannerCustomTypeCache.ActionPreconditionTypes.Length == 0)
            {
                list.serializedProperty.InsertArrayElement();
                return;
            }

            PreconditionDrawer.ShowPreconditionMenu(serializedObject, list.serializedProperty, PlannerCustomTypeCache.ActionPreconditionTypes);
        }