示例#1
0
    public override void OnInspectorGUI()
    {
        UIDragGroup dgroup = target as UIDragGroup;

        EditorTools.DrawUpdateKeyTextField(dgroup);

        GUILayout.Space(10);

        drawSprite(dgroup);
    }
示例#2
0
    public void drawSprite(UIDragGroup dgroup)
    {
        GUILayout.Space(3);
        bool   allowMultiCollision = EditorGUILayout.Toggle("允许多个碰撞", dgroup.allowMultiCollision);
        string upressclickkey      = EditorGUILayout.TextField("触发事件", dgroup.eDragDown);

        GUILayout.Space(3);
        UIDrag buffer = null;

        buffer = (UIDrag)EditorGUILayout.ObjectField("绑定UIDrag", buffer, typeof(UIDrag), true);
        for (int k = 0; k < dgroup.drags.Count; k++)
        {
            GUILayout.BeginHorizontal();
            GUILayout.Space(20);
            if (GUILayout.Button("X", GUILayout.Width(20)))
            {
                EditorTools.RegisterUndo("UIDragGroup", dgroup);
                dgroup.drags.RemoveAt(k);
                EditorTools.SetDirty(dgroup);
                return;
            }
            EditorGUILayout.ObjectField("", dgroup.drags [k], typeof(UIDrag), true);
            GUILayout.Label(dgroup.drags [k].eParam);
            GUILayout.EndHorizontal();
        }

        GUILayout.Space(15);
        if (GUILayout.Button("自动绑定"))
        {
            UIDrag[] array = dgroup.gameObject.GetComponentsInChildren <UIDrag> (true);

            if (array != null && array.Length > 0)
            {
                EditorTools.RegisterUndo("UIDragGroup", dgroup);
                foreach (UIDrag drag in array)
                {
                    if (!dgroup.drags.Contains(drag))
                    {
                        dgroup.drags.Add(drag);
                    }
                }
                EditorTools.SetDirty(dgroup);
                return;
            }
        }


        if (GUI.changed)
        {
            EditorTools.RegisterUndo("UIDragGroup", dgroup);

            dgroup.eDragDown           = upressclickkey;
            dgroup.allowMultiCollision = allowMultiCollision;

            if (buffer != null)
            {
                if (!dgroup.drags.Contains(buffer))
                {
                    dgroup.drags.Add(buffer);
                }
            }
            EditorTools.SetDirty(dgroup);
        }
    }