コード例 #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()
    {
        mType      = (WidgetType)EditorPrefs.GetInt("NGUI Widget Type", 0);
        mScrollDir = (UIScrollBar.Direction)EditorPrefs.GetInt("NGUI Scroll Dir", 0);

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

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

        mSprite   = LoadString("NGUI Sprite");
        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);
    }
コード例 #2
0
    /// <summary>
    /// Scroll bar template.
    /// </summary>

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

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

            if (mScrollCL != draggable || mScrollDir != dir)
            {
                mScrollCL  = draggable;
                mScrollDir = 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;
            bg.transform.localScale = new Vector3(400f + bg.border.x + bg.border.z, 14f + bg.border.y + bg.border.w, 1f);
            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.background  = bg;
            sb.foreground  = fg;
            sb.direction   = mScrollDir;
            sb.barSize     = 0.3f;
            sb.scrollValue = 0.3f;
            sb.ForceUpdate();

            if (mScrollCL)
            {
                NGUITools.AddWidgetCollider(bg.gameObject);
                NGUITools.AddWidgetCollider(fg.gameObject);
            }
            Selection.activeGameObject = go;
        }
    }
コード例 #3
0
    public override void OnInspectorGUI()
    {
        NGUIEditorTools.SetLabelWidth(80f);
        UIScrollBar sb = target as UIScrollBar;

        GUILayout.Space(3f);

        float val   = EditorGUILayout.Slider("Value", sb.value, 0f, 1f);
        float size  = EditorGUILayout.Slider("Size", sb.barSize, 0f, 1f);
        float alpha = EditorGUILayout.Slider("Alpha", sb.alpha, 0f, 1f);

        UISprite bg  = sb.background;
        UISprite fg  = sb.foreground;
        bool     inv = sb.inverted;

        UIScrollBar.Direction dir = sb.direction;

        //GUILayout.Space(6f);

        if (NGUIEditorTools.DrawHeader("Appearance"))
        {
            NGUIEditorTools.BeginContents();
            bg = (UISprite)EditorGUILayout.ObjectField("Background", sb.background, typeof(UISprite), true);
            fg = (UISprite)EditorGUILayout.ObjectField("Foreground", sb.foreground, typeof(UISprite), true);

            GUILayout.BeginHorizontal();
            dir = (UIScrollBar.Direction)EditorGUILayout.EnumPopup("Direction", sb.direction);
            GUILayout.Space(18f);
            GUILayout.EndHorizontal();

            inv = EditorGUILayout.Toggle("Inverted", sb.inverted);

            NGUIEditorTools.EndContents();
        }

        //GUILayout.Space(3f);

        if (sb.value != val ||
            sb.barSize != size ||
            sb.background != bg ||
            sb.foreground != fg ||
            sb.direction != dir ||
            sb.inverted != inv ||
            sb.alpha != alpha)
        {
            NGUIEditorTools.RegisterUndo("Scroll Bar Change", sb);
            sb.value      = val;
            sb.barSize    = size;
            sb.inverted   = inv;
            sb.background = bg;
            sb.foreground = fg;
            sb.direction  = dir;
            sb.alpha      = alpha;
            UnityEditor.EditorUtility.SetDirty(sb);
        }

        NGUIEditorTools.DrawEvents("On Value Change", sb, sb.onChange);
    }
