コード例 #1
0
        /// <summary>
        /// Field設定の描画
        /// </summary>
        public void DrawFieldSettings()
        {
            connection.IsOpenField = EditorGUILayout.Foldout(connection.IsOpenField, fieldSettingsContent);

            ++EditorGUI.indentLevel;

            if (connection.IsOpenField)
            {
                if (list == null)
                {
                    OnEnable();
                }
                list.DoLayoutList();
            }

            --EditorGUI.indentLevel;

            inputError = dataInputError.CheckKey(connection.FieldDataList, connection.GetDefaultFields());
            dataInputError.DrawInputError(inputError);
        }
コード例 #2
0
        /// <summary>
        /// クエリ設定の描画
        /// </summary>
        public void DrawQuerySettings()
        {
            connection.IsOpenQuery = EditorGUILayout.Foldout(connection.IsOpenQuery, querySettingsContent);

            ++EditorGUI.indentLevel;

            if (connection.IsOpenQuery)
            {
                // 降順/昇順の設定
                EditorGUILayout.PropertyField(customEditor.serializedObject.FindProperty("Sort"), sortContent);

                if (connection.Sort != NCMBUTSortType.None)
                {
                    // ソート対象のFieldの設定
                    // デフォルトのFieldと追加したFieldから設定する
                    string[] defaultList = connection.GetDefaultFields();
                    string[] addList     = new string[connection.FieldDataList.Count];
                    for (int i = 0; i < connection.FieldDataList.Count; ++i)
                    {
                        addList[i] = connection.FieldDataList[i].Key;
                    }
                    string[] list = new string[defaultList.Length + addList.Length];
                    defaultList.CopyTo(list, 0);
                    addList.CopyTo(list, defaultList.Length);

                    // 選択中のソート対象
                    // ない場合はcreateDate
                    int tmpIndex = Array.IndexOf(list, connection.SortField);
                    if (tmpIndex > -1)
                    {
                        currentIndex = tmpIndex;
                    }
                    else
                    {
                        currentIndex         = Array.IndexOf(list, "createDate");
                        connection.SortField = list[currentIndex];

                        connection.Sort = NCMBUTSortType.None;
                        customEditor.serializedObject.ApplyModifiedProperties();
                    }

                    GUIContent[] contents = new GUIContent[list.Length];

                    for (int i = 0; i < list.Length; ++i)
                    {
                        contents[i] = new GUIContent(list[i]);
                    }

                    currentIndex = (int)EditorGUILayout.Popup(sortFieldContent, currentIndex, contents);

                    if (GUI.changed)
                    {
                        Undo.RecordObject(connection, "Change Sort Field");
                        connection.SortField = list[currentIndex];
                    }
                }

                EditorGUILayout.PropertyField(customEditor.serializedObject.FindProperty("Skip"), skipContent);
                EditorGUILayout.PropertyField(customEditor.serializedObject.FindProperty("Limit"), limitContent);
            }

            --EditorGUI.indentLevel;
        }