Example #1
0
        public static LegoTButtonMeta Create(YuLegoTButton button)
        {
            var meta = new LegoTButtonMeta
            {
                Interactable   = button.interactable,
                TransitionType = button.transition.ToString().AsEnum <LegoTransition>()
            };

            switch (meta.TransitionType)
            {
            case LegoTransition.None:
                break;

            case LegoTransition.ColorTint:
                meta.ColorTintMeta = LegoColorTintMeta.Create(button);
                break;

            case LegoTransition.SpriteSwap:
                meta.SpriteSwapMeta = LegoSpriteSwapMeta.create(button);
                break;

            case LegoTransition.Animation:
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            // 按钮上的图片
            meta.ButtonImageMeta = LegoImageMeta.Create(button.BgImage.As <YuLegoImage>());

            // 子文本
            meta.IsTextActive = button.SonText.gameObject.activeSelf;
            meta.TextRect     = LegoRectTransformMeta.Create(button.SonText.rectTransform);
            meta.TextMeta     = LegoTextMeta.Create(button.SonText);

            // 图标图片
            meta.IconRectMeta  = LegoRectTransformMeta.Create(button.IconImage.RectTransform);
            meta.IconImageMeta = LegoImageMeta.Create(button.IconImage.As <YuLegoImage>());

            return(meta);
        }
Example #2
0
        public static LegoSpriteSwapMeta create(Selectable selectable)
        {
            var meta        = new LegoSpriteSwapMeta();
            var spriteState = selectable.spriteState;

            if (selectable.targetGraphic == null && spriteState.highlightedSprite == null &&
                spriteState.pressedSprite == null &&
                spriteState.disabledSprite == null
                )
            {
                meta.NoSprite = true;
            }
            else
            {
                meta.TargetGraphic     = selectable.targetGraphic == null ? null : selectable.targetGraphic.name;
                meta.HighlightedSprite =
                    spriteState.highlightedSprite == null ? null : spriteState.highlightedSprite.name;
                meta.PressedSprite  = spriteState.pressedSprite == null ? null : spriteState.pressedSprite.name;
                meta.DisabledSprite = spriteState.pressedSprite == null ? null : spriteState.pressedSprite.name;
            }

            return(meta);
        }