public ToolbarButton( Transform parent, string name, Anchor anchor, Vec2 pos, Vec2 size, float margin, Font font) { pane = Gui.CreatePane( parent, name, offColor, size, anchor, pos); img = Gui.CreateImage(pane.rectTransform, "<image>", null); img.rectTransform.SetFillWithMargin(margin); Gui.AddButton(img.gameObject, () => OnClick()); TextCfg cfg = new TextCfg { font = font, fontSizeMin = 5, fontSizeMax = 14, autoResize = true, style = FontStyle.Bold, anchor = TextAnchor.LowerCenter, horiWrap = HorizontalWrapMode.Wrap, vertWrap = VerticalWrapMode.Truncate }; text = Gui.CreateText(img.transform, "<text>", cfg); text.rectTransform.SetFillPartial( new Vec2(0, .08f), new Vec2(1, .48f)); }
private Btn MakeButton(RectTransform parent, int order) { Image pane = Gui.CreateColor(parent, "<button>", ToolbarButton.offColor); var xfPane = pane.rectTransform; xfPane.SetFixed(Anchor.TopLeft, new Vec2(8, 8 + 58 * order), new Vec2(parent.sizeDelta.x - 16, 50)); var btn = Gui.AddButton(pane.gameObject); TextCfg cfg = TextCfg.Default(font); cfg.fontSize = 20; cfg.style = FontStyle.Bold; cfg.anchor = TextAnchor.UpperCenter; Text topText = Gui.CreateText(pane.rectTransform, "<name>", cfg); topText.rectTransform.SetFixed(Anchor.TopLeft, new Vec2(6, 4), new Vec2(xfPane.sizeDelta.x, 30)); cfg.fontSize = 16; cfg.style = FontStyle.Normal; Text botText = Gui.CreateText(pane.rectTransform, "<materials>", cfg); botText.rectTransform.SetFixed(Anchor.TopLeft, new Vec2(6, 26), new Vec2(xfPane.sizeDelta.x, 30)); return(new Btn() { button = btn, textMain = topText, textSub = botText }); }
private Btn CreateButton() { var img = Gui.CreateColor(pane, "<button>", ToolbarButton.offColor); img.rectTransform.pivot = new Vec2(0, 1); var btn = Gui.AddButton(img.gameObject); var layout = img.gameObject.AddComponent <HorizontalLayoutGroup>(); layout.childAlignment = TextAnchor.UpperLeft; layout.childControlWidth = true; layout.childControlHeight = true; layout.childForceExpandWidth = true; layout.childForceExpandHeight = true; layout.childScaleHeight = true; layout.childScaleWidth = true; layout.padding = new RectOffset(8, 8, 8, 8); TextCfg cfg = new TextCfg { font = font, fontSize = 20, autoResize = false, style = FontStyle.Normal,// Bold, anchor = TextAnchor.UpperLeft, horiWrap = HorizontalWrapMode.Wrap, vertWrap = VerticalWrapMode.Overflow }; var text = Gui.CreateText(img.transform, "<text>", cfg); text.rectTransform.pivot = new Vec2(0, 1); text.text = "Foobar manchu monskder sdf"; return(new Btn(img.gameObject, btn, text)); }
public WorkbenchPane(RectTransform canvas, Font font) { this.font = font; Vec2 size = new Vec2(510, 600); pane = Gui.CreatePane( canvas, "Workbench Panel", ToolbarButton.offColor, size, Anchor.BottomLeft, new Vec2(0, 202)); float colWidth = (size.x - 60) / 2; float xColB = colWidth + 40; TextCfg cfg = new TextCfg() { font = font, fontSize = 24, autoResize = false, style = FontStyle.Bold, anchor = TextAnchor.UpperLeft, horiWrap = HorizontalWrapMode.Overflow, vertWrap = VerticalWrapMode.Truncate }; var headerA = Gui.CreateText(pane.rectTransform, "<header>", cfg); headerA.text = "Recipes:"; headerA.rectTransform.anchorMin = headerA.rectTransform.anchorMax = new Vec2(0, 1); headerA.rectTransform.pivot = new Vec2(0, 1); headerA.rectTransform.offsetMin = new Vec2(20, 0); headerA.rectTransform.offsetMax = new Vec2(0, -14); headerA.rectTransform.sizeDelta = new Vec2(colWidth, 27); var headerB = Gui.CreateText(pane.rectTransform, "<header>", cfg); headerB.text = "Orders:"; headerB.rectTransform.anchorMin = headerB.rectTransform.anchorMax = new Vec2(0, 1); headerB.rectTransform.pivot = new Vec2(0, 1); headerB.rectTransform.offsetMin = new Vec2(xColB, 0); headerB.rectTransform.offsetMax = new Vec2(0, -14); headerB.rectTransform.sizeDelta = new Vec2(colWidth, 27); Color colColor = ToolbarButton.offColor.Scale(.8f); float colOfs = 29 + headerA.rectTransform.sizeDelta.y; float colHeight = size.y - (20 + colOfs); var colA = Gui.CreateColor(pane.rectTransform, "<col>", colColor); colA.rectTransform.SetFixed(Anchor.TopLeft, new Vec2(20, colOfs), new Vec2(colWidth, colHeight)); var colB = Gui.CreateColor(pane.rectTransform, "<col>", colColor); colB.rectTransform.SetFixed(Anchor.TopLeft, new Vec2(xColB, colOfs), new Vec2(colWidth, colHeight)); btnsA = new UIPool <Btn>(i => MakeButton(colA.rectTransform, i)); btnsB = new UIPool <Btn>(i => MakeButton(colB.rectTransform, i)); SetActive(false); }
public InfoPane(Transform parent, Font font) { Vec2 size = new Vec2(400, 200); pane = Gui.CreatePane( parent, "Info Panel", ToolbarButton.offColor, size, Anchor.BottomLeft, Vec2.zero); TextCfg cfg = new TextCfg() { font = font, fontSize = 24, autoResize = false, style = FontStyle.Bold, anchor = TextAnchor.UpperLeft, horiWrap = HorizontalWrapMode.Overflow, vertWrap = VerticalWrapMode.Truncate }; header = Gui.CreateText(pane.rectTransform, "<header>", cfg); header.rectTransform.SetSizePivotAnchor( new Vec2(360, 27), new Vec2(0, 1), new Vec2(0, 1)); header.rectTransform.offsetMin = new Vec2(20, 0); header.rectTransform.offsetMax = new Vec2(0, -14); header.rectTransform.sizeDelta = new Vec2(360, 27); cfg.fontSize = 18; cfg.style = FontStyle.Normal; cfg.horiWrap = HorizontalWrapMode.Wrap; info = Gui.CreateText(pane.rectTransform, "<info>", cfg); info.rectTransform.SetSizePivotAnchor( new Vec2(360, 144), new Vec2(0, 1), new Vec2(0, 1)); info.rectTransform.offsetMin = new Vec2(20, 0); info.rectTransform.offsetMax = new Vec2(0, -46); info.rectTransform.sizeDelta = new Vec2(360, 144); }