Ejemplo n.º 1
0
 public ScrollPaneStyle(ScrollPaneStyle style) : base(style)
 {
     HorizontalScrollBackground = style.HorizontalScrollBackground;
     HorizontalScrollKnob       = style.HorizontalScrollKnob;
     VerticalScrollBackground   = style.VerticalScrollBackground;
     VerticalScrollKnob         = style.VerticalScrollKnob;
 }
Ejemplo n.º 2
0
 public SelectBoxStyle(BitmapFont font, Color fontColor, IDrawable background, ScrollPaneStyle scrollStyle,
                       ListBoxStyle listStyle)
 {
     Font        = font;
     FontColor   = fontColor;
     Background  = background;
     ScrollStyle = scrollStyle;
     ListStyle   = listStyle;
 }
Ejemplo n.º 3
0
        public void ApplyScrollPaneStyle(ScrollPaneStyle style)
        {
            HorizontalScrollBackground = style.HorizontalScrollBackground;
            HorizontalScrollKnob       = style.HorizontalScrollKnob;
            VerticalScrollBackground   = style.VerticalScrollBackground;
            VerticalScrollKnob         = style.VerticalScrollKnob;

            ApplyWidgetStyle(style);
        }
Ejemplo n.º 4
0
        public ScrollPane(ScrollPaneStyle style)
        {
            ClipToBounds = true;
            CanFocus     = true;
            _horizontalScrollbarVisible = _verticalScrollbarVisible = false;

            HorizontalAlignment = HorizontalAlignment.Stretch;
            VerticalAlignment   = VerticalAlignment.Stretch;

            if (style != null)
            {
                ApplyScrollPaneStyle(style);
            }
        }
