예제 #1
0
    private void draw(UIScrollSelection ScrollView)
    {
        UILabel content = EditorGUILayout.ObjectField("内容", ScrollView.labelContent, typeof(UILabel), true) as UILabel;

        int startSpaceCount = EditorGUILayout.IntField("起始空行数", ScrollView.startSpaceCount);

        int endSpaceCount = EditorGUILayout.IntField("结尾空行数", ScrollView.endSpaceCount);

        GUILayout.Space(3);
        string uvaluechange = EditorGUILayout.TextField("值改变事件", ScrollView.eValueChange);

        GUILayout.Space(3);
        string extraParam = EditorGUILayout.TextField("事件额外参数", ScrollView.eParam);

        if (GUI.changed)
        {
            EditorTools.RegisterUndo("UIScrollSelection", ScrollView);

            ScrollView.startSpaceCount = startSpaceCount;

            ScrollView.endSpaceCount = endSpaceCount;

            ScrollView.eValueChange = uvaluechange;

            ScrollView.eParam = extraParam;

            ScrollView.labelContent = content;

            EditorTools.SetDirty(ScrollView);
        }
    }
예제 #2
0
    public override void OnInspectorGUI()
    {
        UIScrollSelection uiScrollView = target as UIScrollSelection;

        EditorTools.DrawUpdateKeyTextField(uiScrollView);

        base.OnInspectorGUI();

        GUILayout.Space(10);

        draw(uiScrollView);
    }
예제 #3
0
    static void Gen_GF_UIScrollSelection()
    {
        GameObject g_scrollview = new GameObject("UIScrollSelection", typeof(RectTransform));

        GameObject g_Grid = new GameObject("content", typeof(RectTransform));

        GameObject g_select = new GameObject("select", typeof(RectTransform));

        g_select.transform.parent = g_scrollview.transform;

        g_Grid.transform.parent = g_scrollview.transform;



        RectTransform rect_scrollview = g_scrollview.GetComponent <RectTransform>();
        RectTransform rect_select     = g_select.GetComponent <RectTransform>();
        RectTransform rect_grid       = g_Grid.GetComponent <RectTransform>();

        rect_select.sizeDelta        = new Vector2(100, 20);
        rect_select.anchoredPosition = new Vector2(0, 0);
        rect_select.anchorMin        = new Vector2(0.5f, 0.5f);
        rect_select.anchorMax        = new Vector2(0.5f, 0.5f);

        Image image = g_select.AddComponent <UISprite> ();

        image.color         = new Color(0, 0, 0, 0.4f);
        image.raycastTarget = false;

        rect_grid.pivot = new Vector2(0.5f, 1.0f);

        rect_scrollview.sizeDelta = new Vector2(100, 111);

        UILabel content = g_Grid.AddComponent <UILabel> ();

        content.raycastTarget    = false;
        content.alignment        = TextAnchor.UpperCenter;
        content.verticalOverflow = VerticalWrapMode.Overflow;
        content.supportRichText  = false;
        content.fontSize         = 20;

        content.text = "\n\n1\n2\n3\n4\n5\n6\n7\n8\n9\nA\nB\nC\nD\nE\nF\n\n";

        rect_scrollview.anchorMax = new Vector2(1, 1);
        rect_scrollview.anchorMin = new Vector2(0, 0);
        rect_scrollview.pivot     = new Vector2(0.5f, 0.5f);

        rect_grid.anchorMax        = new Vector2(0.5f, 1.0f);
        rect_grid.anchorMin        = new Vector2(0.5f, 1.0f);
        rect_grid.pivot            = new Vector2(0.5f, 1f);
        rect_grid.anchoredPosition = Vector2.zero;


        g_scrollview.AddComponent <Image> ().color = new Color(1, 1, 1, 0.5f);
        g_scrollview.AddComponent <Mask> ();
        UIScrollSelection uisv = g_scrollview.AddComponent <UIScrollSelection> ();

        uisv.movementType    = ScrollRect.MovementType.Elastic;
        uisv.vertical        = true;
        uisv.horizontal      = false;
        uisv.labelContent    = content;
        uisv.startSpaceCount = 2;
        uisv.endSpaceCount   = 2;
        RectTransform uisvtf = uisv.GetComponent <RectTransform>();

        uisvtf.anchorMin = new Vector2(0.5f, 0.5f);
        uisvtf.anchorMax = new Vector2(0.5f, 0.5f);
        uisvtf.pivot     = new Vector2(0.5f, 0.5f);

        uisv.content    = rect_grid;
        uisv.horizontal = false;
        uisv.viewport   = rect_scrollview;


        ContentSizeFitter csf = g_Grid.AddComponent <ContentSizeFitter> ();

        csf.horizontalFit = ContentSizeFitter.FitMode.Unconstrained;
        csf.verticalFit   = ContentSizeFitter.FitMode.PreferredSize;


        AddToUIRoot(g_scrollview);

        g_scrollview.layer = LayerMask.NameToLayer("UI");
    }