public void Init(GameObject labelTemplate) { GameObject obj = this.gameObject; HorizontalLayoutGroup hlg = obj.AddComponent <HorizontalLayoutGroup>(); hlg.childControlWidth = hlg.childForceExpandWidth = true; hlg.childControlHeight = hlg.childForceExpandHeight = true; hlg.padding.left = -1; hlg.padding.top = -1; this.Image = obj.AddComponent <Image>(); this.Image.sprite = ModHandler.mods.sprites["SatisfactionIcon"]; this.Image.type = Image.Type.Simple; GameObject textObj = GameObject.Instantiate(labelTemplate, obj.transform); Outline outline = textObj.AddComponent <Outline>(); outline.effectColor = Color.black; outline.effectDistance = new Vector2(1, -1); this.Text = textObj.GetComponent <Text>(); this.Text.text = "0"; this.Text.alignment = TextAnchor.MiddleCenter; this.Text.fontSize = 14; this.Text.horizontalOverflow = HorizontalWrapMode.Overflow; this.Text.verticalOverflow = VerticalWrapMode.Overflow; this.Text.alignByGeometry = true; this.Tooltip = obj.AddComponent <TooltipHoverable>(); this.Tooltip.titleCode = "witchy_UIImprovements_satisfactionTooltip_Title"; }
public void Init() { Sprite smallBorders = Resources.FindObjectsOfTypeAll <Sprite>().First(x => x.name == "smallBorder"); backgroundImage = this.GetComponent <Image>(); backgroundImage.color = backgroundColor; GameObject iconObj = new GameObject("icon", typeof(RectTransform), typeof(CanvasRenderer), typeof(Image), typeof(Button)); iconObj.transform.SetParent(this.transform); iconImage = iconObj.GetComponent <Image>(); iconImage.raycastTarget = false; iconImage.type = Image.Type.Simple; GameObject frameObj = new GameObject("frame", typeof(RectTransform), typeof(CanvasRenderer), typeof(Image)); frameObj.transform.SetParent(this.transform); frameImage = frameObj.GetComponent <Image>(); frameImage.sprite = smallBorders; frameImage.raycastTarget = false; RectTransform rectIcon = iconObj.GetComponent <RectTransform>(); RectTransform rectFrame = frameObj.GetComponent <RectTransform>(); rectFrame.anchorMin = rectIcon.anchorMin = new Vector2(0, 0); rectFrame.anchorMax = rectIcon.anchorMax = new Vector2(1, 1); rectFrame.pivot = rectIcon.pivot = new Vector2(1, 1); rectFrame.sizeDelta = new Vector2(FRAMEOFFSET, FRAMEOFFSET); rectFrame.anchoredPosition = new Vector2(FRAMEOFFSET / 2f, FRAMEOFFSET / 2f); rectIcon.sizeDelta = new Vector2(SIZEDIFF, SIZEDIFF); rectIcon.anchoredPosition = new Vector2(SIZEDIFF / 2f, SIZEDIFF / 2f); this.ToolTip = this.GetComponent <TooltipHoverable>(); UpdateInteraction(null); }