/// <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); }
/// <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; } }
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); }
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); }
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; } }
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(); }
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); } }
/// <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; } }
/// <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); }
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); } }
public UIScrollBar() { this.mSize = 1f; this.mDir = UIScrollBar.Direction.Upgraded; base..ctor(); }