static public int constructor(IntPtr l) { try { #if DEBUG var method = System.Reflection.MethodBase.GetCurrentMethod(); string methodName = GetMethodName(method); #if UNITY_5_5_OR_NEWER UnityEngine.Profiling.Profiler.BeginSample(methodName); #else Profiler.BeginSample(methodName); #endif #endif UnityEngine.Resources o; o = new UnityEngine.Resources(); pushValue(l, true); pushValue(l, o); return(2); } catch (Exception e) { return(error(l, e)); } #if DEBUG finally { #if UNITY_5_5_OR_NEWER UnityEngine.Profiling.Profiler.EndSample(); #else Profiler.EndSample(); #endif } #endif }
/// <inheritdoc cref="UnityResources.UnloadUnusedAssets()"/> public static AsyncOperation UnloadUnusedAssets() { AsyncOperation operation = UnityResources.UnloadUnusedAssets(); operation.completed += unloadCacheAsync; return(operation); }
private void EnsureMappingsExist() { if (xnaBundles == null && !Game.IsDummy) { string streamingAssetsPath; if (PlatformInstances.IsEditor) { streamingAssetsPath = string.Format("file://{0}/", Application.streamingAssetsPath); } else #if U_WINDOWS || U_PS4 { streamingAssetsPath = string.Format("file://{0}/", Application.streamingAssetsPath); } #else { streamingAssetsPath = string.Format("{0}/", Application.streamingAssetsPath); } #endif Log.WriteT("Initializing Mapped Content..."); xnaBundles = new BundleManager(streamingAssetsPath, new StringReader(UResources.Load <TextAsset>("AssetBundleMappings").text), true); streams = new StreamedContentManager(streamingAssetsPath, new StringReader(UResources.Load <TextAsset>("StreamedMappings").text)); Log.WriteT("Mapped Content Initialized"); } }
/// <summary> /// 加载子弹型npc /// </summary> /// <returns>The bullet npc.</returns> /// <param name="num">Number.</param> /// <param name="camp">Camp.</param> /// <param name="pos">Position.</param> /// <param name="rot">Rot.</param> public GameObject LoadBulletNpc(int num, CAMP camp, Vector3 pos, Quaternion rot) { if (NpcModel == null) { NpcModel = Core.Data.getIModelConfig <NPCModel>(); } NPCConfigData configData = NpcModel.get(num); #if DEBUG Utils.Assert(configData == null, "Virtual Npc load can't find npc configure. NPC id = " + num); #endif string path = SPath.Combine(ResourceSetting.PACKROOT, NPC); path = SPath.Combine(path, "ServerBulletNpc"); UObj obj = URes.Load(path); GameObject go = GameObject.Instantiate(obj) as GameObject; go.transform.position = pos; go.transform.rotation = rot; ServerNPC npc = go.GetComponent <ServerNPC>(); if (npc != null) { DynamicDataInit(npc, configData, camp); } return(go); }
// Start is called before the first frame update public void Start() { _game = Manager.Instance.game; Assert.IsNotNull(_game); _clientInfo = Manager.Instance.clientInfo; Assert.IsNotNull(_clientInfo); Assert.IsNotNull(Manager.Instance.tablePositions); _radialBarGameStart = gameStartsRadialBar.GetComponent <QUI_Bar>(); buttonToken.SetActive(false); smallBlindToken.SetActive(false); bigBlindToken.SetActive(false); foreach (TablePosition t in Manager.Instance.tablePositions) { t.nameText.SetText(""); t.stackText.SetText(""); t.radialBar.gameObject.SetActive(false); } cardBlankPrefab = (GameObject)Resources.Load(Cards.BlankCard()); if (cardBlankPrefab == null) { throw new FileNotFoundException(Cards.BlankCard() + " no file found - please check the configuration"); } }
public static ProgressBar Show(string bgPath, string fgPath, Action onFinished = null, Image.FillMethod fillMethod = Image.FillMethod.Horizontal, bool leftFill = true) { if (barGo != null) { GameObject.DestroyImmediate(barGo); } barGo = null; curProgressBar = null; var tempGo = Instantiate(ResourceManager.LoadGameObjectAssets(PrefabResourceName)); barGo = tempGo; GameObject.DontDestroyOnLoad(barGo); curProgressBar = tempGo.GetComponent <ProgressBar>(); curProgressBar.onFinish = onFinished; curProgressBar.progressBg.sprite = UR.Load <Sprite>(bgPath) as Sprite; curProgressBar.progressBg.SetNativeSize(); curProgressBar.progress.sprite = UR.Load <Sprite>(fgPath) as Sprite; curProgressBar.progress.SetNativeSize(); curProgressBar.progress.type = Image.Type.Filled; curProgressBar.progress.fillMethod = fillMethod; curProgressBar.progress.fillOrigin = leftFill ? 0 : 1; curProgressBar.progress.fillAmount = 0; return(curProgressBar); }
static public int constructor(IntPtr l) { UnityEngine.Resources o; o = new UnityEngine.Resources(); pushObject(l, o); return(1); }
/// <summary> /// 清空资源 /// </summary> /// <param name="gc">If set to <c>true</c> gc.</param> public void ClearCache(bool gc) { lstRefAsset = new LRUCache <string, UObj>(MAX_CAPACITY, MAX_CAPACITY); unUsedUObj = 0; if (gc) { URes.UnloadUnusedAssets(); } }
private UObject NativeLoad(string fileName, Type type) { UObject res = UResources.Load(UnityResourcePath(fileName), type); if (res == null) { throw new ContentLoadException("Failed to load " + fileName + " as " + type); } return(res); }
public static string ReadTextFile(string assetName) { TextAsset textasset = UResources.Load(assetName, typeof(TextAsset)) as TextAsset; if (textasset == null) { throw new ContentLoadException("Failed to load " + assetName + " as " + typeof(TextAsset)); } return(textasset.text); }
void CloseAllWindows() { foreach (var window in Resources.FindObjectsOfTypeAll <ContentWindow>()) { if (window && null != window) { window.Close(); } } }
public ItemController Create(RavenNest.Models.Item item, bool useMalePrefab) { definition = item; gameObject.name = item.Name; transform.localPosition = Vector3.zero; transform.localRotation = Quaternion.identity; Id = item.Id; Name = item.Name; Level = item.Level; WeaponAim = item.WeaponAim; WeaponPower = item.WeaponPower; ArmorPower = item.ArmorPower; RequiredAttackLevel = item.RequiredAttackLevel; RequiredDefenseLevel = item.RequiredDefenseLevel; Category = item.Category; Type = item.Type; Material = item.Material; FemaleModelID = item.FemaleModelId; MaleModelID = item.MaleModelId; GenericPrefabPath = item.GenericPrefab; MalePrefabPath = item.MalePrefab; FemalePrefabPath = item.FemalePrefab; IsGenericModel = item.IsGenericModel.GetValueOrDefault(); if (!prefab) { var path = IsGenericModel ? GenericPrefabPath : useMalePrefab ? MalePrefabPath : FemalePrefabPath; if (string.IsNullOrEmpty(path)) { return(this); } prefab = Resources.Load <GameObject>(path); if (!prefab) { //Debug.LogError(this.name + " failed to load prefab: " + path); return(this); } model = Instantiate(prefab, transform) as GameObject; } return(this); }
} // end read // Read from the file and store the data public void Read_From_Resource(string _fileName) { Object obj = UR.Load <Object>(_fileName); if (debug) { Debug.Log("IniFile Read File from Resource:\n" + obj); } Read_From_String(obj.ToString()); } // end read
public static Stream ReadBytesFileToStream(string fileName) { fileName = fileName.ToLower().Replace("\\", "/"); TextAsset binData = UResources.Load(fileName, typeof(TextAsset)) as TextAsset; if (binData == null) { throw new ContentLoadException("Failed to load " + fileName + " as " + typeof(TextAsset)); } return(new MemoryStream(binData.bytes)); }
//异步加载Resource目录上的东西 IEnumerator Async(string filename, Action <UObj, string> finished) { ResourceRequest request = URes.LoadAsync(filename); yield return(request); if (finished != null) { finished(request.asset, filename); } }
private GameObject CreateInstance(string asset, Transform bone) { var model = Resources.Load(asset); if (!model) { Debug.LogError("Failed to load " + asset); return(null); } return(Instantiate(model, bone) as GameObject); }
public void Create(RavenNest.Models.Item item, bool useMalePrefab) { this.definition = item; this.gameObject.name = item.Name; this.transform.localPosition = Vector3.zero; this.transform.localRotation = Quaternion.identity; this.Id = item.Id; this.Name = item.Name; this.Level = item.Level; this.WeaponAim = item.WeaponAim; this.WeaponPower = item.WeaponPower; this.ArmorPower = item.ArmorPower; this.RequiredAttackLevel = item.RequiredAttackLevel; this.RequiredDefenseLevel = item.RequiredDefenseLevel; this.Category = item.Category; this.Type = item.Type; this.Material = item.Material; this.FemaleModelID = item.FemaleModelId; this.MaleModelID = item.MaleModelId; this.GenericPrefabPath = item.GenericPrefab; this.MalePrefabPath = item.MalePrefab; this.FemalePrefabPath = item.FemalePrefab; this.IsGenericModel = item.IsGenericModel.GetValueOrDefault(); if (!prefab) { var path = IsGenericModel ? this.GenericPrefabPath : useMalePrefab ? this.MalePrefabPath : this.FemalePrefabPath; if (string.IsNullOrEmpty(path)) { return; } this.prefab = Resources.Load <GameObject>(path); if (!prefab) { //Debug.LogError(this.name + " failed to load prefab: " + path); return; } this.model = Instantiate(prefab, this.transform) as GameObject; } }
static public int constructor(IntPtr l) { try { UnityEngine.Resources o; o = new UnityEngine.Resources(); pushValue(l, o); return(1); } catch (Exception e) { return(error(l, e)); } }
UObj RefResource(string filename) { UObj obj = lstRefAsset.Get(filename); if (obj == null) { obj = URes.Load(filename); //加入引用列表的同时,释放资源 releaseRes(lstRefAsset.Add(filename, obj)); } return(obj); }
static public int constructor(IntPtr l) { try { UnityEngine.Resources o; o=new UnityEngine.Resources(); pushValue(l,true); pushValue(l,o); return 2; } catch(Exception e) { return error(l,e); } }
public IEnumerator ContentProvider_WhenGivenNullContent_Exits() { var content = new NullContent(); LogAssert.Expect(LogType.Error, "SelectionUtilityTests.NullContent: Releasing content named 'Null' because it returned null value."); SelectionUtility.ShowInWindow(content); for (var i = 0; i < 10; ++i) { yield return(null); } Assert.That(Resources.FindObjectsOfTypeAll <ContentWindow>().Any(), Is.False); }
public IEnumerator ContentProvider_WhenContentThrows_Exits() { var content = new ExceptionContent(); LogAssert.Expect(LogType.Error, "SelectionUtilityTests.ExceptionContent: Releasing content named 'Exception' because it threw an exception."); LogAssert.Expect(LogType.Exception, "Exception: Why are you doing this?"); SelectionUtility.ShowInWindow(content); for (var i = 0; i < 10; ++i) { yield return(null); } Assert.That(Resources.FindObjectsOfTypeAll <ContentWindow>().Any(), Is.False); }
public static int constructor(IntPtr l) { try { UnityEngine.Resources o; o=new UnityEngine.Resources(); pushValue(l,o); return 1; } catch(Exception e) { LuaDLL.luaL_error(l, e.ToString()); return 0; } }
static public int constructor(IntPtr l) { LuaDLL.lua_remove(l, 1); UnityEngine.Resources o; if (matchType(l, 1)) { o = new UnityEngine.Resources(); pushObject(l, o); return(1); } LuaDLL.luaL_error(l, "New object failed."); return(0); }
void releaseRes(KeyValuePair <string, UObj>[] toBeRm) { if (toBeRm != null) { unUsedUObj += toBeRm.Length; if (unUsedUObj >= MAX_UNUSED_OBJ) { URes.UnloadUnusedAssets(); } unUsedUObj = 0; } toBeRm = null; }
static public int constructor(IntPtr l) { try { UnityEngine.Resources o; o = new UnityEngine.Resources(); pushValue(l, o); return(1); } catch (Exception e) { LuaDLL.luaL_error(l, e.ToString()); return(0); } }
// // Debug Only public static GameObject Load(string name) { if (string.IsNullOrEmpty(name)) { return(null); } string path = Path.Combine(ResourceSetting.WAR_EFFECT, name); path = Path.Combine(ResourceSetting.UNPACKROOT, path); return(URes.Load(path) as GameObject); }
public ExternalBehavior load(string name, bool cached = true) { strBld.Remove(0, strBld.Length); strBld.Append(AI_PATH); strBld.Append(name); Object obj = URes.Load(strBld.ToString()); if (obj != null) { return((ExternalBehavior)obj); } ConsoleEx.DebugWarning("not find ai tree in path :: " + strBld.ToString()); return(null); }
public Fireball(GameObject prefab) : base(prefab) { AbilityName = "Fireball"; Description = "A 'fire' ball."; Animation = new SpellAnimations.Fireball(); CanSplash = true; DamagePerHit = 150.0f; ShotsPerMinute = 60; MaxUpwardAngleCorrection = 3.0f; TowerShotRange = 50.0f; IconTex = Resources.Load <Texture2D>("Images/Spells/Fireball"); SpellTowerTurretOffset = Vector3.zero; Price = 250; }
public IEnumerator ShowingContent_InInspectorWindow_CanControlLifecycle() { Selection.activeObject = null; yield return(null); var content = new LifecycleContent(); content.Status = ContentStatus.ContentNotReady; SelectionUtility.ShowInInspector(content); for (var i = 0; i < 10; ++i) { yield return(null); } var editor = Resources.FindObjectsOfTypeAll <InspectorContentEditor>().FirstOrDefault(); Assert.That(editor && null != editor, Is.EqualTo(true)); var element = editor.Target.Root.Q <Element <LifecycleContent> >(); Assert.That(element, Is.Null); yield return(null); element = editor.Target.Root.Q <Element <LifecycleContent> >(); Assert.That(element, Is.Null); content.Status = ContentStatus.ContentReady; for (var i = 0; i < 10; ++i) { yield return(null); } element = editor.Target.Root.Q <Element <LifecycleContent> >(); Assert.That(element, Is.Not.Null); content.Status = ContentStatus.ContentNotReady; for (var i = 0; i < 10; ++i) { yield return(null); } element = editor.Target.Root.Q <Element <LifecycleContent> >(); Assert.That(element, Is.Null); content.Status = ContentStatus.ContentUnavailable; for (var i = 0; i < 10; ++i) { yield return(null); } Assert.That(editor && null != editor, Is.EqualTo(false)); }
private System.Collections.IEnumerator setAllowChange() { foreach (UiText txt in Res.FindObjectsOfTypeAll <UiText>()) { if (!txt.gameObject.activeSelf) { txt.gameObject.SetActive(true); System.Array.Resize(ref this.blink, this.blink.Length + 1); this.blink[this.blink.Length - 1] = txt; } } yield return(new UnityEngine.WaitForSeconds(1)); this.allowChange = true; }
public static void DisplayVRSubtitle(string text, Color textColor, Color outlineColor, Action <Action> onDestroy) { if (text.IsNullOrWhiteSpace()) { return; } InitGUI(); Font fontFace = (Font)Resources.GetBuiltinResource(typeof(Font), "Arial.ttf"); int fsize = -5; fsize = (int)(fsize < 0 ? (fsize * (Screen.height) / -100.0) : fsize); GameObject subtitle = new GameObject("SubtitleText"); subtitle.transform.SetParent(Pane.transform, false); var rect = subtitle.GetOrAddComponent <RectTransform>(); rect.pivot = new Vector2(0.5f, 0); rect.sizeDelta = new Vector2(Screen.width * .5f * 0.990f, fsize + (fsize * 0.05f)); var subtitleText = subtitle.GetOrAddComponent <Text>(); subtitleText.font = fontFace; subtitleText.fontSize = fsize; subtitleText.fontStyle = fontFace.dynamic ? UnityEngine.FontStyle.Bold : UnityEngine.FontStyle.Normal; subtitleText.alignment = TextAnchor.LowerCenter; subtitleText.horizontalOverflow = HorizontalWrapMode.Wrap; subtitleText.verticalOverflow = VerticalWrapMode.Overflow; subtitleText.color = textColor; var effectDistance = new Vector2(1.5f, -1.5f); var subOutline = subtitle.GetOrAddComponent <Outline>(); subOutline.effectColor = outlineColor; subOutline.effectDistance = effectDistance; var subShadow = subtitle.GetOrAddComponent <Shadow>(); subShadow.effectColor = outlineColor; subShadow.effectDistance = effectDistance; subtitleText.text = text; VRLog.Info(text); onDestroy(() => VRPlugin.Destroy(subtitle)); }
// Actual controls public static GameObject CreatePanel(Resources resources) { GameObject panelRoot = CreateUIElementRoot("Panel", s_ThickElementSize); // Set RectTransform to stretch RectTransform rectTransform = panelRoot.GetComponent<RectTransform>(); rectTransform.anchorMin = Vector2.zero; rectTransform.anchorMax = Vector2.one; rectTransform.anchoredPosition = Vector2.zero; rectTransform.sizeDelta = Vector2.zero; Image image = panelRoot.AddComponent<Image>(); image.sprite = resources.background; image.type = Image.Type.Sliced; image.color = s_PanelColor; return panelRoot; }
public static GameObject CreateButton(Resources resources) { GameObject parent = CreateUIElementRoot("Button", s_ThickElementSize); GameObject child = new GameObject("Text"); SetParentAndAlign(child, parent); Image image = parent.AddComponent<Image>(); image.sprite = resources.standard; image.type = Image.Type.Sliced; image.color = s_DefaultSelectableColor; SetDefaultColorTransitionValues(parent.AddComponent<Button>()); Text lbl = child.AddComponent<Text>(); lbl.text = "Button"; lbl.alignment = TextAnchor.MiddleCenter; SetDefaultTextValues(lbl); RectTransform component = child.GetComponent<RectTransform>(); component.anchorMin = Vector2.zero; component.anchorMax = Vector2.one; component.sizeDelta = Vector2.zero; return parent; }
public static GameObject CreateRawImage(Resources resources) { GameObject obj2 = CreateUIElementRoot("RawImage", s_ImageElementSize); obj2.AddComponent<RawImage>(); return obj2; }
public static GameObject CreateScrollView(Resources resources) { GameObject root = CreateUIElementRoot("Scroll View", new Vector2(200, 200)); GameObject viewport = CreateUIObject("Viewport", root); GameObject content = CreateUIObject("Content", viewport); // Sub controls. GameObject hScrollbar = CreateScrollbar(resources); hScrollbar.name = "Scrollbar Horizontal"; SetParentAndAlign(hScrollbar, root); RectTransform hScrollbarRT = hScrollbar.GetComponent<RectTransform>(); hScrollbarRT.anchorMin = Vector2.zero; hScrollbarRT.anchorMax = Vector2.right; hScrollbarRT.pivot = Vector2.zero; hScrollbarRT.sizeDelta = new Vector2(0, hScrollbarRT.sizeDelta.y); GameObject vScrollbar = CreateScrollbar(resources); vScrollbar.name = "Scrollbar Vertical"; SetParentAndAlign(vScrollbar, root); vScrollbar.GetComponent<Scrollbar>().SetDirection(Scrollbar.Direction.BottomToTop, true); RectTransform vScrollbarRT = vScrollbar.GetComponent<RectTransform>(); vScrollbarRT.anchorMin = Vector2.right; vScrollbarRT.anchorMax = Vector2.one; vScrollbarRT.pivot = Vector2.one; vScrollbarRT.sizeDelta = new Vector2(vScrollbarRT.sizeDelta.x, 0); // Setup RectTransforms. // Make viewport fill entire scroll view. RectTransform viewportRT = viewport.GetComponent<RectTransform>(); viewportRT.anchorMin = Vector2.zero; viewportRT.anchorMax = Vector2.one; viewportRT.sizeDelta = Vector2.zero; viewportRT.pivot = Vector2.up; // Make context match viewpoprt width and be somewhat taller. // This will show the vertical scrollbar and not the horizontal one. RectTransform contentRT = content.GetComponent<RectTransform>(); contentRT.anchorMin = Vector2.up; contentRT.anchorMax = Vector2.one; contentRT.sizeDelta = new Vector2(0, 300); contentRT.pivot = Vector2.up; // Setup UI components. ScrollRect scrollRect = root.AddComponent<ScrollRect>(); scrollRect.content = contentRT; scrollRect.viewport = viewportRT; scrollRect.horizontalScrollbar = hScrollbar.GetComponent<Scrollbar>(); scrollRect.verticalScrollbar = vScrollbar.GetComponent<Scrollbar>(); scrollRect.horizontalScrollbarVisibility = ScrollRect.ScrollbarVisibility.AutoHideAndExpandViewport; scrollRect.verticalScrollbarVisibility = ScrollRect.ScrollbarVisibility.AutoHideAndExpandViewport; scrollRect.horizontalScrollbarSpacing = -3; scrollRect.verticalScrollbarSpacing = -3; Image rootImage = root.AddComponent<Image>(); rootImage.sprite = resources.background; rootImage.type = Image.Type.Sliced; rootImage.color = s_PanelColor; Mask viewportMask = viewport.AddComponent<Mask>(); viewportMask.showMaskGraphic = false; Image viewportImage = viewport.AddComponent<Image>(); viewportImage.sprite = resources.mask; viewportImage.type = Image.Type.Sliced; return root; }
public static GameObject CreateButton(Resources resources) { GameObject buttonRoot = CreateUIElementRoot("Button", s_ThickElementSize); GameObject childText = new GameObject("Text"); SetParentAndAlign(childText, buttonRoot); Image image = buttonRoot.AddComponent<Image>(); image.sprite = resources.standard; image.type = Image.Type.Sliced; image.color = s_DefaultSelectableColor; Button bt = buttonRoot.AddComponent<Button>(); SetDefaultColorTransitionValues(bt); Text text = childText.AddComponent<Text>(); text.text = "Button"; text.alignment = TextAnchor.MiddleCenter; SetDefaultTextValues(text); RectTransform textRectTransform = childText.GetComponent<RectTransform>(); textRectTransform.anchorMin = Vector2.zero; textRectTransform.anchorMax = Vector2.one; textRectTransform.sizeDelta = Vector2.zero; return buttonRoot; }
public static GameObject CreateImage(Resources resources) { GameObject go = CreateUIElementRoot("Image", s_ImageElementSize); go.AddComponent<Image>(); return go; }
public static GameObject CreateInputField(Resources resources) { GameObject root = CreateUIElementRoot("TextMeshPro - InputField", s_ThickElementSize); GameObject textArea = CreateUIObject("Text Area", root); GameObject childPlaceholder = CreateUIObject("Placeholder", textArea); GameObject childText = CreateUIObject("Text", textArea); Image image = root.AddComponent<Image>(); image.sprite = resources.inputField; image.type = Image.Type.Sliced; image.color = s_DefaultSelectableColor; TMP_InputField inputField = root.AddComponent<TMP_InputField>(); SetDefaultColorTransitionValues(inputField); // Use UI.Mask for Unity 5.0 - 5.1 and 2D RectMask for Unity 5.2 and up textArea.AddComponent<RectMask2D>(); RectTransform textAreaRectTransform = textArea.GetComponent<RectTransform>(); textAreaRectTransform.anchorMin = Vector2.zero; textAreaRectTransform.anchorMax = Vector2.one; textAreaRectTransform.sizeDelta = Vector2.zero; textAreaRectTransform.offsetMin = new Vector2(10, 6); textAreaRectTransform.offsetMax = new Vector2(-10, -7); TextMeshProUGUI text = childText.AddComponent<TextMeshProUGUI>(); text.text = ""; text.enableWordWrapping = false; text.extraPadding = true; text.richText = true; SetDefaultTextValues(text); TextMeshProUGUI placeholder = childPlaceholder.AddComponent<TextMeshProUGUI>(); placeholder.text = "Enter text..."; placeholder.fontSize = 14; placeholder.fontStyle = FontStyles.Italic; placeholder.enableWordWrapping = false; placeholder.extraPadding = true; // Make placeholder color half as opaque as normal text color. Color placeholderColor = text.color; placeholderColor.a *= 0.5f; placeholder.color = placeholderColor; RectTransform textRectTransform = childText.GetComponent<RectTransform>(); textRectTransform.anchorMin = Vector2.zero; textRectTransform.anchorMax = Vector2.one; textRectTransform.sizeDelta = Vector2.zero; textRectTransform.offsetMin = new Vector2(0, 0); textRectTransform.offsetMax = new Vector2(0, 0); RectTransform placeholderRectTransform = childPlaceholder.GetComponent<RectTransform>(); placeholderRectTransform.anchorMin = Vector2.zero; placeholderRectTransform.anchorMax = Vector2.one; placeholderRectTransform.sizeDelta = Vector2.zero; placeholderRectTransform.offsetMin = new Vector2(0, 0); placeholderRectTransform.offsetMax = new Vector2(0, 0); inputField.textViewport = textAreaRectTransform; inputField.textComponent = text; inputField.placeholder = placeholder; return root; }
public static GameObject CreateDropdown(Resources resources) { GameObject parent = CreateUIElementRoot("Dropdown", s_ThickElementSize); GameObject obj3 = CreateUIObject("Label", parent); GameObject obj4 = CreateUIObject("Arrow", parent); GameObject obj5 = CreateUIObject("Template", parent); GameObject obj6 = CreateUIObject("Viewport", obj5); GameObject obj7 = CreateUIObject("Content", obj6); GameObject obj8 = CreateUIObject("Item", obj7); GameObject obj9 = CreateUIObject("Item Background", obj8); GameObject obj10 = CreateUIObject("Item Checkmark", obj8); GameObject obj11 = CreateUIObject("Item Label", obj8); GameObject child = CreateScrollbar(resources); child.name = "Scrollbar"; SetParentAndAlign(child, obj5); Scrollbar component = child.GetComponent<Scrollbar>(); component.SetDirection(Scrollbar.Direction.BottomToTop, true); RectTransform transform = child.GetComponent<RectTransform>(); transform.anchorMin = Vector2.right; transform.anchorMax = Vector2.one; transform.pivot = Vector2.one; transform.sizeDelta = new Vector2(transform.sizeDelta.x, 0f); Text lbl = obj11.AddComponent<Text>(); SetDefaultTextValues(lbl); lbl.alignment = TextAnchor.MiddleLeft; Image image = obj9.AddComponent<Image>(); image.color = (Color) new Color32(0xf5, 0xf5, 0xf5, 0xff); Image image2 = obj10.AddComponent<Image>(); image2.sprite = resources.checkmark; Toggle toggle = obj8.AddComponent<Toggle>(); toggle.targetGraphic = image; toggle.graphic = image2; toggle.isOn = true; Image image3 = obj5.AddComponent<Image>(); image3.sprite = resources.standard; image3.type = Image.Type.Sliced; ScrollRect rect = obj5.AddComponent<ScrollRect>(); rect.content = (RectTransform) obj7.transform; rect.viewport = (RectTransform) obj6.transform; rect.horizontal = false; rect.movementType = ScrollRect.MovementType.Clamped; rect.verticalScrollbar = component; rect.verticalScrollbarVisibility = ScrollRect.ScrollbarVisibility.AutoHideAndExpandViewport; rect.verticalScrollbarSpacing = -3f; obj6.AddComponent<Mask>().showMaskGraphic = false; Image image4 = obj6.AddComponent<Image>(); image4.sprite = resources.mask; image4.type = Image.Type.Sliced; Text text2 = obj3.AddComponent<Text>(); SetDefaultTextValues(text2); text2.alignment = TextAnchor.MiddleLeft; obj4.AddComponent<Image>().sprite = resources.dropdown; Image image6 = parent.AddComponent<Image>(); image6.sprite = resources.standard; image6.color = s_DefaultSelectableColor; image6.type = Image.Type.Sliced; Dropdown slider = parent.AddComponent<Dropdown>(); slider.targetGraphic = image6; SetDefaultColorTransitionValues(slider); slider.template = obj5.GetComponent<RectTransform>(); slider.captionText = text2; slider.itemText = lbl; lbl.text = "Option A"; Dropdown.OptionData item = new Dropdown.OptionData { text = "Option A" }; slider.options.Add(item); item = new Dropdown.OptionData { text = "Option B" }; slider.options.Add(item); item = new Dropdown.OptionData { text = "Option C" }; slider.options.Add(item); slider.RefreshShownValue(); RectTransform transform2 = obj3.GetComponent<RectTransform>(); transform2.anchorMin = Vector2.zero; transform2.anchorMax = Vector2.one; transform2.offsetMin = new Vector2(10f, 6f); transform2.offsetMax = new Vector2(-25f, -7f); RectTransform transform3 = obj4.GetComponent<RectTransform>(); transform3.anchorMin = new Vector2(1f, 0.5f); transform3.anchorMax = new Vector2(1f, 0.5f); transform3.sizeDelta = new Vector2(20f, 20f); transform3.anchoredPosition = new Vector2(-15f, 0f); RectTransform transform4 = obj5.GetComponent<RectTransform>(); transform4.anchorMin = new Vector2(0f, 0f); transform4.anchorMax = new Vector2(1f, 0f); transform4.pivot = new Vector2(0.5f, 1f); transform4.anchoredPosition = new Vector2(0f, 2f); transform4.sizeDelta = new Vector2(0f, 150f); RectTransform transform5 = obj6.GetComponent<RectTransform>(); transform5.anchorMin = new Vector2(0f, 0f); transform5.anchorMax = new Vector2(1f, 1f); transform5.sizeDelta = new Vector2(-18f, 0f); transform5.pivot = new Vector2(0f, 1f); RectTransform transform6 = obj7.GetComponent<RectTransform>(); transform6.anchorMin = new Vector2(0f, 1f); transform6.anchorMax = new Vector2(1f, 1f); transform6.pivot = new Vector2(0.5f, 1f); transform6.anchoredPosition = new Vector2(0f, 0f); transform6.sizeDelta = new Vector2(0f, 28f); RectTransform transform7 = obj8.GetComponent<RectTransform>(); transform7.anchorMin = new Vector2(0f, 0.5f); transform7.anchorMax = new Vector2(1f, 0.5f); transform7.sizeDelta = new Vector2(0f, 20f); RectTransform transform8 = obj9.GetComponent<RectTransform>(); transform8.anchorMin = Vector2.zero; transform8.anchorMax = Vector2.one; transform8.sizeDelta = Vector2.zero; RectTransform transform9 = obj10.GetComponent<RectTransform>(); transform9.anchorMin = new Vector2(0f, 0.5f); transform9.anchorMax = new Vector2(0f, 0.5f); transform9.sizeDelta = new Vector2(20f, 20f); transform9.anchoredPosition = new Vector2(10f, 0f); RectTransform transform10 = obj11.GetComponent<RectTransform>(); transform10.anchorMin = Vector2.zero; transform10.anchorMax = Vector2.one; transform10.offsetMin = new Vector2(20f, 1f); transform10.offsetMax = new Vector2(-10f, -2f); obj5.SetActive(false); return parent; }
public static GameObject CreateText(Resources resources) { GameObject obj2 = CreateUIElementRoot("Text", s_ThickElementSize); Text lbl = obj2.AddComponent<Text>(); lbl.text = "New Text"; SetDefaultTextValues(lbl); return obj2; }
public static GameObject CreateInputField(Resources resources) { GameObject parent = CreateUIElementRoot("InputField", s_ThickElementSize); GameObject obj3 = CreateUIObject("Placeholder", parent); GameObject obj4 = CreateUIObject("Text", parent); Image image = parent.AddComponent<Image>(); image.sprite = resources.inputField; image.type = Image.Type.Sliced; image.color = s_DefaultSelectableColor; InputField slider = parent.AddComponent<InputField>(); SetDefaultColorTransitionValues(slider); Text lbl = obj4.AddComponent<Text>(); lbl.text = ""; lbl.supportRichText = false; SetDefaultTextValues(lbl); Text text2 = obj3.AddComponent<Text>(); text2.text = "Enter text..."; text2.fontStyle = FontStyle.Italic; Color color = lbl.color; color.a *= 0.5f; text2.color = color; RectTransform component = obj4.GetComponent<RectTransform>(); component.anchorMin = Vector2.zero; component.anchorMax = Vector2.one; component.sizeDelta = Vector2.zero; component.offsetMin = new Vector2(10f, 6f); component.offsetMax = new Vector2(-10f, -7f); RectTransform transform2 = obj3.GetComponent<RectTransform>(); transform2.anchorMin = Vector2.zero; transform2.anchorMax = Vector2.one; transform2.sizeDelta = Vector2.zero; transform2.offsetMin = new Vector2(10f, 6f); transform2.offsetMax = new Vector2(-10f, -7f); slider.textComponent = lbl; slider.placeholder = text2; return parent; }
public static GameObject CreatePanel(Resources resources) { GameObject obj2 = CreateUIElementRoot("Panel", s_ThickElementSize); RectTransform component = obj2.GetComponent<RectTransform>(); component.anchorMin = Vector2.zero; component.anchorMax = Vector2.one; component.anchoredPosition = Vector2.zero; component.sizeDelta = Vector2.zero; Image image = obj2.AddComponent<Image>(); image.sprite = resources.background; image.type = Image.Type.Sliced; image.color = s_PanelColor; return obj2; }
public static GameObject CreateScrollView(Resources resources) { GameObject parent = CreateUIElementRoot("Scroll View", new Vector2(200f, 200f)); GameObject obj3 = CreateUIObject("Viewport", parent); GameObject obj4 = CreateUIObject("Content", obj3); GameObject child = CreateScrollbar(resources); child.name = "Scrollbar Horizontal"; SetParentAndAlign(child, parent); RectTransform component = child.GetComponent<RectTransform>(); component.anchorMin = Vector2.zero; component.anchorMax = Vector2.right; component.pivot = Vector2.zero; component.sizeDelta = new Vector2(0f, component.sizeDelta.y); GameObject obj6 = CreateScrollbar(resources); obj6.name = "Scrollbar Vertical"; SetParentAndAlign(obj6, parent); obj6.GetComponent<Scrollbar>().SetDirection(Scrollbar.Direction.BottomToTop, true); RectTransform transform2 = obj6.GetComponent<RectTransform>(); transform2.anchorMin = Vector2.right; transform2.anchorMax = Vector2.one; transform2.pivot = Vector2.one; transform2.sizeDelta = new Vector2(transform2.sizeDelta.x, 0f); RectTransform transform3 = obj3.GetComponent<RectTransform>(); transform3.anchorMin = Vector2.zero; transform3.anchorMax = Vector2.one; transform3.sizeDelta = Vector2.zero; transform3.pivot = Vector2.up; RectTransform transform4 = obj4.GetComponent<RectTransform>(); transform4.anchorMin = Vector2.up; transform4.anchorMax = Vector2.one; transform4.sizeDelta = new Vector2(0f, 300f); transform4.pivot = Vector2.up; ScrollRect rect = parent.AddComponent<ScrollRect>(); rect.content = transform4; rect.viewport = transform3; rect.horizontalScrollbar = child.GetComponent<Scrollbar>(); rect.verticalScrollbar = obj6.GetComponent<Scrollbar>(); rect.horizontalScrollbarVisibility = ScrollRect.ScrollbarVisibility.AutoHideAndExpandViewport; rect.verticalScrollbarVisibility = ScrollRect.ScrollbarVisibility.AutoHideAndExpandViewport; rect.horizontalScrollbarSpacing = -3f; rect.verticalScrollbarSpacing = -3f; Image image = parent.AddComponent<Image>(); image.sprite = resources.background; image.type = Image.Type.Sliced; image.color = s_PanelColor; obj3.AddComponent<Mask>().showMaskGraphic = false; Image image2 = obj3.AddComponent<Image>(); image2.sprite = resources.mask; image2.type = Image.Type.Sliced; return parent; }
public static GameObject CreateScrollbar(Resources resources) { GameObject parent = CreateUIElementRoot("Scrollbar", s_ThinElementSize); GameObject obj3 = CreateUIObject("Sliding Area", parent); GameObject obj4 = CreateUIObject("Handle", obj3); Image image = parent.AddComponent<Image>(); image.sprite = resources.background; image.type = Image.Type.Sliced; image.color = s_DefaultSelectableColor; Image image2 = obj4.AddComponent<Image>(); image2.sprite = resources.standard; image2.type = Image.Type.Sliced; image2.color = s_DefaultSelectableColor; RectTransform component = obj3.GetComponent<RectTransform>(); component.sizeDelta = new Vector2(-20f, -20f); component.anchorMin = Vector2.zero; component.anchorMax = Vector2.one; RectTransform transform2 = obj4.GetComponent<RectTransform>(); transform2.sizeDelta = new Vector2(20f, 20f); Scrollbar slider = parent.AddComponent<Scrollbar>(); slider.handleRect = transform2; slider.targetGraphic = image2; SetDefaultColorTransitionValues(slider); return parent; }
public static GameObject CreateDropdown(Resources resources) { GameObject root = CreateUIElementRoot("Dropdown", s_ThickElementSize); GameObject label = CreateUIObject("Label", root); GameObject arrow = CreateUIObject("Arrow", root); GameObject template = CreateUIObject("Template", root); GameObject viewport = CreateUIObject("Viewport", template); GameObject content = CreateUIObject("Content", viewport); GameObject item = CreateUIObject("Item", content); GameObject itemBackground = CreateUIObject("Item Background", item); GameObject itemCheckmark = CreateUIObject("Item Checkmark", item); GameObject itemLabel = CreateUIObject("Item Label", item); // Sub controls. GameObject scrollbar = CreateScrollbar(resources); scrollbar.name = "Scrollbar"; SetParentAndAlign(scrollbar, template); Scrollbar scrollbarScrollbar = scrollbar.GetComponent<Scrollbar>(); scrollbarScrollbar.SetDirection(Scrollbar.Direction.BottomToTop, true); RectTransform vScrollbarRT = scrollbar.GetComponent<RectTransform>(); vScrollbarRT.anchorMin = Vector2.right; vScrollbarRT.anchorMax = Vector2.one; vScrollbarRT.pivot = Vector2.one; vScrollbarRT.sizeDelta = new Vector2(vScrollbarRT.sizeDelta.x, 0); // Setup item UI components. Text itemLabelText = itemLabel.AddComponent<Text>(); SetDefaultTextValues(itemLabelText); itemLabelText.alignment = TextAnchor.MiddleLeft; Image itemBackgroundImage = itemBackground.AddComponent<Image>(); itemBackgroundImage.color = new Color32(245, 245, 245, 255); Image itemCheckmarkImage = itemCheckmark.AddComponent<Image>(); itemCheckmarkImage.sprite = resources.checkmark; Toggle itemToggle = item.AddComponent<Toggle>(); itemToggle.targetGraphic = itemBackgroundImage; itemToggle.graphic = itemCheckmarkImage; itemToggle.isOn = true; // Setup template UI components. Image templateImage = template.AddComponent<Image>(); templateImage.sprite = resources.standard; templateImage.type = Image.Type.Sliced; ScrollRect templateScrollRect = template.AddComponent<ScrollRect>(); templateScrollRect.content = (RectTransform)content.transform; templateScrollRect.viewport = (RectTransform)viewport.transform; templateScrollRect.horizontal = false; templateScrollRect.movementType = ScrollRect.MovementType.Clamped; templateScrollRect.verticalScrollbar = scrollbarScrollbar; templateScrollRect.verticalScrollbarVisibility = ScrollRect.ScrollbarVisibility.AutoHideAndExpandViewport; templateScrollRect.verticalScrollbarSpacing = -3; Mask scrollRectMask = viewport.AddComponent<Mask>(); scrollRectMask.showMaskGraphic = false; Image viewportImage = viewport.AddComponent<Image>(); viewportImage.sprite = resources.mask; viewportImage.type = Image.Type.Sliced; // Setup dropdown UI components. Text labelText = label.AddComponent<Text>(); SetDefaultTextValues(labelText); labelText.alignment = TextAnchor.MiddleLeft; Image arrowImage = arrow.AddComponent<Image>(); arrowImage.sprite = resources.dropdown; Image backgroundImage = root.AddComponent<Image>(); backgroundImage.sprite = resources.standard; backgroundImage.color = s_DefaultSelectableColor; backgroundImage.type = Image.Type.Sliced; Dropdown dropdown = root.AddComponent<Dropdown>(); dropdown.targetGraphic = backgroundImage; SetDefaultColorTransitionValues(dropdown); dropdown.template = template.GetComponent<RectTransform>(); dropdown.captionText = labelText; dropdown.itemText = itemLabelText; // Setting default Item list. itemLabelText.text = "Option A"; dropdown.options.Add(new Dropdown.OptionData {text = "Option A"}); dropdown.options.Add(new Dropdown.OptionData {text = "Option B"}); dropdown.options.Add(new Dropdown.OptionData {text = "Option C"}); dropdown.RefreshShownValue(); // Set up RectTransforms. RectTransform labelRT = label.GetComponent<RectTransform>(); labelRT.anchorMin = Vector2.zero; labelRT.anchorMax = Vector2.one; labelRT.offsetMin = new Vector2(10, 6); labelRT.offsetMax = new Vector2(-25, -7); RectTransform arrowRT = arrow.GetComponent<RectTransform>(); arrowRT.anchorMin = new Vector2(1, 0.5f); arrowRT.anchorMax = new Vector2(1, 0.5f); arrowRT.sizeDelta = new Vector2(20, 20); arrowRT.anchoredPosition = new Vector2(-15, 0); RectTransform templateRT = template.GetComponent<RectTransform>(); templateRT.anchorMin = new Vector2(0, 0); templateRT.anchorMax = new Vector2(1, 0); templateRT.pivot = new Vector2(0.5f, 1); templateRT.anchoredPosition = new Vector2(0, 2); templateRT.sizeDelta = new Vector2(0, 150); RectTransform viewportRT = viewport.GetComponent<RectTransform>(); viewportRT.anchorMin = new Vector2(0, 0); viewportRT.anchorMax = new Vector2(1, 1); viewportRT.sizeDelta = new Vector2(-18, 0); viewportRT.pivot = new Vector2(0, 1); RectTransform contentRT = content.GetComponent<RectTransform>(); contentRT.anchorMin = new Vector2(0f, 1); contentRT.anchorMax = new Vector2(1f, 1); contentRT.pivot = new Vector2(0.5f, 1); contentRT.anchoredPosition = new Vector2(0, 0); contentRT.sizeDelta = new Vector2(0, 28); RectTransform itemRT = item.GetComponent<RectTransform>(); itemRT.anchorMin = new Vector2(0, 0.5f); itemRT.anchorMax = new Vector2(1, 0.5f); itemRT.sizeDelta = new Vector2(0, 20); RectTransform itemBackgroundRT = itemBackground.GetComponent<RectTransform>(); itemBackgroundRT.anchorMin = Vector2.zero; itemBackgroundRT.anchorMax = Vector2.one; itemBackgroundRT.sizeDelta = Vector2.zero; RectTransform itemCheckmarkRT = itemCheckmark.GetComponent<RectTransform>(); itemCheckmarkRT.anchorMin = new Vector2(0, 0.5f); itemCheckmarkRT.anchorMax = new Vector2(0, 0.5f); itemCheckmarkRT.sizeDelta = new Vector2(20, 20); itemCheckmarkRT.anchoredPosition = new Vector2(10, 0); RectTransform itemLabelRT = itemLabel.GetComponent<RectTransform>(); itemLabelRT.anchorMin = Vector2.zero; itemLabelRT.anchorMax = Vector2.one; itemLabelRT.offsetMin = new Vector2(20, 1); itemLabelRT.offsetMax = new Vector2(-10, -2); template.SetActive(false); return root; }
public static GameObject CreateSlider(Resources resources) { GameObject parent = CreateUIElementRoot("Slider", s_ThinElementSize); GameObject obj3 = CreateUIObject("Background", parent); GameObject obj4 = CreateUIObject("Fill Area", parent); GameObject obj5 = CreateUIObject("Fill", obj4); GameObject obj6 = CreateUIObject("Handle Slide Area", parent); GameObject obj7 = CreateUIObject("Handle", obj6); Image image = obj3.AddComponent<Image>(); image.sprite = resources.background; image.type = Image.Type.Sliced; image.color = s_DefaultSelectableColor; RectTransform component = obj3.GetComponent<RectTransform>(); component.anchorMin = new Vector2(0f, 0.25f); component.anchorMax = new Vector2(1f, 0.75f); component.sizeDelta = new Vector2(0f, 0f); RectTransform transform2 = obj4.GetComponent<RectTransform>(); transform2.anchorMin = new Vector2(0f, 0.25f); transform2.anchorMax = new Vector2(1f, 0.75f); transform2.anchoredPosition = new Vector2(-5f, 0f); transform2.sizeDelta = new Vector2(-20f, 0f); Image image2 = obj5.AddComponent<Image>(); image2.sprite = resources.standard; image2.type = Image.Type.Sliced; image2.color = s_DefaultSelectableColor; obj5.GetComponent<RectTransform>().sizeDelta = new Vector2(10f, 0f); RectTransform transform4 = obj6.GetComponent<RectTransform>(); transform4.sizeDelta = new Vector2(-20f, 0f); transform4.anchorMin = new Vector2(0f, 0f); transform4.anchorMax = new Vector2(1f, 1f); Image image3 = obj7.AddComponent<Image>(); image3.sprite = resources.knob; image3.color = s_DefaultSelectableColor; obj7.GetComponent<RectTransform>().sizeDelta = new Vector2(20f, 0f); Slider slider = parent.AddComponent<Slider>(); slider.fillRect = obj5.GetComponent<RectTransform>(); slider.handleRect = obj7.GetComponent<RectTransform>(); slider.targetGraphic = image3; slider.direction = Slider.Direction.LeftToRight; SetDefaultColorTransitionValues(slider); return parent; }
public static GameObject CreateInputField(Resources resources) { GameObject root = CreateUIElementRoot("InputField", s_ThickElementSize); GameObject childPlaceholder = CreateUIObject("Placeholder", root); GameObject childText = CreateUIObject("Text", root); Image image = root.AddComponent<Image>(); image.sprite = resources.inputField; image.type = Image.Type.Sliced; image.color = s_DefaultSelectableColor; InputField inputField = root.AddComponent<InputField>(); SetDefaultColorTransitionValues(inputField); Text text = childText.AddComponent<Text>(); text.text = ""; text.supportRichText = false; SetDefaultTextValues(text); Text placeholder = childPlaceholder.AddComponent<Text>(); placeholder.text = "Enter text..."; placeholder.fontStyle = FontStyle.Italic; // Make placeholder color half as opaque as normal text color. Color placeholderColor = text.color; placeholderColor.a *= 0.5f; placeholder.color = placeholderColor; RectTransform textRectTransform = childText.GetComponent<RectTransform>(); textRectTransform.anchorMin = Vector2.zero; textRectTransform.anchorMax = Vector2.one; textRectTransform.sizeDelta = Vector2.zero; textRectTransform.offsetMin = new Vector2(10, 6); textRectTransform.offsetMax = new Vector2(-10, -7); RectTransform placeholderRectTransform = childPlaceholder.GetComponent<RectTransform>(); placeholderRectTransform.anchorMin = Vector2.zero; placeholderRectTransform.anchorMax = Vector2.one; placeholderRectTransform.sizeDelta = Vector2.zero; placeholderRectTransform.offsetMin = new Vector2(10, 6); placeholderRectTransform.offsetMax = new Vector2(-10, -7); inputField.textComponent = text; inputField.placeholder = placeholder; return root; }
public static GameObject CreateToggle(Resources resources) { GameObject parent = CreateUIElementRoot("Toggle", s_ThinElementSize); GameObject obj3 = CreateUIObject("Background", parent); GameObject obj4 = CreateUIObject("Checkmark", obj3); GameObject obj5 = CreateUIObject("Label", parent); Toggle slider = parent.AddComponent<Toggle>(); slider.isOn = true; Image image = obj3.AddComponent<Image>(); image.sprite = resources.standard; image.type = Image.Type.Sliced; image.color = s_DefaultSelectableColor; Image image2 = obj4.AddComponent<Image>(); image2.sprite = resources.checkmark; Text lbl = obj5.AddComponent<Text>(); lbl.text = "Toggle"; SetDefaultTextValues(lbl); slider.graphic = image2; slider.targetGraphic = image; SetDefaultColorTransitionValues(slider); RectTransform component = obj3.GetComponent<RectTransform>(); component.anchorMin = new Vector2(0f, 1f); component.anchorMax = new Vector2(0f, 1f); component.anchoredPosition = new Vector2(10f, -10f); component.sizeDelta = new Vector2(20f, 20f); RectTransform transform2 = obj4.GetComponent<RectTransform>(); transform2.anchorMin = new Vector2(0.5f, 0.5f); transform2.anchorMax = new Vector2(0.5f, 0.5f); transform2.anchoredPosition = Vector2.zero; transform2.sizeDelta = new Vector2(20f, 20f); RectTransform transform3 = obj5.GetComponent<RectTransform>(); transform3.anchorMin = new Vector2(0f, 0f); transform3.anchorMax = new Vector2(1f, 1f); transform3.offsetMin = new Vector2(23f, 1f); transform3.offsetMax = new Vector2(-5f, -2f); return parent; }
public static GameObject CreateToggle(Resources resources) { // Set up hierarchy GameObject toggleRoot = CreateUIElementRoot("Toggle", s_ThinElementSize); GameObject background = CreateUIObject("Background", toggleRoot); GameObject checkmark = CreateUIObject("Checkmark", background); GameObject childLabel = CreateUIObject("Label", toggleRoot); // Set up components Toggle toggle = toggleRoot.AddComponent<Toggle>(); toggle.isOn = true; Image bgImage = background.AddComponent<Image>(); bgImage.sprite = resources.standard; bgImage.type = Image.Type.Sliced; bgImage.color = s_DefaultSelectableColor; Image checkmarkImage = checkmark.AddComponent<Image>(); checkmarkImage.sprite = resources.checkmark; Text label = childLabel.AddComponent<Text>(); label.text = "Toggle"; SetDefaultTextValues(label); toggle.graphic = checkmarkImage; toggle.targetGraphic = bgImage; SetDefaultColorTransitionValues(toggle); RectTransform bgRect = background.GetComponent<RectTransform>(); bgRect.anchorMin = new Vector2(0f, 1f); bgRect.anchorMax = new Vector2(0f, 1f); bgRect.anchoredPosition = new Vector2(10f, -10f); bgRect.sizeDelta = new Vector2(kThinHeight, kThinHeight); RectTransform checkmarkRect = checkmark.GetComponent<RectTransform>(); checkmarkRect.anchorMin = new Vector2(0.5f, 0.5f); checkmarkRect.anchorMax = new Vector2(0.5f, 0.5f); checkmarkRect.anchoredPosition = Vector2.zero; checkmarkRect.sizeDelta = new Vector2(20f, 20f); RectTransform labelRect = childLabel.GetComponent<RectTransform>(); labelRect.anchorMin = new Vector2(0f, 0f); labelRect.anchorMax = new Vector2(1f, 1f); labelRect.offsetMin = new Vector2(23f, 1f); labelRect.offsetMax = new Vector2(-5f, -2f); return toggleRoot; }
public static GameObject CreateSlider(Resources resources) { // Create GOs Hierarchy GameObject root = CreateUIElementRoot("Slider", s_ThinElementSize); GameObject background = CreateUIObject("Background", root); GameObject fillArea = CreateUIObject("Fill Area", root); GameObject fill = CreateUIObject("Fill", fillArea); GameObject handleArea = CreateUIObject("Handle Slide Area", root); GameObject handle = CreateUIObject("Handle", handleArea); // Background Image backgroundImage = background.AddComponent<Image>(); backgroundImage.sprite = resources.background; backgroundImage.type = Image.Type.Sliced; backgroundImage.color = s_DefaultSelectableColor; RectTransform backgroundRect = background.GetComponent<RectTransform>(); backgroundRect.anchorMin = new Vector2(0, 0.25f); backgroundRect.anchorMax = new Vector2(1, 0.75f); backgroundRect.sizeDelta = new Vector2(0, 0); // Fill Area RectTransform fillAreaRect = fillArea.GetComponent<RectTransform>(); fillAreaRect.anchorMin = new Vector2(0, 0.25f); fillAreaRect.anchorMax = new Vector2(1, 0.75f); fillAreaRect.anchoredPosition = new Vector2(-5, 0); fillAreaRect.sizeDelta = new Vector2(-20, 0); // Fill Image fillImage = fill.AddComponent<Image>(); fillImage.sprite = resources.standard; fillImage.type = Image.Type.Sliced; fillImage.color = s_DefaultSelectableColor; RectTransform fillRect = fill.GetComponent<RectTransform>(); fillRect.sizeDelta = new Vector2(10, 0); // Handle Area RectTransform handleAreaRect = handleArea.GetComponent<RectTransform>(); handleAreaRect.sizeDelta = new Vector2(-20, 0); handleAreaRect.anchorMin = new Vector2(0, 0); handleAreaRect.anchorMax = new Vector2(1, 1); // Handle Image handleImage = handle.AddComponent<Image>(); handleImage.sprite = resources.knob; handleImage.color = s_DefaultSelectableColor; RectTransform handleRect = handle.GetComponent<RectTransform>(); handleRect.sizeDelta = new Vector2(20, 0); // Setup slider component Slider slider = root.AddComponent<Slider>(); slider.fillRect = fill.GetComponent<RectTransform>(); slider.handleRect = handle.GetComponent<RectTransform>(); slider.targetGraphic = handleImage; slider.direction = Slider.Direction.LeftToRight; SetDefaultColorTransitionValues(slider); return root; }
public static GameObject CreateScrollbar(Resources resources) { // Create GOs Hierarchy GameObject scrollbarRoot = CreateUIElementRoot("Scrollbar", s_ThinElementSize); GameObject sliderArea = CreateUIObject("Sliding Area", scrollbarRoot); GameObject handle = CreateUIObject("Handle", sliderArea); Image bgImage = scrollbarRoot.AddComponent<Image>(); bgImage.sprite = resources.background; bgImage.type = Image.Type.Sliced; bgImage.color = s_DefaultSelectableColor; Image handleImage = handle.AddComponent<Image>(); handleImage.sprite = resources.standard; handleImage.type = Image.Type.Sliced; handleImage.color = s_DefaultSelectableColor; RectTransform sliderAreaRect = sliderArea.GetComponent<RectTransform>(); sliderAreaRect.sizeDelta = new Vector2(-20, -20); sliderAreaRect.anchorMin = Vector2.zero; sliderAreaRect.anchorMax = Vector2.one; RectTransform handleRect = handle.GetComponent<RectTransform>(); handleRect.sizeDelta = new Vector2(20, 20); Scrollbar scrollbar = scrollbarRoot.AddComponent<Scrollbar>(); scrollbar.handleRect = handleRect; scrollbar.targetGraphic = handleImage; SetDefaultColorTransitionValues(scrollbar); return scrollbarRoot; }