PlayMakerArrayListProxy.InspectorEdit C# (CSharp) Method

InspectorEdit() public method

public InspectorEdit ( int index ) : void
index int
return void
    public void InspectorEdit(int index)
    {
        dispatchEvent(setEvent,index,"int");
    }

Usage Example

示例#1
0
    }    // BuildEventsInspectorGUI

    private void BuildPreviewInspectorGUI()
    {
        PlayMakerArrayListProxy proxy = (PlayMakerArrayListProxy)target;

        if (proxy.arrayList == null)
        {
            return;
        }

        int count = proxy.arrayList.Count;

        BuildPreviewInspectorHeaderGUI(count);


        if (!proxy.showContent)
        {
            return;
        }

        if (proxy.arrayList != null)
        {
            int start = proxy.contentPreviewStartIndex;
            int last  = Mathf.Min(count, proxy.contentPreviewStartIndex + proxy.contentPreviewMaxRows);

            string label;
            for (int i = start; i < last; i++)
            {
                label = "Item " + i;
                EditorGUILayout.BeginHorizontal();

                if (proxy.arrayList[i] != null)
                {
                    if (proxy.arrayList[i].GetType() == typeof(bool))
                    {
                        proxy.arrayList[i] = (bool)EditorGUILayout.Toggle(label, (bool)proxy.arrayList[i]);
                    }
                    else if (proxy.arrayList[i].GetType() == typeof(Color))
                    {
                        proxy.arrayList[i] = (Color)EditorGUILayout.ColorField(label, (Color)proxy.arrayList[i]);
                    }
                    else if (proxy.arrayList[i].GetType() == typeof(float))
                    {
                        proxy.arrayList[i] = (float)EditorGUILayout.FloatField(label, (float)proxy.arrayList[i]);
                    }
                    else if (proxy.arrayList[i].GetType() == typeof(GameObject))
                    {
                        proxy.arrayList[i] = (GameObject)EditorGUILayout.ObjectField(label, (GameObject)proxy.arrayList[i], typeof(GameObject), true);
                    }
                    else if (proxy.arrayList[i].GetType() == typeof(int))
                    {
                        proxy.arrayList[i] = (int)EditorGUILayout.IntField(label, (int)proxy.arrayList[i]);
                    }
                    else if (proxy.arrayList[i].GetType() == typeof(Material))
                    {
                        proxy.arrayList[i] = (Material)EditorGUILayout.ObjectField(label, (Material)proxy.arrayList[i], typeof(Material), false);
                    }
                    else if (proxy.arrayList[i].GetType() == typeof(Object))
                    {
                        proxy.arrayList[i] = (Object)EditorGUILayout.ObjectField(label, (Object)proxy.arrayList[i], typeof(Object), true);
                    }
                    else if (proxy.arrayList[i].GetType() == typeof(Quaternion))
                    {
                        Quaternion q    = (Quaternion)proxy.arrayList[i];
                        Vector4    quat = new Vector4(q[0], q[1], q[2], q[3]);
                        quat = EditorGUILayout.Vector4Field(label, quat);
                        q[0] = quat[0];
                        q[1] = quat[1];
                        q[2] = quat[2];
                        q[3] = quat[3];
                        proxy.arrayList[i] = q;
                    }
                    else if (proxy.arrayList[i].GetType() == typeof(Rect))
                    {
                        proxy.arrayList[i] = (Rect)EditorGUILayout.RectField(label, (Rect)proxy.arrayList[i]);
                    }
                    else if (proxy.arrayList[i].GetType() == typeof(string))
                    {
                        proxy.arrayList[i] = (string)EditorGUILayout.TextField(label, (string)proxy.arrayList[i]);
                    }
                    else if (proxy.arrayList[i].GetType() == typeof(Texture2D))
                    {
                        GUILayout.BeginHorizontal();
                        GUILayout.Space(15);
                        GUILayout.Label(label);
                        GUILayout.FlexibleSpace();
                        if (proxy.TextureElementSmall)
                        {
                            proxy.arrayList[i] = (Texture2D)EditorGUILayout.ObjectField((Texture2D)proxy.arrayList[i], typeof(Texture2D), false);
                        }
                        else
                        {
                            proxy.arrayList[i] = (Texture2D)EditorGUILayout.ObjectField("", (Texture2D)proxy.arrayList[i], typeof(Texture2D), false);
                        }
                        GUILayout.Space(5);
                        GUILayout.EndHorizontal();
                    }
                    else if (proxy.arrayList[i].GetType() == typeof(Vector2))
                    {
                        proxy.arrayList[i] = (Vector2)EditorGUILayout.Vector2Field(label, (Vector2)proxy.arrayList[i]);
                    }
                    else if (proxy.arrayList[i].GetType() == typeof(Vector3))
                    {
                        proxy.arrayList[i] = (Vector3)EditorGUILayout.Vector3Field(label, (Vector3)proxy.arrayList[i]);
                    }
                    else if (proxy.arrayList[i].GetType() == typeof(AudioClip))
                    {
                        proxy.arrayList[i] = (AudioClip)EditorGUILayout.ObjectField(label, (AudioClip)proxy.arrayList[i], typeof(AudioClip), true);
                    }
                    else if (proxy.arrayList[i].GetType() == typeof(Sprite))
                    {
                        proxy.arrayList[i] = (Sprite)EditorGUILayout.ObjectField(label, (Sprite)proxy.arrayList[i], typeof(Sprite), true);
                    }
                    else
                    {
                        //(FsmBool)proxy.arrayList[i].Value = (bool)EditorGUILayout.Toggle(label, (FsmBool)proxy.arrayList[i].Value);
                        // OUPS
                        Debug.Log(proxy.arrayList[i].GetType());
                        //EditorGUILayout.TextField(label, (string)proxy.arrayList[i]);
                    }
                }
                else
                {
                    EditorGUILayout.LabelField(label, "-- NULL --");
                }
                EditorGUILayout.EndHorizontal();
                if (Application.isPlaying && GUI.changed)
                {
                    proxy.InspectorEdit(i);
                }
            }
        }
        else
        {
            EditorGUILayout.LabelField("-- Empty --", "");
        }

        if (proxy.liveUpdate)
        {
            Repaint();
        }
    }