Example #1
0
        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>();
        }
Example #2
0
        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);
        }
Example #3
0
        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;
        }
Example #4
0
        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;
        }
Example #5
0
        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);
        }