public ScrollPaneStyle(ScrollPaneStyle style) : base(style) { HorizontalScrollBackground = style.HorizontalScrollBackground; HorizontalScrollKnob = style.HorizontalScrollKnob; VerticalScrollBackground = style.VerticalScrollBackground; VerticalScrollKnob = style.VerticalScrollKnob; }
public SelectBoxStyle(BitmapFont font, Color fontColor, IDrawable background, ScrollPaneStyle scrollStyle, ListBoxStyle listStyle) { Font = font; FontColor = fontColor; Background = background; ScrollStyle = scrollStyle; ListStyle = listStyle; }
public void ApplyScrollPaneStyle(ScrollPaneStyle style) { HorizontalScrollBackground = style.HorizontalScrollBackground; HorizontalScrollKnob = style.HorizontalScrollKnob; VerticalScrollBackground = style.VerticalScrollBackground; VerticalScrollKnob = style.VerticalScrollKnob; ApplyWidgetStyle(style); }
public ScrollPane(ScrollPaneStyle style) { ClipToBounds = true; CanFocus = true; _horizontalScrollbarVisible = _verticalScrollbarVisible = false; HorizontalAlignment = HorizontalAlignment.Stretch; VerticalAlignment = VerticalAlignment.Stretch; if (style != null) { ApplyScrollPaneStyle(style); } }
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); } }
/// <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(); }