Exemplo n.º 1
0
    /// <summary>
    /// Load all serialized values from editor prefs.
    /// This is necessary because static values get wiped out as soon as scripts get recompiled.
    /// </summary>

    static void Load()
    {
        mWidgetType = (WidgetType)EditorPrefs.GetInt("NGUI Widget category", 0);
        mFillDir    = (UIScrollBar.FillDirection)EditorPrefs.GetInt("NGUI Fill Dir", 0);

        int color = EditorPrefs.GetInt("NGUI Color", -1);

        if (color != -1)
        {
            mColor = NGUIMath.IntToColor(color);
        }

        mButton   = LoadString("NGUI Button");
        mImage0   = LoadString("NGUI Image 0");
        mImage1   = LoadString("NGUI Image 1");
        mImage2   = LoadString("NGUI Image 2");
        mImage3   = LoadString("NGUI Image 3");
        mCheckBG  = LoadString("NGUI CheckBG");
        mCheck    = LoadString("NGUI Check");
        mSliderBG = LoadString("NGUI SliderBG");
        mSliderFG = LoadString("NGUI SliderFG");
        mSliderTB = LoadString("NGUI SliderTB");
        mInputBG  = LoadString("NGUI InputBG");
        mListFG   = LoadString("NGUI ListFG");
        mListBG   = LoadString("NGUI ListBG");
        mListHL   = LoadString("NGUI ListHL");
        mScrollBG = LoadString("NGUI ScrollBG");
        mScrollFG = LoadString("NGUI ScrollFG");
        mScrollCL = EditorPrefs.GetBool("NGUI ScrollCL", true);
    }
Exemplo n.º 2
0
    /// <summary>
    /// Scroll bar template.
    /// </summary>

    void CreateScrollBar(GameObject go)
    {
        if (NGUISettings.atlas != null)
        {
            NGUIEditorTools.DrawSpriteField("Background", "Sprite used for the background", NGUISettings.atlas, mScrollBG, OnScrollBG, GUILayout.Width(120f));
            NGUIEditorTools.DrawSpriteField("Foreground", "Sprite used for the foreground (thumb)", NGUISettings.atlas, mScrollFG, OnScrollFG, GUILayout.Width(120f));

            GUILayout.BeginHorizontal();
            UIScrollBar.FillDirection dir = (UIScrollBar.FillDirection)EditorGUILayout.EnumPopup("Direction", mFillDir, GUILayout.Width(200f));
            GUILayout.Space(20f);
            GUILayout.Label("Add colliders?", GUILayout.Width(90f));
            bool draggable = EditorGUILayout.Toggle(mScrollCL);
            GUILayout.EndHorizontal();

            if (mScrollCL != draggable || mFillDir != dir)
            {
                mScrollCL = draggable;
                mFillDir  = dir;
                Save();
            }
        }

        if (ShouldCreate(go, NGUISettings.atlas != null))
        {
            int depth = NGUITools.CalculateNextDepth(go);
            go      = NGUITools.AddChild(go);
            go.name = "Scroll Bar";

            UISprite bg = NGUITools.AddWidget <UISprite>(go);
            bg.type       = UISprite.Type.Sliced;
            bg.name       = "Background";
            bg.depth      = depth;
            bg.atlas      = NGUISettings.atlas;
            bg.spriteName = mScrollBG;

            Vector4 border = bg.border;
            bg.width  = Mathf.RoundToInt(400f + border.x + border.z);
            bg.height = Mathf.RoundToInt(14f + border.y + border.w);
            bg.MakePixelPerfect();

            UISprite fg = NGUITools.AddWidget <UISprite>(go);
            fg.type       = UISprite.Type.Sliced;
            fg.name       = "Foreground";
            fg.atlas      = NGUISettings.atlas;
            fg.spriteName = mScrollFG;

            UIScrollBar sb = go.AddComponent <UIScrollBar>();
            sb.foregroundWidget = fg;
            sb.backgroundWidget = bg;
            sb.fillDirection    = mFillDir;
            sb.barSize          = 0.3f;
            sb.value            = 0.3f;
            sb.ForceUpdate();

            if (mScrollCL)
            {
                NGUITools.AddWidgetCollider(bg.gameObject);
                NGUITools.AddWidgetCollider(fg.gameObject);
            }
            Selection.activeGameObject = go;
        }
    }