コード例 #4
0
    public unsafe override void Unity_NamedDeserialize(int depth)
    {
        byte[] var_0_cp_0;
        int    var_0_cp_1;

        if (depth <= 7)
        {
            ISerializedNamedStateReader arg_1E_0 = SerializedNamedStateReader.Instance;
            var_0_cp_0 = $FieldNamesStorage.$RuntimeNames;
            var_0_cp_1 = 0;
            this.thumb = (arg_1E_0.ReadUnityEngineObject(&var_0_cp_0[var_0_cp_1] + 1570) as Transform);
        }
        if (depth <= 7)
        {
            this.mBG = (SerializedNamedStateReader.Instance.ReadUnityEngineObject(&var_0_cp_0[var_0_cp_1] + 1576) as UIWidget);
        }
        if (depth <= 7)
        {
            this.mFG = (SerializedNamedStateReader.Instance.ReadUnityEngineObject(&var_0_cp_0[var_0_cp_1] + 1580) as UIWidget);
        }
        this.mValue        = SerializedNamedStateReader.Instance.ReadSingle(&var_0_cp_0[var_0_cp_1] + 1584);
        this.mFill         = (UIProgressBar.FillDirection)SerializedNamedStateReader.Instance.ReadInt32(&var_0_cp_0[var_0_cp_1] + 1591);
        this.numberOfSteps = SerializedNamedStateReader.Instance.ReadInt32(&var_0_cp_0[var_0_cp_1] + 1597);
        if (depth <= 7)
        {
            int num = SerializedNamedStateReader.Instance.BeginSequenceGroup(&var_0_cp_0[var_0_cp_1] + 1446);
            this.onChange = new List <EventDelegate>(num);
            for (int i = 0; i < num; i++)
            {
                EventDelegate eventDelegate = new EventDelegate();
                EventDelegate arg_F8_0      = eventDelegate;
                SerializedNamedStateReader.Instance.BeginMetaGroup((IntPtr)0);
                arg_F8_0.Unity_NamedDeserialize(depth + 1);
                SerializedNamedStateReader.Instance.EndMetaGroup();
                this.onChange.Add(eventDelegate);
            }
            SerializedNamedStateReader.Instance.EndMetaGroup();
        }
        if (depth <= 7)
        {
            this.foreground = (SerializedNamedStateReader.Instance.ReadUnityEngineObject(&var_0_cp_0[var_0_cp_1] + 1619) as Transform);
        }
        this.rawValue  = SerializedNamedStateReader.Instance.ReadSingle(&var_0_cp_0[var_0_cp_1] + 1630);
        this.direction = (UISlider.Direction)SerializedNamedStateReader.Instance.ReadInt32(&var_0_cp_0[var_0_cp_1] + 1639);
        this.mInverted = SerializedNamedStateReader.Instance.ReadBoolean(&var_0_cp_0[var_0_cp_1] + 1649);
        SerializedNamedStateReader.Instance.Align();
        this.mSize   = SerializedNamedStateReader.Instance.ReadSingle(&var_0_cp_0[var_0_cp_1] + 1659);
        this.mScroll = SerializedNamedStateReader.Instance.ReadSingle(&var_0_cp_0[var_0_cp_1] + 1665);
        this.mDir    = (UIScrollBar.Direction)SerializedNamedStateReader.Instance.ReadInt32(&var_0_cp_0[var_0_cp_1] + 1673);
    }
コード例 #5
0
ファイル: UIScrollBar.cs プロジェクト: yxxyws/niuniu
 protected override void Upgrade()
 {
     if (this.mDir != UIScrollBar.Direction.Upgraded)
     {
         this.mValue = this.mScroll;
         if (this.mDir == UIScrollBar.Direction.Horizontal)
         {
             this.mFill = ((!this.mInverted) ? UIProgressBar.FillDirection.LeftToRight : UIProgressBar.FillDirection.RightToLeft);
         }
         else
         {
             this.mFill = ((!this.mInverted) ? UIProgressBar.FillDirection.TopToBottom : UIProgressBar.FillDirection.BottomToTop);
         }
         this.mDir = UIScrollBar.Direction.Upgraded;
     }
 }
