public Canvas(Vector2 scale) : base("Canvas") { canvas = UiObject.AddComponent <UnityEngine.Canvas>(); canvas.pixelPerfect = true; var canvasScal = UiObject.AddComponent <CanvasScaler>(); var camera = Camera .allCameras .FirstOrDefault(); if (camera != null) { SetCamera(camera); } else { canvas.renderMode = RenderMode.ScreenSpaceOverlay; } canvasScal.uiScaleMode = CanvasScaler.ScaleMode.ConstantPixelSize; canvasScal.referenceResolution = scale; UiObject.AddComponent <GraphicRaycaster>(); }
public Button(UnityEngine.Events.UnityAction eventListner, Sprite sprite, Rect rect, string text = "Button") : base("Button") { var trans = UiObject.AddComponent <RectTransform>(); SetSize(trans, rect.size); SetSize(trans, new Vector2(120, 32)); trans.anchoredPosition3D = new Vector3(0, 0, 0); trans.anchoredPosition = new Vector2(0, 0); trans.localScale = new Vector3(1.0f, 1.0f, 1.0f); trans.localPosition = rect.position; UiObject.AddComponent <CanvasRenderer>(); var image = UiObject.AddComponent <UnityEngine.UI.Image>(); image.sprite = sprite; image.type = UnityEngine.UI.Image.Type.Sliced; var title = new Text(text); var titleRect = title.UiObject.GetComponent <RectTransform>(); title.SetAnchor(new Vector2(0, 0), new Vector2(1, 1)); titleRect.sizeDelta.Set(0, 0); titleRect.offsetMin = new Vector2(0, 0); titleRect.offsetMax = new Vector2(0, 0); titleRect.localScale = new Vector3(1, 1, 1); AddElement(title); var button = UiObject.AddComponent <UnityEngine.UI.Button>(); button.interactable = true; button.onClick.AddListener(eventListner); }
public ScrollBar(Sprite sprite) : base("ScrollBar") { var trans = UiObject.AddComponent <RectTransform>(); trans.sizeDelta = new Vector2(0, 0); SetSize(trans, new Vector2(20, 0)); SetAnchor(new Vector2(1, 0), new Vector2(1, 1)); trans.anchoredPosition3D = new Vector3(0, 0, 0); trans.anchoredPosition = new Vector2(0, 0); trans.localPosition = new Vector3(-10, 0, 0); trans.localScale = new Vector3(1f, 1f, 1.0f); UiObject.AddComponent <CanvasRenderer>(); var slidingArea = new Element("Sliding Area"); var rectSlidingArea = slidingArea.UiObject.AddComponent <RectTransform>(); slidingArea.SetAnchor(new Vector2(0, 0), new Vector2(1, 1)); rectSlidingArea.sizeDelta = new Vector2(0, 0); rectSlidingArea.localScale = new Vector3(1, 1, 1); var Handle = new Element("Handle"); var rectHandle = Handle.UiObject.AddComponent <RectTransform>(); SetSize(rectHandle, new Vector2(0, 0)); rectHandle.anchorMin = new Vector2(0, 0.5f); rectHandle.anchorMax = new Vector2(1, 1); rectHandle.localScale = new Vector3(1f, 1f, 1f); Handle.UiObject.AddComponent <CanvasRenderer>(); var imageHandle = Handle.UiObject.AddComponent <UnityEngine.UI.Image>(); imageHandle.sprite = sprite; imageHandle.type = UnityEngine.UI.Image.Type.Sliced; slidingArea.AddElement(Handle); AddElement(slidingArea); var image = UiObject.AddComponent <UnityEngine.UI.Image>(); image.sprite = sprite; image.type = UnityEngine.UI.Image.Type.Sliced; image.color = new Color32(120, 120, 120, 180); var scrollBarScript = UiObject.AddComponent <Scrollbar>(); scrollBarScript.interactable = true; scrollBarScript.handleRect = rectHandle; scrollBarScript.direction = Scrollbar.Direction.BottomToTop; }
public Image(Sprite sprite, Rect rect) : base("Image") { var trans = UiObject.AddComponent <RectTransform>(); SetSize(trans, rect.size); SetAnchor(new Vector2(0.5f, 0.5f), new Vector2(0.5f, 0.5f)); trans.anchoredPosition3D = new Vector3(0, 0, 0); trans.anchoredPosition = new Vector2(0, 0); trans.localPosition = rect.position; UiObject.AddComponent <CanvasRenderer>(); var image = UiObject.AddComponent <UnityEngine.UI.Image>(); image.sprite = sprite; image.type = UnityEngine.UI.Image.Type.Simple; }
public Text(string message, int fontSize = 12) : base("Text") { var trans = UiObject.AddComponent <RectTransform>(); trans.sizeDelta.Set(0, 0); trans.anchoredPosition3D = new Vector3(0, 0, 0); trans.anchoredPosition = new Vector2(0, 0); trans.localScale = new Vector3(1.0f, 1.0f, 1.0f); trans.localPosition.Set(0, 0, 0); UiObject.AddComponent <CanvasRenderer>(); text = UiObject.AddComponent <UnityEngine.UI.Text>(); text.supportRichText = true; text.text = message; text.fontSize = fontSize; text.font = Resources.GetBuiltinResource(typeof(Font), "Arial.ttf") as Font; text.alignment = TextAnchor.MiddleCenter; text.horizontalOverflow = HorizontalWrapMode.Overflow; text.color = new Color(0, 0, 0); }