Ejemplo n.º 5
0
        public ScrollPane(ScrollPaneStyle style)
        {
            ClipToBounds           = true;
            AcceptsMouseWheelFocus = true;
            _horizontalScrollingOn = _verticalScrollingOn = false;

            ShowVerticalScrollBar = ShowHorizontalScrollBar = true;

            HorizontalAlignment = HorizontalAlignment.Stretch;
            VerticalAlignment   = VerticalAlignment.Stretch;

            if (style != null)
            {
                ApplyScrollPaneStyle(style);
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        /// creates a default Skin that can be used for quick mockups. Includes button, textu button, checkbox, progress bar and slider styles.
        /// </summary>
        /// <returns>The default skin.</returns>
        public static Skin CreateDefaultSkin()
        {
            var skin = new Skin();

            // define our colors
            var buttonColor          = new Color(78, 91, 98);
            var buttonOver           = new Color(168, 207, 115);
            var buttonDown           = new Color(244, 23, 135);
            var overFontColor        = new Color(85, 127, 27);
            var downFontColor        = new Color(255, 255, 255);
            var checkedOverFontColor = new Color(247, 217, 222);

            var checkboxOn            = new Color(168, 207, 115);
            var checkboxOff           = new Color(63, 63, 63);
            var checkboxOver          = new Color(130, 130, 130);
            var checkboxOverFontColor = new Color(220, 220, 220);

            var barBg       = new Color(78, 91, 98);
            var barKnob     = new Color(25, 144, 188);
            var barKnobOver = new Color(168, 207, 115);
            var barKnobDown = new Color(244, 23, 135);

            var windowColor = new Color(17, 17, 17);

            var textFieldFontColor       = new Color(220, 220, 220);
            var textFieldCursorColor     = new Color(83, 170, 116);
            var textFieldSelectionColor  = new Color(180, 52, 166);
            var textFieldBackgroundColor = new Color(22, 22, 22);

            var scrollPaneScrollBarColor = new Color(44, 44, 44);
            var scrollPaneKnobColor      = new Color(241, 156, 0);

            var listBoxBackgroundColor     = new Color(20, 20, 20);
            var listBoxSelectionColor      = new Color(241, 156, 0);
            var listBoxHoverSelectionColor = new Color(120, 78, 0);

            var selectBoxBackgroundColor = new Color(10, 10, 10);

            // add all our styles
            var buttonStyle = new ButtonStyle
            {
                Up   = new PrimitiveDrawable(buttonColor, 10),
                Over = new PrimitiveDrawable(buttonOver),
                Down = new PrimitiveDrawable(buttonDown)
            };

            skin.Add("default", buttonStyle);

            var textButtonStyle = new TextButtonStyle
            {
                Up             = new PrimitiveDrawable(buttonColor, 6, 2),
                Over           = new PrimitiveDrawable(buttonOver),
                Down           = new PrimitiveDrawable(buttonDown),
                OverFontColor  = overFontColor,
                DownFontColor  = downFontColor,
                PressedOffsetX = 1,
                PressedOffsetY = 1
            };

            skin.Add("default", textButtonStyle);

            var toggleButtonStyle = new TextButtonStyle
            {
                Up      = new PrimitiveDrawable(buttonColor, 10, 5),
                Over    = new PrimitiveDrawable(buttonOver),
                Down    = new PrimitiveDrawable(buttonDown),
                Checked = new PrimitiveDrawable(new Color(255, 0, 0, 255)),
                CheckedOverFontColor = checkedOverFontColor,
                OverFontColor        = overFontColor,
                DownFontColor        = downFontColor,
                PressedOffsetX       = 1,
                PressedOffsetY       = 1
            };

            skin.Add("toggle", toggleButtonStyle);

            var checkboxStyle = new CheckBoxStyle
            {
                CheckboxOn     = new PrimitiveDrawable(30, checkboxOn),
                CheckboxOff    = new PrimitiveDrawable(30, checkboxOff),
                CheckboxOver   = new PrimitiveDrawable(30, checkboxOver),
                OverFontColor  = checkboxOverFontColor,
                DownFontColor  = downFontColor,
                PressedOffsetX = 1,
                PressedOffsetY = 1
            };

            skin.Add("default", checkboxStyle);

            var progressBarStyle = new ProgressBarStyle
            {
                Background = new PrimitiveDrawable(14, barBg),
                KnobBefore = new PrimitiveDrawable(14, barKnobOver)
            };

            skin.Add("default", progressBarStyle);

            var sliderStyle = new SliderStyle
            {
                Background = new PrimitiveDrawable(6, barBg),
                Knob       = new PrimitiveDrawable(14, barKnob),
                KnobOver   = new PrimitiveDrawable(14, barKnobOver),
                KnobDown   = new PrimitiveDrawable(14, barKnobDown)
            };

            skin.Add("default", sliderStyle);

            var windowStyle = new WindowStyle
            {
                Background = new PrimitiveDrawable(windowColor)
            };

            skin.Add("default", windowStyle);

            var textFieldStyle = TextFieldStyle.Create(textFieldFontColor, textFieldCursorColor,
                                                       textFieldSelectionColor, textFieldBackgroundColor);

            skin.Add("default", textFieldStyle);

            var labelStyle = new LabelStyle();

            skin.Add("default", labelStyle);

            var scrollPaneStyle = new ScrollPaneStyle
            {
                VScroll     = new PrimitiveDrawable(6, 0, scrollPaneScrollBarColor),
                VScrollKnob = new PrimitiveDrawable(6, 50, scrollPaneKnobColor),
                HScroll     = new PrimitiveDrawable(0, 6, scrollPaneScrollBarColor),
                HScrollKnob = new PrimitiveDrawable(50, 6, scrollPaneKnobColor)
            };

            skin.Add("default", scrollPaneStyle);

            var listBoxStyle = new ListBoxStyle
            {
                FontColorHovered = new Color(255, 255, 255),
                Selection        = new PrimitiveDrawable(listBoxSelectionColor, 5, 5),
                HoverSelection   = new PrimitiveDrawable(listBoxHoverSelectionColor, 5, 5),
                Background       = new PrimitiveDrawable(listBoxBackgroundColor)
            };

            skin.Add("default", listBoxStyle);

            var selectBoxStyle = new SelectBoxStyle
            {
                ListStyle   = listBoxStyle,
                ScrollStyle = scrollPaneStyle,
                Background  = new PrimitiveDrawable(selectBoxBackgroundColor, 4, 4)
            };

            skin.Add("default", selectBoxStyle);

            var textTooltipStyle = new TextTooltipStyle
            {
                LabelStyle = new LabelStyle(listBoxBackgroundColor),
                Background = new PrimitiveDrawable(checkboxOn, 4, 2)
            };

            skin.Add("default", textTooltipStyle);

            return(skin);
        }
        public override void initialize()
        {
            this.Communication = Nez.Core.services.GetService <CommunicationManager>();
            setDesignResolution(1280, 720, Scene.SceneResolutionPolicy.NoBorderPixelPerfect);
            Screen.setSize(1280, 720);
            var myRenderer = new ScreenSpaceRenderer(100, SCREEN_SPACE_RENDER_LAYER);

            myRenderer.wantsToRenderAfterPostProcessors = false;
            addRenderer(myRenderer);
            var myGUIRenderer = new RenderLayerExcludeRenderer(0, SCREEN_SPACE_RENDER_LAYER);

            addRenderer(myGUIRenderer);
            canvas = createEntity("GUI").addComponent(new UICanvas());
            Texture2D LoginBackground = content.Load <Texture2D>("GUI/Login Elements/LoginBackground");

            //canvas.isFullScreen = true;
            canvas.stage.addElement(new Image(LoginBackground));
            ScrollPaneStyle myScrollStyle = new ScrollPaneStyle();

            myScrollStyle.hScrollKnob = new SubtextureDrawable(Nez.Core.content.Load <Texture2D>("GUI/Scrollbar/ScrollHandle"));
            myScrollStyle.hScroll     = new SubtextureDrawable(Nez.Core.content.Load <Texture2D>("GUI/Scrollbar/HScrollBar"));
            Bodies = new ScrollPane(myBodyGroup, myScrollStyle);
            Hair   = new ScrollPane(aHairGroup, myScrollStyle);
            HorizontalGroup myHGroup = new HorizontalGroup();

            myHGroup.setAlignment(Align.left);
            myHGroup.setY(70);
            myHGroup.setSpacing(0);
            VerticalGroup myCharacterDataGroup = new VerticalGroup();

            myCharacterDataGroup.setSpacing(20);
            myCharacterDataGroup.setAlignment(Align.left);
            myCharacterViewerGroup = new VerticalGroup();
            myCharacterViewerGroup.setY(70);
            HorizontalGroup mySexGroup = new HorizontalGroup();

            mySexGroup.setSpacing(10);


            CheckBox Male = new CheckBox("Male", new CheckBoxStyle(new SubtextureDrawable(Nez.Core.content.Load <Texture2D>("GUI/Checkbox Elements/Checkbox_Unchecked")), new SubtextureDrawable(Nez.Core.content.Load <Texture2D>("GUI/Checkbox Elements/Checkbox_Checked")), Nez.Core.content.Load <BitmapFont>("Fonts/NezDefaultBMFont"), Color.White));

            myDisplayedHair = new Image();
            myDisplayedBody = new Image();
            myImageStack.addElement(myDisplayedBody);
            myImageStack.addElement(myDisplayedHair);
            var ContainerStack = new Container(myImageStack);

            ContainerStack.setWidth(128);
            ContainerStack.setHeight(128);
            myCharacterViewerGroup.addElement(ContainerStack);

            CharacterCreatorSwitch = new Button(new ButtonStyle(new SubtextureDrawable(Core.content.Load <Texture2D>("GUI/Buttons/savebutton")), new SubtextureDrawable(Core.content.Load <Texture2D>("GUI/Buttons/savebutton")), new SubtextureDrawable(Core.content.Load <Texture2D>("GUI/Buttons/savebutton"))));
            CharacterCreatorSwitch.setTouchable(Touchable.Disabled);
            myCharacterViewerGroup.setAlignment(Align.bottom);
            myCharacterViewerGroup.addElement(Bodies);
            myCharacterViewerGroup.addElement(Hair);
            myCharacterViewerGroup.setPadTop(270);
            CheckBox Female = new CheckBox("Female", new CheckBoxStyle(new SubtextureDrawable(Nez.Core.content.Load <Texture2D>("GUI/Checkbox Elements/Checkbox_Unchecked")), new SubtextureDrawable(Nez.Core.content.Load <Texture2D>("GUI/Checkbox Elements/Checkbox_Checked")), Nez.Core.content.Load <BitmapFont>("Fonts/NezDefaultBMFont"), Color.White));

            Male.onChanged += delegate(bool myResult)
            {
                if (myResult)
                {
                    PlayerData.Sex = GameData.GameDataClasses.Entities.SEX.MALE;
                }
                else
                {
                    PlayerData.Sex = null;
                }
                Female.programmaticChangeEvents = false; //Prevents it from firing.
                Female.isChecked = false;
                Female.programmaticChangeEvents = true;
                UpdateCharacterWindow();
            };
            Female.onChanged += delegate(bool myResult)
            {
                if (myResult)
                {
                    PlayerData.Sex = GameData.GameDataClasses.Entities.SEX.FEMALE;
                }
                else
                {
                    PlayerData.Sex = null;
                }
                Male.programmaticChangeEvents = false; //Prevents it from firing.
                Male.isChecked = false;
                Male.programmaticChangeEvents = true;
                UpdateCharacterWindow();
            };

            mySexGroup.addElement(Male);
            mySexGroup.addElement(Female);
            myCharacterDataGroup.addElement(mySexGroup);
            HorizontalGroup myRaceGroupAndDescription = new HorizontalGroup();
            VerticalGroup   myRaceGroup  = new VerticalGroup();
            List <CheckBox> myRaceChecks = new List <CheckBox>();

            foreach (String A in Directory.EnumerateFiles("./Content/Races"))
            {
                String   aRacename   = Path.GetFileNameWithoutExtension(A);
                Race     aLoadedRace = Nez.Core.content.Load <Race>("Races/" + aRacename);
                CheckBox aNewRace    = new CheckBox(aRacename, new CheckBoxStyle(new SubtextureDrawable(Nez.Core.content.Load <Texture2D>("GUI/Checkbox Elements/Checkbox_Unchecked")), new SubtextureDrawable(Nez.Core.content.Load <Texture2D>("GUI/Checkbox Elements/Checkbox_Checked")), Nez.Core.content.Load <BitmapFont>("Fonts/NezDefaultBMFont"), Color.White));
                myRaceChecks.Add(aNewRace);
                aNewRace.onChanged += delegate(bool myResult)
                {
                    var Racebox = aNewRace;
                    if (myResult)
                    {
                        foreach (CheckBox a in myRaceChecks)
                        {
                            if (Racebox != a)
                            {
                                a.isChecked = false;
                            }
                        }

                        Race myInternalRace = aLoadedRace;
                        SetRace(myInternalRace);
                        UpdateCharacterWindow();
                    }
                    else
                    {
                        SetRace(null);
                        UpdateCharacterWindow();
                    }
                };
                aNewRace.OnMouseOver += delegate(bool myResult)
                {
                    if (myResult)
                    {
                        Race myInternalRace = aLoadedRace;
                        myRaceDescription.setText(myInternalRace.Description);
                        myRaceDescription.setWrap(true);
                    }
                    else
                    {
                        myRaceDescription.setText("");
                    }
                };
                myRaceGroup.addElement(aNewRace);
            }
            myRaceDescription = new Label("Race Description HERE");
            myRaceDescription.setWidth(Screen.width * 0.25f);
            myRaceDescription.setHeight(30);
            myRaceDescription.setWrap(true);
            myRaceGroup.setAlignment(Align.bottomLeft);
            myRaceGroupAndDescription.setSpacing(10);
            myRaceGroupAndDescription.setWidth(100);
            myRaceGroupAndDescription.addElement(myRaceGroup);
            myRaceGroupAndDescription.setAlignment(Align.left);
            Container aRaceDescriptionHolder = new Container();

            aRaceDescriptionHolder.setSize(Screen.width * 0.25f, 30);
            aRaceDescriptionHolder.setY(0);
            aRaceDescriptionHolder.addElement(myRaceDescription);
            myRaceGroupAndDescription.addElement(aRaceDescriptionHolder);
            myCharacterDataGroup.addElement(myRaceGroupAndDescription);
            myHGroup.addElement(myCharacterDataGroup);
            myHGroup.addElement(myCharacterViewerGroup);
            //Professions GUI
            HorizontalGroup myHorizontalProfessions = new HorizontalGroup();
            VerticalGroup   myProfessionsbox        = new VerticalGroup();

            //Iterate professions however we're doing it
            myHorizontalProfessions.addElement(myProfessionsbox);
            VerticalGroup myProfessionsDesc       = new VerticalGroup();
            Label         myProfessionDescription = new Label("Profession Description HERE");

            myProfessionsDesc.addElement(myProfessionDescription);
            Label myProfessionAlert = new Label("Profession Alertbox HERE");

            myProfessionsDesc.addElement(myProfessionAlert);
            myHorizontalProfessions.addElement(myProfessionsDesc);
            myCharacterDataGroup.addElement(myHorizontalProfessions);
            canvas.stage.addElement(myHGroup);
            //myHGroup.add(myInternalHGroup);*/
            base.initialize();
        }