コード例 #6
0
 public override void Unity_Deserialize(int depth)
 {
     if (depth <= 7)
     {
         this.thumb = (SerializedStateReader.Instance.ReadUnityEngineObject() as Transform);
     }
     if (depth <= 7)
     {
         this.mBG = (SerializedStateReader.Instance.ReadUnityEngineObject() as UIWidget);
     }
     if (depth <= 7)
     {
         this.mFG = (SerializedStateReader.Instance.ReadUnityEngineObject() as UIWidget);
     }
     this.mValue        = SerializedStateReader.Instance.ReadSingle();
     this.mFill         = (UIProgressBar.FillDirection)SerializedStateReader.Instance.ReadInt32();
     this.numberOfSteps = SerializedStateReader.Instance.ReadInt32();
     if (depth <= 7)
     {
         int num = SerializedStateReader.Instance.ReadInt32();
         this.onChange = new List <EventDelegate>(num);
         for (int i = 0; i < num; i++)
         {
             EventDelegate eventDelegate = new EventDelegate();
             eventDelegate.Unity_Deserialize(depth + 1);
             this.onChange.Add(eventDelegate);
         }
     }
     if (depth <= 7)
     {
         this.foreground = (SerializedStateReader.Instance.ReadUnityEngineObject() as Transform);
     }
     this.rawValue  = SerializedStateReader.Instance.ReadSingle();
     this.direction = (UISlider.Direction)SerializedStateReader.Instance.ReadInt32();
     this.mInverted = SerializedStateReader.Instance.ReadBoolean();
     SerializedStateReader.Instance.Align();
     this.mSize   = SerializedStateReader.Instance.ReadSingle();
     this.mScroll = SerializedStateReader.Instance.ReadSingle();
     this.mDir    = (UIScrollBar.Direction)SerializedStateReader.Instance.ReadInt32();
 }
コード例 #7
0
    public override void OnInspectorGUI()
    {
        //EditorGUIUtility.LookLikeControls(80f);
        EditorGUIUtility.labelWidth = 80;
        EditorGUIUtility.fieldWidth = 80;
        UIScrollBar sb = target as UIScrollBar;

        NGUIEditorTools.DrawSeparator();

        float val   = EditorGUILayout.Slider("Value", sb.scrollValue, 0f, 1f);
        float size  = EditorGUILayout.Slider("Size", sb.barSize, 0f, 1f);
        float alpha = EditorGUILayout.Slider("Alpha", sb.alpha, 0f, 1f);

        NGUIEditorTools.DrawSeparator();

        UISprite bg = (UISprite)EditorGUILayout.ObjectField("Background", sb.background, typeof(UISprite), true);
        UISprite fg = (UISprite)EditorGUILayout.ObjectField("Foreground", sb.foreground, typeof(UISprite), true);

        UIScrollBar.Direction dir = (UIScrollBar.Direction)EditorGUILayout.EnumPopup("Direction", sb.direction);
        bool inv = EditorGUILayout.Toggle("Inverted", sb.inverted);

        if (sb.scrollValue != val ||
            sb.barSize != size ||
            sb.background != bg ||
            sb.foreground != fg ||
            sb.direction != dir ||
            sb.inverted != inv ||
            sb.alpha != alpha)
        {
            NGUIEditorTools.RegisterUndo("Scroll Bar Change", sb);
            sb.scrollValue = val;
            sb.barSize     = size;
            sb.inverted    = inv;
            sb.background  = bg;
            sb.foreground  = fg;
            sb.direction   = dir;
            sb.alpha       = alpha;
            UnityEditor.EditorUtility.SetDirty(sb);
        }
    }
コード例 #8
0
	/// <summary>
	/// Scroll bar template.
	/// </summary>

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

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

			if (mScrollCL != draggable || mScrollDir != dir)
			{
				mScrollCL = draggable;
				mScrollDir = 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.background = bg;
			sb.foreground = fg;
			sb.direction = mScrollDir;
			sb.barSize = 0.3f;
			sb.value = 0.3f;
			sb.ForceUpdate();

			if (mScrollCL)
			{
				NGUITools.AddWidgetCollider(bg.gameObject);
				NGUITools.AddWidgetCollider(fg.gameObject);
			}
			Selection.activeGameObject = go;
		}
	}
コード例 #9
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 ()
	{
		mType = (WidgetType)EditorPrefs.GetInt("NGUI Widget Type", 0);
		mScrollDir = (UIScrollBar.Direction)EditorPrefs.GetInt("NGUI Scroll Dir", 0);

		int color = EditorPrefs.GetInt("NGUI Color", -1);
		if (color != -1) mColor = NGUIMath.IntToColor(color);

		mSprite		= LoadString("NGUI Sprite");
		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);
	}
