Пример #1
0
        public static TUIImage Create(Texture2D texture, LayoutElementData element = null)
        {
            TUIImage image = createBaseWidget <TUIImage>(element);

            RawImage uiImage = image.gameObject.AddComponent <RawImage>();

            uiImage.texture = texture;
            image.Graphic   = uiImage;

            return(image);
        }
Пример #2
0
        public static TUIImage Create(Color color, LayoutElementData element = null)
        {
            TUIImage image = createBaseWidget <TUIImage>(element);

            Image uiImage = image.gameObject.AddComponent <Image>();

            uiImage.color = color;
            image.Graphic = uiImage;

            return(image);
        }
Пример #3
0
        // TODO: auto set size

        public static TUILabel Create(string text, TUILabelSettings settings = null, LayoutElementData element = null)
        {
            TUILabel label = createBaseWidget <TUILabel>(element);

            Text uiText = label.gameObject.AddComponent <Text>();

            label.Graphic = uiText;
            uiText.text   = text;

            applySettings(ref uiText, settings ?? new TUILabelSettings());

            return(label);
        }
Пример #4
0
        public static TUIImage Create(Sprite sprite, LayoutElementData element = null)
        {
            TUIImage image = createBaseWidget <TUIImage>(element);

            Image uiImage = image.gameObject.AddComponent <Image>();

            uiImage.sprite = sprite;
            if (uiImage.sprite.HasBorder())
            {
                uiImage.type = Image.Type.Tiled;
            }

            image.Graphic = uiImage;

            return(image);
        }
Пример #5
0
        public static TUIContainer Create(ContainerLayoutType layout, LayoutElementData element = null)
        {
            TUIContainer container = createBaseWidget <TUIContainer>(element);

            switch (layout)
            {
            case ContainerLayoutType.Grid:
            {
                container.gameObject.AddComponent <GridLayoutGroup>();
                break;
            }

            case ContainerLayoutType.Horizontal:
            {
                container.gameObject.AddComponent <HorizontalLayoutGroup>();
                break;
            }

            case ContainerLayoutType.Vertical:
            {
                container.gameObject.AddComponent <VerticalLayoutGroup>();
                break;
            }

            case ContainerLayoutType.None:
            {
                // intentionally empty
                break;
            }

            default:
            {
                throw new ArgumentOutOfRangeException(nameof(layout), layout, "Layout type not found!");
            }
            }

            container.LayoutType = layout;
            return(container);
        }
Пример #6
0
        public static TUIImage Create(string path, ImageType type, bool streamingAssets = true, LayoutElementData element = null)
        {
            path = PathUtil.Combine(streamingAssets ? TUI.UIUserDataDirectory : TUI.UIDataDirectory, path);

            switch (type)
            {
            case ImageType.Sprite:
            {
                var sprite = streamingAssets
                        ? ResourceManager.Load <Sprite>(path)
                        : ResourceManager.UnityLoad <Sprite>(path);
                return(Create(sprite, element));
            }

            case ImageType.Texture:
            {
                var texture = streamingAssets
                        ? ResourceManager.Load <Texture2D>(path)
                        : ResourceManager.UnityLoad <Texture2D>(path);
                return(Create(texture, element));
            }

            default:
            {
                throw new ArgumentOutOfRangeException(nameof(type), type, "Image type not found!");
            }
            }
        }