Exemplo n.º 1
0
    public override void OnInspectorGUI()
    {
        ListBoxLineItem myTarget = null;

        try { myTarget = (ListBoxLineItem)target; } catch { }

        if (myTarget != null)
        {
            GUI.changed = false;

            EditorGUILayout.Space();
            EditorStyles.label.fontStyle = FontStyle.Bold;
            EditorGUILayout.LabelField("GAME TURN DISPLAY");
            EditorStyles.label.fontStyle = FontStyle.Normal;
            EditorGUILayout.ObjectField("Owning ListBox", myTarget.ListBoxControlObject, typeof(GameObject), true);
            EditorGUILayout.Separator();
            EditorGUILayout.Space();


            EditorStyles.label.fontStyle = FontStyle.Bold;
            EditorGUILayout.LabelField("LINE ITEM VALUES");
            EditorStyles.label.fontStyle = FontStyle.Normal;
            EditorGUILayout.LabelField("Index", myTarget.Index.ToString());
            EditorGUILayout.LabelField("Value", myTarget.Value);
            EditorGUILayout.LabelField("Text", myTarget.Text);
            EditorGUILayout.LabelField("Sub Text", myTarget.SubText);
            if (Application.isPlaying && myTarget.ListBoxControlObject != null)
            {
                EditorGUILayout.LabelField("Selected", (myTarget.ListBoxControlObject.GetComponent <ListBoxControl>().IsSelectedByIndex(myTarget.Index)) ? "YES" : "no");
            }
            EditorGUILayout.Separator();
            EditorGUILayout.Space();


            EditorStyles.label.fontStyle = FontStyle.Bold;
            EditorGUILayout.LabelField("LINE ITEM PROPERTIES");
            EditorStyles.label.fontStyle = FontStyle.Normal;
            EditorGUILayout.LabelField("Width", myTarget.Width.ToString());
            EditorGUILayout.LabelField("Height", myTarget.Height.ToString());
            EditorGUILayout.LabelField("X-Pos", myTarget.X.ToString());
            EditorGUILayout.LabelField("Y-Pos", myTarget.Y.ToString());
            EditorGUILayout.LabelField("Spacing", myTarget.Spacing.ToString());
            EditorGUILayout.ColorField("Normal Color", myTarget.ItemNormalColor);
            EditorGUILayout.ColorField("Highlight Color", myTarget.ItemHighlightColor);
            EditorGUILayout.ColorField("Selected Color", myTarget.ItemSelectedColor);
            EditorGUILayout.ColorField("Disabled Color", myTarget.ItemDisabledColor);
            EditorGUILayout.Separator();
            EditorGUILayout.Space();

            if (GUI.changed)
            {
                EditorUtility.SetDirty(myTarget);
                if (!Application.isPlaying)
                {
                    EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene());
                }
            }
        }
    }
Exemplo n.º 2
0
    public virtual bool                    MoveItemDown(int intIndex)
    {
        if (intIndex < 0 || intIndex >= _items.Count - 1)
        {
            return(false);
        }

        // UNSELECT BOTH ITEMS
        bool blnOrig = IsSelectedByIndex(intIndex);
        bool blnTrgt = IsSelectedByIndex(intIndex + 1);

        UnSelectItem(intIndex);
        UnSelectItem(intIndex + 1);

        // MOVE THE ITEM
        ListBoxLineItem liOrig = _items[intIndex];
        ListBoxLineItem liTrgt = _items[intIndex + 1];

        liOrig.Index++;
        liTrgt.Index--;
        _items[intIndex]     = liTrgt;
        _items[intIndex + 1] = liOrig;
        _items[intIndex].AutoSize();
        _items[intIndex + 1].AutoSize();

        // UPDATE SELECTION
        if (blnTrgt)
        {
            SelectByIndex(intIndex);
        }
        if (blnOrig)
        {
            SelectByIndex(intIndex + 1);
        }
        if (_intSelectedItem == intIndex)
        {
            _intSelectedItem++;
        }

        return(true);
    }