コード例 #10
0
    public override void OnInspectorGUI()
    {
        EditorGUIUtility.LookLikeControls(100f);
        UIScrollBar sb = target as UIScrollBar;

        NGUIEditorTools.DrawSeparator();

        float          val   = EditorGUILayout.Slider("Value", sb.scrollValue, 0f, 1f);
        float          size  = EditorGUILayout.Slider("Size", sb.barSize, 0f, 1f);
        float          alpha = EditorGUILayout.Slider("Alpha", sb.alpha, 0f, 1f);
        UIFilledSprite ProgressBackground = (UIFilledSprite)EditorGUILayout.ObjectField("进度条", sb.ProgressBackground, typeof(UIFilledSprite), true);
        float          ForegroundZDepth   = EditorGUILayout.FloatField("拖拽按钮Z坐标", sb.ForegroundZDepth);
        Vector2        foregroundSize     = EditorGUILayout.Vector2Field("拖拽按钮缩放比", sb.ForegroundScaleSize);

        GUILayout.BeginHorizontal();
        StepPointCount = EditorGUILayout.IntField("节点个数", StepPointCount);
        if (GUILayout.Button("确定"))
        {
            sb.StepList = new float[StepPointCount];
        }
        GUILayout.EndHorizontal();

        if (sb.StepList != null)
        {
            for (int i = 0; i < sb.StepList.Length; i++)
            {
                float value = EditorGUILayout.FloatField("节点" + i, sb.StepList[i]);
                value          = value > 1 ? 1 : value;
                value          = value < 0 ? 0 : value;
                sb.StepList[i] = value;
            }
        }

        NGUIEditorTools.DrawSeparator();

        UISprite bg = (UISprite)EditorGUILayout.ObjectField("Background", sb.background, typeof(UISprite), true);
        UISprite fg = (UISprite)EditorGUILayout.ObjectField("Foreground", sb.foreground, typeof(UISprite), true);

        UIScrollBar.Direction dir = (UIScrollBar.Direction)EditorGUILayout.EnumPopup("Direction", sb.direction);
        bool inv = EditorGUILayout.Toggle("Inverted", sb.inverted);

        if (sb.scrollValue != val ||
            sb.barSize != size ||
            sb.background != bg ||
            sb.foreground != fg ||
            sb.direction != dir ||
            sb.inverted != inv ||
            sb.alpha != alpha ||
            sb.ForegroundScaleSize.x != foregroundSize.x ||
            sb.ForegroundScaleSize.y != foregroundSize.y ||
            sb.ForegroundZDepth != ForegroundZDepth ||
            sb.ProgressBackground != ProgressBackground)
        {
            NGUIEditorTools.RegisterUndo("Scroll Bar Change", sb);
            sb.scrollValue         = val;
            sb.barSize             = size;
            sb.inverted            = inv;
            sb.background          = bg;
            sb.foreground          = fg;
            sb.direction           = dir;
            sb.alpha               = alpha;
            sb.ForegroundScaleSize = foregroundSize;
            sb.ForegroundZDepth    = ForegroundZDepth;
            sb.ProgressBackground  = ProgressBackground;
            UnityEditor.EditorUtility.SetDirty(sb);
        }
    }
コード例 #11
0
 public UIScrollBar()
 {
     this.mSize = 1f;
     this.mDir  = UIScrollBar.Direction.Upgraded;
     base..ctor();
 }
コード例 #12
0
ファイル: UIScrollBar.cs プロジェクト: floatyears/Decrypt
 protected override void Upgrade()
 {
     if (this.mDir != UIScrollBar.Direction.Upgraded)
     {
         this.mValue = this.mScroll;
         if (this.mDir == UIScrollBar.Direction.Horizontal)
         {
             this.mFill = ((!this.mInverted) ? UIProgressBar.FillDirection.LeftToRight : UIProgressBar.FillDirection.RightToLeft);
         }
         else
         {
             this.mFill = ((!this.mInverted) ? UIProgressBar.FillDirection.TopToBottom : UIProgressBar.FillDirection.BottomToTop);
         }
         this.mDir = UIScrollBar.Direction.Upgraded;
     }
 }