public static GameObject CreateText(DefaultControls.Resources resources, int fontSize) { GameObject go = UGUITools.CreateUIElementRoot("Text", UGUITools.s_ThickElementSize); Text lbl = go.AddComponent <Text>(); lbl.text = "New Text"; lbl.fontSize = fontSize; lbl.raycastTarget = false; lbl.supportRichText = false; UGUITools.SetDefaultTextValues(lbl); return(go); }
/// <summary> /// Create Date Picker /// </summary> public static GameObject CreateDatePicker(Resources resources) { DefaultControls.Resources res = convertToDefaultResources(resources); // Create date picker GameObject datePicker = DefaultControls.CreateImage(res); datePicker.name = "DatePicker"; datePicker.AddComponent <DatePicker>(); RectTransform pickerRect = datePicker.GetComponent <RectTransform>(); pickerRect.sizeDelta = _defaultDatePickerSize; // Create date text GameObject dateText = DefaultControls.CreateText(res); dateText.name = "DateText"; SetParentAndAlign(dateText, datePicker.transform); RectTransform textRect = dateText.GetComponent <RectTransform>(); textRect.anchorMin = Vector2.zero; textRect.anchorMax = new Vector2(0, 1); textRect.pivot = new Vector2(0, 0.5f); textRect.sizeDelta = new Vector2(150, 0); Text textText = dateText.GetComponent <Text>(); textText.text = System.DateTime.Today.ToShortDateString(); textText.alignment = TextAnchor.MiddleLeft; // Create pick button GameObject pickButton = DefaultControls.CreateImage(res); pickButton.name = "PickButton"; SetParentAndAlign(pickButton, datePicker.transform); pickButton.AddComponent <Button>(); RectTransform buttonRect = pickButton.GetComponent <RectTransform>(); buttonRect.anchorMin = new Vector2(1, 0); buttonRect.anchorMax = Vector2.one; buttonRect.sizeDelta = new Vector2(_defaultDatePickerSize.y, 0); pickButton.GetComponent <Image>().sprite = res.dropdown; buttonRect.transform.localPosition -= new Vector3(_defaultDatePickerSize.y / 2, 0, 0); //Create Calendar GameObject calendar = CreateCalendar(resources); calendar.transform.SetParent(datePicker.transform); calendar.transform.localPosition -= new Vector3(0, _defaultDatePickerSize.y / 2 + _defaultCalendarSize.y / 2, 0); calendar.SetActive(false); return(datePicker); }
public static void Init() { if (_initCalled) { return; } _initCalled = true; Resource.Namespace = Assembly.GetExecutingAssembly().GetName().Name; AssetBundle bundle = AssetBundle.LoadFromMemory(Resource.DefaultResourceKOI); foreach (Sprite sprite in bundle.LoadAllAssets <Sprite>()) { switch (sprite.name) { case "Background": backgroundSprite = sprite; break; case "UISprite": standardSprite = sprite; break; case "InputFieldBackground": inputFieldBackground = sprite; break; case "Knob": knob = sprite; break; case "Checkmark": checkMark = sprite; break; case "DropdownArrow": dropdownArrow = sprite; break; case "UIMask": mask = sprite; break; } } defaultFont = Resources.GetBuiltinResource <Font>("Arial.ttf"); resources = new DefaultControls.Resources { background = backgroundSprite, checkmark = checkMark, dropdown = dropdownArrow, inputField = inputFieldBackground, knob = knob, mask = mask, standard = standardSprite }; defaultFontSize = 16; bundle.Unload(false); }
public static GameObject CreateSlider(DefaultControls.Resources resources) { GameObject uiElementRoot = DefaultControls.CreateUIElementRoot("Slider", DefaultControls.s_ThinElementSize); GameObject uiObject1 = DefaultControls.CreateUIObject("Background", uiElementRoot); GameObject uiObject2 = DefaultControls.CreateUIObject("Fill Area", uiElementRoot); GameObject uiObject3 = DefaultControls.CreateUIObject("Fill", uiObject2); GameObject uiObject4 = DefaultControls.CreateUIObject("Handle Slide Area", uiElementRoot); GameObject uiObject5 = DefaultControls.CreateUIObject("Handle", uiObject4); Image image1 = uiObject1.AddComponent <Image>(); image1.sprite = resources.background; image1.type = Image.Type.Sliced; image1.color = DefaultControls.s_DefaultSelectableColor; RectTransform component1 = uiObject1.GetComponent <RectTransform>(); component1.anchorMin = new Vector2(0.0f, 0.25f); component1.anchorMax = new Vector2(1f, 0.75f); component1.sizeDelta = new Vector2(0.0f, 0.0f); RectTransform component2 = uiObject2.GetComponent <RectTransform>(); component2.anchorMin = new Vector2(0.0f, 0.25f); component2.anchorMax = new Vector2(1f, 0.75f); component2.anchoredPosition = new Vector2(-5f, 0.0f); component2.sizeDelta = new Vector2(-20f, 0.0f); Image image2 = uiObject3.AddComponent <Image>(); image2.sprite = resources.standard; image2.type = Image.Type.Sliced; image2.color = DefaultControls.s_DefaultSelectableColor; uiObject3.GetComponent <RectTransform>().sizeDelta = new Vector2(10f, 0.0f); RectTransform component3 = uiObject4.GetComponent <RectTransform>(); component3.sizeDelta = new Vector2(-20f, 0.0f); component3.anchorMin = new Vector2(0.0f, 0.0f); component3.anchorMax = new Vector2(1f, 1f); Image image3 = uiObject5.AddComponent <Image>(); image3.sprite = resources.knob; image3.color = DefaultControls.s_DefaultSelectableColor; uiObject5.GetComponent <RectTransform>().sizeDelta = new Vector2(20f, 0.0f); Slider slider = uiElementRoot.AddComponent <Slider>(); slider.fillRect = uiObject3.GetComponent <RectTransform>(); slider.handleRect = uiObject5.GetComponent <RectTransform>(); slider.targetGraphic = (Graphic)image3; slider.direction = Slider.Direction.LeftToRight; DefaultControls.SetDefaultColorTransitionValues((Selectable)slider); return(uiElementRoot); }
protected void UpdateQuadImage(string m_OutputText) { m_ImagesVertexIndex.Clear(); foreach (Match match in s_ImageRegex.Matches(m_OutputText)) { var picIndex = match.Index; var endIndex = picIndex * 4 + 3; m_ImagesVertexIndex.Add(endIndex); m_ImagesPool.RemoveAll(image => image == null); if (m_ImagesPool.Count == 0) { GetComponentsInChildren <Image>(m_ImagesPool); } if (m_ImagesVertexIndex.Count > m_ImagesPool.Count) { var resources = new DefaultControls.Resources(); var go = DefaultControls.CreateImage(resources); go.layer = gameObject.layer; var rt = go.transform as RectTransform; if (rt) { rt.SetParent(rectTransform); rt.localPosition = Vector3.zero; rt.localRotation = Quaternion.identity; rt.localScale = Vector3.one; } m_ImagesPool.Add(go.GetComponent <Image>()); } var spriteName = match.Groups[1].Value; var size = float.Parse(match.Groups[2].Value); var img = m_ImagesPool[m_ImagesVertexIndex.Count - 1]; if (img.sprite == null || img.sprite.name != spriteName) { StartCoroutine(LoadSprite("Art/UI/DynamicTex/" + spriteName + ".png", img)); } img.rectTransform.sizeDelta = new Vector2(size, size); img.enabled = true; } for (var i = m_ImagesVertexIndex.Count; i < m_ImagesPool.Count; i++) { if (m_ImagesPool[i]) { m_ImagesPool[i].enabled = false; } } }
private static void Postfix(ref FejdStartup __instance) { // logo if (Configuration.Current.ValheimPlus.IsEnabled && Configuration.Current.ValheimPlus.mainMenuLogo) { GameObject logo = GameObject.Find("LOGO"); logo.GetComponent <Image>().sprite = VPlusMainMenu.VPlusLogoSprite; } // version text for bottom right of startup __instance.m_versionLabel.fontSize = 14; string gameVersion = Version.CombineVersion(global::Version.m_major, global::Version.m_minor, global::Version.m_patch); __instance.m_versionLabel.text = "version " + gameVersion + "\n" + "ValheimPlus " + ValheimPlusPlugin.version; if (Configuration.Current.ValheimPlus.IsEnabled && Configuration.Current.ValheimPlus.serverBrowserAdvertisement) { DefaultControls.Resources uiResources = new DefaultControls.Resources(); GameObject joinpanel = GameObjectAssistant.GetChildComponentByName <Transform>("JoinPanel", __instance.m_startGamePanel).gameObject; if (joinpanel) { foreach (Transform panel in joinpanel.transform) { if (panel.gameObject.name == "Server help") { GameObject serverHelpObj = panel.gameObject; GameObject banner = GameObject.Instantiate(serverHelpObj); banner.transform.SetParent(joinpanel.transform, false); banner.transform.localPosition = banner.transform.localPosition + new Vector3(0, -300); banner.GetComponent <RectTransform>().sizeDelta = new Vector2(315, 315); banner.transform.GetChild(0).GetComponent <Text>().text = ""; banner.transform.GetChild(1).gameObject.SetActive(false); GameObject bannerButton = DefaultControls.CreateButton(uiResources); bannerButton.transform.SetParent(banner.transform, false); bannerButton.GetComponentInChildren <Text>().text = ""; bannerButton.GetComponent <RectTransform>().sizeDelta = new Vector2(315, 315); bannerButton.GetComponent <Button>().image.sprite = VPlusMainMenu.VPlusBannerSprite; bannerButton.GetComponent <Button>().transition = Selectable.Transition.SpriteSwap; SpriteState ss = new SpriteState(); ss.highlightedSprite = VPlusMainMenu.VPlusBannerHoverSprite; bannerButton.GetComponent <Button>().spriteState = ss; bannerButton.GetComponent <Button>().onClick.AddListener(delegate { Application.OpenURL("http://zap-hosting-banner.valheim.plus"); }); } } } } }
public static GameObject CreatePanel(DefaultControls.Resources resources) { GameObject uiElementRoot = DefaultControls.CreateUIElementRoot("Panel", DefaultControls.s_ThickElementSize); RectTransform component = uiElementRoot.GetComponent <RectTransform>(); component.anchorMin = Vector2.zero; component.anchorMax = Vector2.one; component.anchoredPosition = Vector2.zero; component.sizeDelta = Vector2.zero; Image image = uiElementRoot.AddComponent <Image>(); image.sprite = resources.background; image.type = Image.Type.Sliced; image.color = DefaultControls.s_PanelColor; return(uiElementRoot); }
public static GameObject CreateDoubleClickButton(DefaultControls.Resources resources) { GameObject btn = DefaultControls.CreateButton(resources); btn.name = "DoubleClickButton"; btn.transform.Find("Text").GetComponent <Text>().text = "DoubleClickButton"; Image image = btn.GetComponent <Image>(); image.sprite = resources.standard; image.type = Image.Type.Sliced; Object.DestroyImmediate(btn.GetComponent <Button>()); btn.AddComponent <DoubleClickButton>(); return(btn); }
static UIUtility() { AssetBundle bundle = AssetBundle.LoadFromMemory(Resource.DefaultResources); var sprites = bundle.LoadAllAssets <Sprite>(); for (var i = 0; i < sprites.Length; i++) { Sprite sprite = sprites[i]; switch (sprite.name) { case "Background": backgroundSprite = sprite; break; case "UISprite": standardSprite = sprite; break; case "InputFieldBackground": inputFieldBackground = sprite; break; case "Knob": knob = sprite; break; case "Checkmark": checkMark = sprite; break; case "DropdownArrow": dropdownArrow = sprite; break; case "UIMask": mask = sprite; break; } } defaultFont = Resources.GetBuiltinResource <Font>("Arial.ttf"); resources = new DefaultControls.Resources { background = backgroundSprite, checkmark = checkMark, dropdown = dropdownArrow, inputField = inputFieldBackground, knob = knob, mask = mask, standard = standardSprite }; defaultFontSize = 16; bundle.Unload(false); }
private void CreateText(int x, int y, string text_to_print) { DefaultControls.Resources uiResources = new DefaultControls.Resources(); GameObject uiText = DefaultControls.CreateText(uiResources); uiText.transform.SetParent(canvas_transform, false); uiText.transform.GetComponent <Text>().font = scoreFont; RectTransform trans = uiText.GetComponent <RectTransform>(); trans.anchoredPosition = new Vector2(x, y); Text text = uiText.GetComponent <Text>(); text.fontSize = 15; text.text = text_to_print; }
public static int constructor(IntPtr l) { int result; try { DefaultControls.Resources resources = default(DefaultControls.Resources); LuaObject.pushValue(l, true); LuaObject.pushValue(l, resources); result = 2; } catch (Exception e) { result = LuaObject.error(l, e); } return(result); }
public static GameObject CreateColorPicker(DefaultControls.Resources resources) { GameObject parent = Selection.activeGameObject; ColorPicker colorPicker = DefaultControls.CreateRawImage(resources).AddComponent <ColorPicker>(); colorPicker.gameObject.name = "ColorPicker"; colorPicker.transform.SetParent(parent.transform, false); colorPicker.transform.localPosition = Vector3.zero; Material colorPickerMaterial = new Material(Shader.Find("UI/ColorPicker/ColorPicker")); colorPicker.GetComponent <RawImage>().material = colorPickerMaterial; GameObject colorKnob = CreateKnob(resources); colorKnob.transform.SetParent(colorPicker.transform, false); colorKnob.transform.RectTransform().anchorMax = Vector2.zero; colorKnob.transform.RectTransform().anchorMin = Vector2.zero; colorKnob.transform.RectTransform().anchoredPosition = Vector2.zero; GameObject huePicker = DefaultControls.CreateRawImage(resources); huePicker.name = "HuePicker"; huePicker.transform.SetParent(colorPicker.transform, false); huePicker.transform.RectTransform().sizeDelta = huePicker.transform.RectTransform().sizeDelta.WithY(10); huePicker.transform.RectTransform().anchorMax = new Vector2(0.5f, 0f); huePicker.transform.RectTransform().anchorMin = new Vector2(0.5f, 0f); huePicker.transform.RectTransform().anchoredPosition = Vector2.zero; huePicker.transform.RectTransform().pivot = new Vector2(0.5f, 1f); Material huePickerMaterial = new Material(Shader.Find("UI/ColorPicker/HuePicker")); huePicker.GetComponent <RawImage>().material = huePickerMaterial; GameObject hueKnob = CreateKnob(resources); hueKnob.transform.SetParent(huePicker.transform, false); hueKnob.transform.RectTransform().anchorMax = new Vector2(0f, 0.5f); hueKnob.transform.RectTransform().anchorMin = new Vector2(0f, 0.5f); hueKnob.transform.RectTransform().anchoredPosition = Vector2.zero; hueKnob.GetComponent <Knob>().vertical = false; colorPicker.knob = colorKnob.GetComponent <Knob>(); colorPicker.hueKnob = hueKnob.GetComponent <Knob>(); return(colorPicker.gameObject); }
void DisposeEmoji() { _imagesVertexIndexs.Clear(); foreach (Match match in EmojiRegex.Matches(_outputText)) { string spriteName = string.Copy(match.Groups[1].Value); int startIndex = match.Index * 4; int endIndex = (match.Index + match.Value.Length) * 4 - 1; _imagesVertexIndexs.Add(new ImageVertexIndex(startIndex, endIndex)); m_ImagesPool.RemoveAll(image => image == null); if (m_ImagesPool.Count == 0) { GetComponentsInChildren <Image>(m_ImagesPool); } if (_imagesVertexIndexs.Count > m_ImagesPool.Count) { var resources = new DefaultControls.Resources(); var go = DefaultControls.CreateImage(resources); go.layer = gameObject.layer; var rt = go.transform as RectTransform; if (rt) { rt.SetParent(rectTransform); //rt.localPosition = Vector3.zero; //rt.localRotation = Quaternion.identity; //rt.localScale = Vector3.one; } m_ImagesPool.Add(go.GetComponent <Image>()); } var img = m_ImagesPool[_imagesVertexIndexs.Count - 1]; img.sprite = LoadFace(spriteName); img.rectTransform.sizeDelta = new Vector2(_emojiSize, _emojiSize); img.enabled = true; } for (var i = _imagesVertexIndexs.Count; i < m_ImagesPool.Count; i++) { if (m_ImagesPool[i]) { m_ImagesPool[i].enabled = false; } } }
public static GameObject CreateToggle(DefaultControls.Resources resources) { GameObject uiElementRoot = DefaultControls.CreateUIElementRoot("Toggle", DefaultControls.s_ThinElementSize); GameObject uiObject1 = DefaultControls.CreateUIObject("Background", uiElementRoot); GameObject uiObject2 = DefaultControls.CreateUIObject("Checkmark", uiObject1); GameObject uiObject3 = DefaultControls.CreateUIObject("Label", uiElementRoot); Toggle toggle = uiElementRoot.AddComponent <Toggle>(); toggle.isOn = true; Image image1 = uiObject1.AddComponent <Image>(); image1.sprite = resources.standard; image1.type = Image.Type.Sliced; image1.color = DefaultControls.s_DefaultSelectableColor; Image image2 = uiObject2.AddComponent <Image>(); image2.sprite = resources.checkmark; Text lbl = uiObject3.AddComponent <Text>(); lbl.text = "Toggle"; DefaultControls.SetDefaultTextValues(lbl); toggle.graphic = (Graphic)image2; toggle.targetGraphic = (Graphic)image1; DefaultControls.SetDefaultColorTransitionValues((Selectable)toggle); RectTransform component1 = uiObject1.GetComponent <RectTransform>(); component1.anchorMin = new Vector2(0.0f, 1f); component1.anchorMax = new Vector2(0.0f, 1f); component1.anchoredPosition = new Vector2(10f, -10f); component1.sizeDelta = new Vector2(20f, 20f); RectTransform component2 = uiObject2.GetComponent <RectTransform>(); component2.anchorMin = new Vector2(0.5f, 0.5f); component2.anchorMax = new Vector2(0.5f, 0.5f); component2.anchoredPosition = Vector2.zero; component2.sizeDelta = new Vector2(20f, 20f); RectTransform component3 = uiObject3.GetComponent <RectTransform>(); component3.anchorMin = new Vector2(0.0f, 0.0f); component3.anchorMax = new Vector2(1f, 1f); component3.offsetMin = new Vector2(23f, 1f); component3.offsetMax = new Vector2(-5f, -2f); return(uiElementRoot); }
public static GameObject CreateInputField(DefaultControls.Resources resources) { GameObject uiElementRoot = DefaultControls.CreateUIElementRoot("InputField", DefaultControls.s_ThickElementSize); GameObject uiObject1 = DefaultControls.CreateUIObject("Placeholder", uiElementRoot); GameObject uiObject2 = DefaultControls.CreateUIObject("Text", uiElementRoot); Image image = uiElementRoot.AddComponent <Image>(); image.sprite = resources.inputField; image.type = Image.Type.Sliced; image.color = DefaultControls.s_DefaultSelectableColor; InputField inputField = uiElementRoot.AddComponent <InputField>(); DefaultControls.SetDefaultColorTransitionValues((Selectable)inputField); Text lbl = uiObject2.AddComponent <Text>(); lbl.text = string.Empty; lbl.supportRichText = false; DefaultControls.SetDefaultTextValues(lbl); Text text = uiObject1.AddComponent <Text>(); text.text = "Enter text..."; text.fontStyle = FontStyle.Italic; Color color = lbl.color; color.a *= 0.5f; text.color = color; RectTransform component1 = uiObject2.GetComponent <RectTransform>(); component1.anchorMin = Vector2.zero; component1.anchorMax = Vector2.one; component1.sizeDelta = Vector2.zero; component1.offsetMin = new Vector2(10f, 6f); component1.offsetMax = new Vector2(-10f, -7f); RectTransform component2 = uiObject1.GetComponent <RectTransform>(); component2.anchorMin = Vector2.zero; component2.anchorMax = Vector2.one; component2.sizeDelta = Vector2.zero; component2.offsetMin = new Vector2(10f, 6f); component2.offsetMax = new Vector2(-10f, -7f); inputField.textComponent = lbl; inputField.placeholder = (Graphic)text; return(uiElementRoot); }
public static GameObject CreateLoopHorizontalScrollRect(DefaultControls.Resources resources) { GameObject root = CreateUIElementRoot("Loop Horizontal Scroll Rect", new Vector2(200, 200)); GameObject content = CreateUIObject("Content", root); RectTransform contentRT = content.GetComponent <RectTransform>(); contentRT.anchorMin = new Vector2(0, 0.5f); contentRT.anchorMax = new Vector2(0, 0.5f); contentRT.sizeDelta = new Vector2(0, 200); contentRT.pivot = new Vector2(0, 0.5f); // Setup UI components. LoopHorizontalScrollRect scrollRect = root.AddComponent <LoopHorizontalScrollRect>(); scrollRect.content = contentRT; scrollRect.viewport = null; scrollRect.horizontalScrollbar = null; scrollRect.verticalScrollbar = null; scrollRect.horizontal = true; scrollRect.vertical = false; scrollRect.horizontalScrollbarVisibility = LoopScrollRect.EScrollbarVisibility.Permanent; scrollRect.verticalScrollbarVisibility = LoopScrollRect.EScrollbarVisibility.Permanent; scrollRect.horizontalScrollbarSpacing = 0; scrollRect.verticalScrollbarSpacing = 0; root.AddComponent <RectMask2D>(); HorizontalLayoutGroup layoutGroup = content.AddComponent <HorizontalLayoutGroup>(); layoutGroup.childAlignment = TextAnchor.MiddleLeft; layoutGroup.childForceExpandWidth = false; layoutGroup.childForceExpandHeight = true; ContentSizeFitter sizeFitter = content.AddComponent <ContentSizeFitter>(); sizeFitter.horizontalFit = ContentSizeFitter.FitMode.PreferredSize; sizeFitter.verticalFit = ContentSizeFitter.FitMode.Unconstrained; return(root); }
protected Image CreateImage(string imageName) // 直接创建个默认 Image { GameObject canvas = new GameObject("Canvas"); Canvas c = canvas.AddComponent <Canvas>(); c.renderMode = RenderMode.ScreenSpaceOverlay; canvas.AddComponent <GraphicRaycaster>(); CanvasScaler cs = canvas.AddComponent <CanvasScaler>(); cs.uiScaleMode = CanvasScaler.ScaleMode.ScaleWithScreenSize; cs.referenceResolution = new Vector2(1366f, 768f); cs.screenMatchMode = CanvasScaler.ScreenMatchMode.Expand; DefaultControls.Resources res = new DefaultControls.Resources(); GameObject go = DefaultControls.CreateImage(res); go.name = imageName; go.transform.parent = canvas.transform; return(go.GetComponent <Image>()); }
public void UpdateQuadImage() { m_OutputText = GetOutputText(m_Text); Debug.Log("UpdateQuadImage" + m_OutputText); m_ImagesVertexIdx.Clear(); m_ImagesPool.Clear(); foreach (Match match in s_ImageRegex.Matches(m_OutputText)) { var picIdx = match.Index + match.Length - 1; var endIdx = picIdx * 4 + 3; var spriteName = match.Groups[1].Value; var size = float.Parse(match.Groups[2].Value); Debug.Log("UpdateQuadImage.Match" + spriteName.ToString()); m_ImagesVertexIdx.Add(endIdx); if (null != spriteName) { var resources = new DefaultControls.Resources(); var go = DefaultControls.CreateImage(resources); go.layer = gameObject.layer; var rt = go.transform as RectTransform; if (rt) { rt.SetParent(rectTransform); rt.localPosition = Vector3.zero; rt.localRotation = Quaternion.identity; rt.localScale = Vector3.one; } m_ImagesPool.Add(go.GetComponent <Image>()); var img = m_ImagesPool[m_ImagesVertexIdx.Count - 1]; Debug.Log(m_ImagesPool[m_ImagesVertexIdx.Count - 1]); img.sprite = TextExImageMngr.GetInstance().GetSprite(spriteName); img.rectTransform.sizeDelta = new Vector2(size, size); } } }
// The Face map has been initialised in Awake, so we can use its facelet sprites. public void Start() { uiResources = new DefaultControls.Resources(); faceletData = new FaceletData[5, 5]; pOrigColor = new Color[5, 5]; pOrigSprite = new Sprite[5, 5]; Color colour = GetColourForFace(); for (int x = 0; x < 5; x++) { for (int y = 0; y < 5; y++) { faceletData[x, y] = CreateFacelet(x, y, colour); pOrigColor[x, y] = colour; pOrigSprite[x, y] = faceletData[x, y].facelet.GetComponent <Image>().sprite; } } }
private Text CreateExpandText(Text proText) //创建一个新的Text(Tx_Expand) { DefaultControls.Resources resources = new DefaultControls.Resources(); GameObject go = DefaultControls.CreateText(resources); go.name = "Tx_Expand"; go.transform.SetParent(transform); go.layer = LayerMask.NameToLayer("UI"); go.transform.localScale = Vector3.one; Text copyText = go.GetComponent <Text>(); RectTransform rt = copyText.rectTransform; rt.anchoredPosition3D = Vector3.zero; rt.offsetMax = Vector2.zero; rt.offsetMin = Vector2.zero; rt.anchorMax = Vector2.one; rt.anchorMin = Vector2.zero; copyText.alignment = proText.alignment; copyText.fontSize = proText.fontSize; return(copyText); }
public static GameObject CreateScrollbar(DefaultControls.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); }
private void CreateTextField(int x, int y) { Perdedor.SetActive(false); Ganador.SetActive(true); DefaultControls.Resources uiResources = new DefaultControls.Resources(); GameObject uiInputField = DefaultControls.CreateInputField(uiResources); uiInputField.transform.SetParent(canvas_transform, false); //uiInputField.transform.GetChild(0).GetComponent<Text>().font = (Font)Resources.GetBuiltinResource(typeof(Font), "BlackoakStd.ttf"); uiInputField.transform.GetChild(0).GetComponent <Text>().font = scoreFont; uiInputField.transform.GetChild(1).GetComponent <Text>().font = scoreFont; uiInputField.transform.GetChild(0).GetComponent <Text>().text = "___"; uiInputField.transform.GetChild(0).GetComponent <Text>().fontSize = 8; uiInputField.transform.GetChild(1).GetComponent <Text>().fontSize = 15; InputField input = uiInputField.GetComponent <InputField>(); input.characterLimit = 3; RectTransform trans = uiInputField.GetComponent <RectTransform>(); trans.anchoredPosition = new Vector2(x, y - 5); trans.sizeDelta = new Vector2(150, 60); input.onValueChanged.AddListener(delegate { ValueChangeCheck(input); }); //ColorBlock cb = input.colors; //cb.highlightedColor = new Color(0f, 0f, 0f, 0f); //input.colors = cb; Image image = uiInputField.GetComponent <Image>(); image.color = new Color(0f, 0f, 0f, 0f); input.Select(); }
private void RefereshScrollResources() { var scrollRect = GameObject.Find(_ScrollViewResourceDirs).GetComponent <ScrollRect>(); // remove every text var uiContent = FindContent(scrollRect); foreach (Transform child in uiContent) { Destroy(child.gameObject); } // referesh text foreach (var dir in _remote.ResourceLoader.ResourceDirs) { DefaultControls.Resources tempResource = new DefaultControls.Resources(); GameObject newText = DefaultControls.CreateText(tempResource); newText.AddComponent <LayoutElement>(); newText.transform.SetParent(uiContent); newText.GetComponent <Text>().text = dir; newText.GetComponent <Text>().alignment = TextAnchor.MiddleLeft; } }
protected virtual void InitView() { DefaultControls.Resources uiResources = new DefaultControls.Resources(); uiResources.background = toggleBGElement; uiResources.checkmark = checkmarkElement; // Create filters options for extruded structures metaDataCollection = new Dictionary <string, Toggle>(); foreach (string key in Enum.GetNames(GetUsageType())) { GameObject uiToggle = DefaultControls.CreateToggle(uiResources); uiToggle.transform.SetParent(metaDataContent.transform, false); Text t = uiToggle.GetComponentInChildren <Text>(); if (t != null) { t.text = key; } metaDataCollection.Add(key, uiToggle.GetComponent <Toggle>()); } }
// Use this for initialization public CharInfoManager(CharacterManager characterManager, GameObject abilityContent, GameObject skillContent) { // Initialize methodOnClick = characterManager.UpdateSkill; methodOnClick_two = characterManager.SelectWeapon; uiResources = new DefaultControls.Resources(); skillUI = new Dictionary <string, GameObject>(); abilityUI = new Dictionary <string, GameObject>(); selectedColor = Color.yellow; equipedColor = Color.blue; defaultColor = Color.white; // GameObject this.characterManager = characterManager; this.abilityContentHolder = abilityContent.transform.Find("ContentHolder").gameObject; this.skillContentHolder = skillContent.transform.Find("ContentHolder").gameObject; this.equipOrUnequip = abilityContent.transform.Find("ItemButton").transform.Find("EquipOrUnEquip").gameObject; // Render RenderAbility(); RenderSkill(); RenderEverythingElse(); }
public void createButtons() { DefaultControls.Resources uiResources = new DefaultControls.Resources(); GameObject canvas = GameObject.Find("PoseContent"); for (int j = 0; j < canvas.transform.childCount; j++) { Destroy(canvas.transform.GetChild(j).gameObject); } int i = 0; canvas.GetComponent <RectTransform>().offsetMin = new Vector2(canvas.GetComponent <RectTransform>().offsetMin.x, 880); foreach (string anim in ModLoader.charMods[curChar]) { string anim2 = anim.Replace('\\', '/'); GameObject animButton = DefaultControls.CreateButton(uiResources); animButton.name = anim2.Substring(anim2.LastIndexOf("/") + 1); animButton.transform.SetParent(canvas.transform); canvas.GetComponent <RectTransform>().offsetMin = new Vector2(canvas.GetComponent <RectTransform>().offsetMin.x, canvas.GetComponent <RectTransform>().offsetMin.y - 200); animButton.GetComponent <RectTransform>().anchorMax = new Vector2(0.5f, 1); animButton.GetComponent <RectTransform>().anchorMin = new Vector2(0.5f, 1); animButton.GetComponent <RectTransform>().anchoredPosition = new Vector3(0, -100 - i * 200, 0); animButton.GetComponent <RectTransform>().sizeDelta = new Vector2(200, 200); int k = i; animButton.GetComponent <Button>().onClick.AddListener(() => { PoseSwitch(curChar, k); }); i += 1; animButton.GetComponentInChildren <Text>().text = i.ToString(); animButton.GetComponentInChildren <Text>().fontSize = 72; animButton.GetComponentInChildren <Text>().font = font; animButton.GetComponentInChildren <Text>().color = Color.white; animButton.GetComponent <Image>().sprite = sprite; animButton.GetComponent <RectTransform>().localScale = new Vector3(1, 1, 1); } }
public static GameObject CreateButton(DefaultControls.Resources resources) { GameObject uiElementRoot = DefaultControls.CreateUIElementRoot("Button", DefaultControls.s_ThickElementSize); GameObject child = new GameObject("Text"); DefaultControls.SetParentAndAlign(child, uiElementRoot); Image image = uiElementRoot.AddComponent <Image>(); image.sprite = resources.standard; image.type = Image.Type.Sliced; image.color = DefaultControls.s_DefaultSelectableColor; DefaultControls.SetDefaultColorTransitionValues((Selectable)uiElementRoot.AddComponent <Button>()); Text lbl = child.AddComponent <Text>(); lbl.text = "Button"; lbl.alignment = TextAnchor.MiddleCenter; DefaultControls.SetDefaultTextValues(lbl); RectTransform component = child.GetComponent <RectTransform>(); component.anchorMin = Vector2.zero; component.anchorMax = Vector2.one; component.sizeDelta = Vector2.zero; return(uiElementRoot); }
protected void UpdateQuadImage() { #if UNITY_EDITOR #if UNITY_2018_3_OR_NEWER bool isPrefab = UnityEditor.PrefabUtility.GetPrefabAssetType(this) == UnityEditor.PrefabAssetType.Regular; #else bool isPrefab = UnityEditor.PrefabUtility.GetPrefabType(this) == UnityEditor.PrefabType.Prefab; #endif if (isPrefab) { return; } #endif outputText = GetOutputText(); imagesVertexIndex.Clear(); foreach (Match match in regex.Matches(outputText)) { var picIndex = match.Index; var endIndex = picIndex * 4 + 3; imagesVertexIndex.Add(endIndex); imagesPool.RemoveAll(image => image == null); if (imagesPool.Count == 0) { GetComponentsInChildren <Image>(imagesPool); } if (imagesVertexIndex.Count > imagesPool.Count) { var resources = new DefaultControls.Resources(); var go = DefaultControls.CreateImage(resources); go.layer = gameObject.layer; var rt = go.transform as RectTransform; if (rt) { rt.SetParent(rectTransform); rt.localPosition = Vector3.zero; rt.localRotation = Quaternion.identity; rt.localScale = Vector3.one; } imagesPool.Add(go.GetComponent <Image>()); } var spriteName = match.Groups[1].Value; //var size = float.Parse(match.Groups[2].Value); var img = imagesPool[imagesVertexIndex.Count - 1]; if (img.sprite == null || img.sprite.name != spriteName) { // img.sprite = Resources.Load<Sprite>(spriteName); if (inspectorIconList != null && inspectorIconList.Length > 0) { foreach (IconName icon in inspectorIconList) { if (icon.name == spriteName) { img.sprite = icon.sprite; break; } } } } img.rectTransform.sizeDelta = new Vector2(fontSize * imageScalingFactor, fontSize * imageScalingFactor); img.enabled = true; if (positions.Count == imagesPool.Count) { img.rectTransform.anchoredPosition = positions[imagesVertexIndex.Count - 1]; } } for (var i = imagesVertexIndex.Count; i < imagesPool.Count; i++) { if (imagesPool[i]) { /* TEMPORARY FIX REMOVE IMAGES FROM POOL DELETE LATER SINCE CANNOT DESTROY */ imagesPool[i].gameObject.SetActive(false); imagesPool[i].gameObject.hideFlags = HideFlags.HideAndDontSave; culledImagesPool.Add(imagesPool[i].gameObject); imagesPool.Remove(imagesPool[i]); } } if (culledImagesPool.Count > 1) { clearImages = true; } }
public void SetRatio(float[] areas, string[] names, Color[] colors) { if (!gameObject.activeSelf) { return; } float total = 0; float[] ratios = new float[areas.Length]; float[] heights = new float[areas.Length]; foreach (int area in areas) { total += area; } float hTotal = rect.sizeDelta[1]; totalHGet = hTotal; DefaultControls.Resources rc = SceneManager.uiResources; float lowest = 0; for (int i = 0; i < ratios.Length; i++) { #region cal ratio ratios[i] = areas[i] / total; float h = ratios[i] * hTotal; #endregion #region GameObject management if (bars == null) { bars = new List <GameObject>(); } if (texts == null) { texts = new List <GameObject>(); } int dif = bars.Count - ratios.Length; if (dif > 0) { SGUtility.RemoveExtraGameObjects(ref bars, dif); } if (dif > 0) { SGUtility.RemoveExtraGameObjects(ref texts, dif); } if (i >= bars.Count) { GameObject bar = DefaultControls.CreateImage(rc); bar.transform.parent = transform; int cIndex = i % SchemeColor.ColorSetDefault.Length; bars.Add(bar); } if (i >= texts.Count) { GameObject text = DefaultControls.CreateText(rc); text.transform.parent = transform; int cIndex = i % SchemeColor.ColorSetDefault.Length; text.GetComponent <Text>().text = ""; texts.Add(text); } #endregion //bars[i].GetComponent<Image>().material.color = SchemeColor.ColorSetDefault[i]; bars[i].GetComponent <Image>().color = colors[i]; RectTransform barRect = (RectTransform)bars[i].transform; barRect.anchorMax = new Vector2(0, 1); barRect.anchorMin = new Vector2(0, 1); barRect.pivot = new Vector2(0, 1); barRect.localScale = new Vector3(1, 1, 1); barRect.sizeDelta = new Vector2(20, h); barRect.anchoredPosition = new Vector2(0, lowest); string message = string.Format("{0}: {1}% area={2}sqm", names[i], Mathf.Round(ratios[i] * 100), areas[i]); Text t = texts[i].GetComponent <Text>(); t.text = message; t.fontSize = 8; t.color = Color.white; RectTransform textRect = (RectTransform)texts[i].transform; textRect.anchoredPosition = new Vector2(35, lowest); textRect.anchorMax = new Vector2(0, 1); textRect.anchorMin = new Vector2(0, 1); textRect.pivot = new Vector2(0, 1); textRect.localScale = new Vector3(1, 1, 1); textRect.sizeDelta = new Vector2(500, 30); textRect.anchoredPosition = new Vector2(30, lowest); lowest -= h; } }
protected void UpdateQuadImage() { #if UNITY_EDITOR if (UnityEditor.PrefabUtility.GetPrefabType(this) == UnityEditor.PrefabType.Prefab) { return; } #endif m_OutputText = GetOutputText(); MatchCollection matches = s_Regex.Matches(m_OutputText); if (matches != null && matches.Count > 0) { for (int i = 0; i < matches.Count; i++) { m_ImagesPool.RemoveAll(image => image == null); if (m_ImagesPool.Count == 0) { GetComponentsInChildren <Image>(true, m_ImagesPool); } if (matches.Count > m_ImagesPool.Count) { var resources = new DefaultControls.Resources(); var go = DefaultControls.CreateImage(resources); go.layer = gameObject.layer; var rt = go.transform as RectTransform; if (rt) { rt.SetParent(rectTransform); rt.anchoredPosition3D = Vector3.zero; rt.localRotation = Quaternion.identity; rt.localScale = Vector3.one; } m_ImagesPool.Add(go.GetComponent <Image>()); } var spriteName = matches[i].Groups[1].Value; var img = m_ImagesPool[i]; Vector2 imgoffset = Vector2.zero; if (img.sprite == null || img.sprite.name != spriteName) { if (inspectorIconList != null && inspectorIconList.Length > 0) { foreach (IconName icon in inspectorIconList) { if (icon.name == spriteName) { img.sprite = icon.sprite; img.preserveAspect = true; img.rectTransform.sizeDelta = new Vector2(fontSize * ImageScalingFactor * icon.scale.x, fontSize * ImageScalingFactor * icon.scale.y); imgoffset = icon.offset; break; } } } } img.enabled = true; if (positions.Count > 0 && i < positions.Count) { img.rectTransform.anchoredPosition = positions[i] += imgoffset; } } } else { // If there are no matches, remove the images from the pool for (int i = 0; i < m_ImagesPool.Count; i++) { if (m_ImagesPool[i]) { if (!culled_ImagesPool.Contains(m_ImagesPool[i].gameObject)) { culled_ImagesPool.Add(m_ImagesPool[i].gameObject); m_ImagesPool.Remove(m_ImagesPool[i]); } } } } // Remove any images that are not being used for (var i = matches.Count; i < m_ImagesPool.Count; i++) { if (m_ImagesPool[i]) { if (!culled_ImagesPool.Contains(m_ImagesPool[i].gameObject)) { culled_ImagesPool.Add(m_ImagesPool[i].gameObject); m_ImagesPool.Remove(m_ImagesPool[i]); } } } // Clear the images when it is safe to do so if (culled_ImagesPool.Count > 0) { clearImages = true; } }