示例#1
0
    void DisplayListArea()
    {
        EditorGUILayout.BeginVertical(GUILayout.Width(250));
        EditorGUILayout.Space();
        EditorGUILayout.LabelField(currentDatabase.name);
        _scrollPos = EditorGUILayout.BeginScrollView(_scrollPos, "box", GUILayout.ExpandHeight(true));

        for (int i = 0; i < currentDatabase.Count; i++)
        {
            EditorGUILayout.BeginHorizontal();
            if (GUILayout.Button("-", GUILayout.Width(25)))
            {
                currentDatabase.RemoveAt(i);
                EditorUtility.SetDirty(currentDatabase);
                state = State.BLANK;
                return;
            }
            if (currentDatabase[i] != null)
            {
                if (GUILayout.Button(currentDatabase[i].Key, "box", GUILayout.ExpandWidth(true)))
                {
                    selectedEvent = i;
                    state         = State.EDIT;
                }
            }
            EditorGUILayout.LabelField(i.ToString(), GUILayout.Width(25));

            EditorGUILayout.EndHorizontal();
        }
        if (GUILayout.Button("+", GUILayout.Width(100)))
        {
            selectedEvent = currentDatabase.Add(new GameEvent());
            state         = State.EDIT;
        }

        EditorGUILayout.EndScrollView();

        EditorGUILayout.BeginHorizontal(GUILayout.ExpandWidth(true));
        EditorGUILayout.LabelField("Events: " + currentDatabase.Count, GUILayout.Width(100));
        if (GUILayout.Button("Parse"))
        {
            state = State.PARSE;
        }
        if (GUILayout.Button("Verify"))
        {
            Verify();
        }
        EditorGUILayout.EndHorizontal();
        EditorGUILayout.Space();
        EditorGUILayout.EndVertical();
    }