private void CreateRepeated(GameObject go) { if (NGUISettings.atlas != null) { NGUIEditorTools.DrawSpriteField("Icon", "Icon sprite to repeat", NGUISettings.atlas, sprite0, OnSprite0); bool withSlots = BoolField("With Slots", "", bool0, OnBool0); GUI.enabled = withSlots; NGUIEditorTools.DrawSpriteField("Slot", "Slot for icons", NGUISettings.atlas, sprite1, OnSprite1); GUI.enabled = true; GUILayout.BeginHorizontal(); int repeat = EditorGUILayout.IntField("Repeat Count", int0, GUILayout.Width(200f)); GUILayout.Space(20f); GUILayout.Label("How many times icon should repeated"); GUILayout.EndHorizontal(); if (repeat != int0) { int0 = repeat; Save(); Repaint(); } if (ShouldCreate(go, true)) { Vector3 delta = new Vector3(64, 0, 0); int depth = NGUITools.CalculateNextDepth(go); go = NGUITools.AddChild(go); go.name = "RepeatBar"; var bar = go.AddComponent<UIRepeatProgressBar>(); bar.icons = new UIRepeatProgressBar.Icon[repeat]; for (int i = 0; i < repeat; ++i) { var ic = new UIRepeatProgressBar.Icon(); bar.icons[i] = ic; var iconAnchor = NGUITools.AddChild(go); iconAnchor.name = "iconAnchor" + (i + 1); ic.anchor = iconAnchor.transform; ic.anchor.localPosition = delta * i; if (withSlots && sprite1 != null) { UISprite slot = NGUITools.AddWidget<UISprite>(iconAnchor); slot.type = UISprite.Type.Simple; slot.name = "slot"; slot.depth = depth + i * 2; slot.atlas = NGUISettings.atlas; slot.spriteName = sprite1; slot.MakePixelPerfect(); ic.slot = slot.transform; ic.slotScaleOrig = slot.transform.localScale; } UISprite icon = NGUITools.AddWidget<UISprite>(iconAnchor); icon.type = UISprite.Type.Filled; icon.fillDirection = UISprite.FillDirection.Horizontal; icon.name = "icon"; icon.depth = depth + i * 2 + 1; icon.atlas = NGUISettings.atlas; icon.spriteName = sprite0; icon.MakePixelPerfect(); ic.icon = icon.transform; ic.iconScaleOrig = icon.transform.localScale; } } } }
private void CreateRepeated(GameObject go) { if (NGUISettings.atlas != null) { NGUIEditorTools.DrawSpriteField("Icon", "Icon sprite to repeat", NGUISettings.atlas, sprite0, OnSprite0); bool withSlots = BoolField("With Slots", "", bool0, OnBool0); GUI.enabled = withSlots; NGUIEditorTools.DrawSpriteField("Slot", "Slot for icons", NGUISettings.atlas, sprite1, OnSprite1); GUI.enabled = true; GUILayout.BeginHorizontal(); int repeat = EditorGUILayout.IntField("Repeat Count", int0, GUILayout.Width(200f)); GUILayout.Space(20f); GUILayout.Label("How many times icon should repeated"); GUILayout.EndHorizontal(); if (repeat != int0) { int0 = repeat; Save(); Repaint(); } if (ShouldCreate(go, true)) { Vector3 delta = new Vector3(64, 0, 0); int depth = NGUITools.CalculateNextDepth(go); go = NGUITools.AddChild(go); go.name = "RepeatBar"; var bar = go.AddComponent <UIRepeatProgressBar>(); bar.icons = new UIRepeatProgressBar.Icon[repeat]; for (int i = 0; i < repeat; ++i) { var ic = new UIRepeatProgressBar.Icon(); bar.icons[i] = ic; var iconAnchor = NGUITools.AddChild(go); iconAnchor.name = "iconAnchor" + (i + 1); ic.anchor = iconAnchor.transform; ic.anchor.localPosition = delta * i; if (withSlots && sprite1 != null) { UISprite slot = NGUITools.AddWidget <UISprite>(iconAnchor); slot.type = UISprite.Type.Simple; slot.name = "slot"; slot.depth = depth + i * 2; slot.atlas = NGUISettings.atlas; slot.spriteName = sprite1; slot.MakePixelPerfect(); ic.slot = slot.transform; ic.slotScaleOrig = slot.transform.localScale; } UISprite icon = NGUITools.AddWidget <UISprite>(iconAnchor); icon.type = UISprite.Type.Filled; icon.fillDirection = UISprite.FillDirection.Horizontal; icon.name = "icon"; icon.depth = depth + i * 2 + 1; icon.atlas = NGUISettings.atlas; icon.spriteName = sprite0; icon.MakePixelPerfect(); ic.icon = icon.transform; ic.iconScaleOrig = icon.transform.localScale; } } } }