Esempio n. 1
0
        public Actor BuildButton(LayoutGroup group, string buttonLabelText, Action onPressCallback, int height = 48)
        {
            var scene       = group.actor.scene;
            var buttonActor = scene.AddActor("Button");

            buttonActor.transform.SetParent(group.actor);
            new BoundingRect(buttonActor, 0, height);
            new NinepatchRenderer(buttonActor, this.style.buttonDefault);
            new Hoverable(buttonActor);
            new Clickable(buttonActor);
            new CallbackOnClick(buttonActor, onPressCallback);
            new ButtonNinepatchHandler(buttonActor, this.style.buttonHover, this.style.buttonPress);
            new LayoutElement(buttonActor).StretchHorizontally();
            new LayoutGroup(buttonActor, Orientation.Vertical).SetMarginSize(new Point(5, 5));
            var buttonLabelActor = scene.AddActor("Button Label");

            buttonLabelActor.transform.SetParent(buttonActor);
            new BoundingRect(buttonLabelActor, Point.Zero);
            var buttonLabelElement = new LayoutElement(buttonLabelActor);

            buttonLabelElement.StretchHorizontally();
            buttonLabelElement.StretchVertically();
            new BoundedTextRenderer(buttonLabelActor, buttonLabelText, this.style.uiElementFont, Color.White, Alignment.Center);

            buttonActor.transform.LocalDepth      = new Depth(-1);
            buttonLabelActor.transform.LocalDepth = new Depth(-1);

            return(buttonActor);
        }
Esempio n. 2
0
        public Actor BuildLabel(LayoutGroup group, string textLabel)
        {
            var scene      = group.actor.scene;
            var labelActor = scene.AddActor("Label");

            labelActor.transform.SetParent(group.actor);
            new BoundingRect(labelActor, new Point(32, 32));
            new BoundedTextRenderer(labelActor, textLabel, this.style.uiElementFont, Color.White, Alignment.BottomLeft);
            var e = new LayoutElement(labelActor);

            e.StretchHorizontally();

            labelActor.transform.LocalDepth = new Depth(-1);

            return(labelActor);
        }