diff --git a/MonogameLibrary/UI/Elements/Slider.cs b/MonogameLibrary/UI/Elements/Slider.cs index f614f53..fd884d8 100644 --- a/MonogameLibrary/UI/Elements/Slider.cs +++ b/MonogameLibrary/UI/Elements/Slider.cs @@ -21,7 +21,7 @@ namespace MonogameLibrary.UI.Elements public int indentation = 5; Texture2D texture2; - public Rectangle sliderRect = new Rectangle(0, 0, 30, 30); + public Rectangle sliderRect = new Rectangle(0, 0, 40, 40); private float sliderValue = 0; private float minValue = 0, maxValue = 1; SliderState sliderState = SliderState.None; @@ -56,7 +56,7 @@ namespace MonogameLibrary.UI.Elements public override void LoadTexture(ContentManager content) { - texture2 = content.Load("Textures\\GUI\\checkboxs_off"); + texture2 = content.Load("Textures\\GUI\\switch"); base.LoadTexture(content); } @@ -73,11 +73,11 @@ namespace MonogameLibrary.UI.Elements sliderRect.X += (int)(sliderValue * (rectangle.Width - sliderRect.Width - indentation * 2) + indentation); sliderRect.Y -= sliderRect.Height / 2 - rectangle.Height / 2; if (sliderState == SliderState.Moving) - _spriteBatch.Draw(texture2, sliderRect, Color.DarkRed); + _spriteBatch.Draw(texture2, sliderRect, Color.Gray); else if(sliderState == SliderState.HoveringOverSliderButton) - _spriteBatch.Draw(texture2, sliderRect, new Color(200,0 ,0)); + _spriteBatch.Draw(texture2, sliderRect, Color.DarkGray); else - _spriteBatch.Draw(texture2, sliderRect, Color.Red); + _spriteBatch.Draw(texture2, sliderRect, Color.White); DrawText(_spriteBatch); } } diff --git a/ZoFo/Content/Content.mgcb b/ZoFo/Content/Content.mgcb index e1730da..a608235 100644 --- a/ZoFo/Content/Content.mgcb +++ b/ZoFo/Content/Content.mgcb @@ -27,6 +27,13 @@ /processorParam:TextureFormat=Compressed /build:Fonts/Font2.spritefont +#begin Fonts/Font3.spritefont +/importer:FontDescriptionImporter +/processor:FontDescriptionProcessor +/processorParam:PremultiplyAlpha=True +/processorParam:TextureFormat=Compressed +/build:Fonts/Font3.spritefont + #begin Textures/GUI/checkboxs_off-on.png /importer:TextureImporter /processor:TextureProcessor @@ -75,3 +82,39 @@ /processorParam:TextureFormat=Color /build:Textures/GUI/MenuBackground.jpg +#begin Textures/GUI/mouse.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Textures/GUI/mouse.png + +#begin Textures/GUI/Switch_backgrownd.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Textures/GUI/Switch_backgrownd.png + +#begin Textures/GUI/switch.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Textures/GUI/switch.png + diff --git a/ZoFo/Content/Fonts/Font3.spritefont b/ZoFo/Content/Fonts/Font3.spritefont new file mode 100644 index 0000000..b82ba24 --- /dev/null +++ b/ZoFo/Content/Fonts/Font3.spritefont @@ -0,0 +1,60 @@ + + + + + + + MouldyCheeseRegular-WyMWG.ttf + + + 50 + + + 0 + + + true + + + + + + + + + + + + ~ + + + + diff --git a/ZoFo/Content/Fonts/MouldyCheeseRegular-WyMWG.ttf b/ZoFo/Content/Fonts/MouldyCheeseRegular-WyMWG.ttf new file mode 100644 index 0000000..9c36cd0 Binary files /dev/null and b/ZoFo/Content/Fonts/MouldyCheeseRegular-WyMWG.ttf differ diff --git a/ZoFo/Content/Textures/GUI/Switch_backgrownd.png b/ZoFo/Content/Textures/GUI/Switch_backgrownd.png new file mode 100644 index 0000000..bd9e1d8 Binary files /dev/null and b/ZoFo/Content/Textures/GUI/Switch_backgrownd.png differ diff --git a/ZoFo/Content/Textures/GUI/checkboxs_off-on.png b/ZoFo/Content/Textures/GUI/checkboxs_off-on.png index 0537fc1..682b82a 100644 Binary files a/ZoFo/Content/Textures/GUI/checkboxs_off-on.png and b/ZoFo/Content/Textures/GUI/checkboxs_off-on.png differ diff --git a/ZoFo/Content/Textures/GUI/checkboxs_off.png b/ZoFo/Content/Textures/GUI/checkboxs_off.png index f258fcb..f6533ba 100644 Binary files a/ZoFo/Content/Textures/GUI/checkboxs_off.png and b/ZoFo/Content/Textures/GUI/checkboxs_off.png differ diff --git a/ZoFo/Content/Textures/GUI/checkboxs_on.png b/ZoFo/Content/Textures/GUI/checkboxs_on.png index 9f7a350..693b0cc 100644 Binary files a/ZoFo/Content/Textures/GUI/checkboxs_on.png and b/ZoFo/Content/Textures/GUI/checkboxs_on.png differ diff --git a/ZoFo/Content/Textures/GUI/mouse.png b/ZoFo/Content/Textures/GUI/mouse.png new file mode 100644 index 0000000..23146e6 Binary files /dev/null and b/ZoFo/Content/Textures/GUI/mouse.png differ diff --git a/ZoFo/Content/Textures/GUI/switch.png b/ZoFo/Content/Textures/GUI/switch.png new file mode 100644 index 0000000..a296c61 Binary files /dev/null and b/ZoFo/Content/Textures/GUI/switch.png differ diff --git a/ZoFo/GameCore/GUI/AbstractGUI.cs b/ZoFo/GameCore/GUI/AbstractGUI.cs index 2c2d7f6..bdc4d60 100644 --- a/ZoFo/GameCore/GUI/AbstractGUI.cs +++ b/ZoFo/GameCore/GUI/AbstractGUI.cs @@ -21,6 +21,8 @@ public abstract class AbstractGUI protected DrawableUIElement SelectedElement; private bool isStartedPrint = false; private bool isPressed = false; + private Texture2D mouse; + private MouseState mouseState; public AbstractGUI() { @@ -37,20 +39,20 @@ public abstract class AbstractGUI public virtual void LoadContent() { Manager.LoadContent(AppManager.Instance.Content, "Font"); + mouse = AppManager.Instance.Content.Load("Textures\\GUI\\mouse"); } public virtual void Update(GameTime gameTime) { Manager.Update(gameTime); + mouseState = Mouse.GetState(); } public virtual void Draw(SpriteBatch spriteBatch) { Manager.Draw(spriteBatch); - } - - public virtual void ResolutioChenges() - { - + spriteBatch.Begin(); + spriteBatch.Draw(mouse, new Rectangle(mouseState.Position.X, mouseState.Position.Y, 20, 40), Color.Red); + spriteBatch.End(); } } \ No newline at end of file diff --git a/ZoFo/GameCore/GUI/OptionsGUI.cs b/ZoFo/GameCore/GUI/OptionsGUI.cs index 11f8c5e..a60611b 100644 --- a/ZoFo/GameCore/GUI/OptionsGUI.cs +++ b/ZoFo/GameCore/GUI/OptionsGUI.cs @@ -30,11 +30,11 @@ public class OptionsGUI : AbstractGUI Label label_OverallVolume = new Label(Manager) - { fontName = "Fonts\\Font", scale = 0.2f, text = "All Volume", fontColor = Color.White, rectangle = new Rectangle(width / 3, height / 3, 50, 50), mainColor = Color.Transparent, textAligment = MonogameLibrary.UI.Enums.TextAligment.Left }; + { fontName = "Fonts\\Font", scale = 0.2f, text = "All Volume", fontColor = Color.White, rectangle = new Rectangle(width / 3, height / 3, width / 40, height / 20), mainColor = Color.Transparent, textAligment = MonogameLibrary.UI.Enums.TextAligment.Left }; Elements.Add(label_OverallVolume); var slider_OverallVolume = new Slider(Manager) - { rectangle = new Rectangle(width / 2, height / 3, width / 10, height / 20), indentation = 4, textureName = "Textures\\GUI\\checkbox_on", MinValue = 0, MaxValue = 1 }; + { rectangle = new Rectangle(width / 2, height / 3, width / 10, height / 20), indentation = 4, textureName = "Textures\\GUI\\Switch_backgrownd", MinValue = 0, MaxValue = 1 }; slider_OverallVolume.SliderChanged += (newVal) => { @@ -42,11 +42,11 @@ public class OptionsGUI : AbstractGUI Elements.Add(slider_OverallVolume); Label label_MusicVolume = new Label(Manager) - { fontName = "Fonts\\Font", scale = 0.2f, text = "Music Volume", fontColor = Color.White, rectangle = new Rectangle(width / 3, height / 3 + (height / 20 + height / 40) * 1, 50, 50), mainColor = Color.Transparent, textAligment = MonogameLibrary.UI.Enums.TextAligment.Left }; + { fontName = "Fonts\\Font", scale = 0.2f, text = "Music Volume", fontColor = Color.White, rectangle = new Rectangle(width / 3, height / 3 + (height / 20 + height / 40) * 1, width / 40, height / 20), mainColor = Color.Transparent, textAligment = MonogameLibrary.UI.Enums.TextAligment.Left }; Elements.Add(label_MusicVolume); var slider_MusicVolume = new Slider(Manager) - { rectangle = new Rectangle(width / 2, height / 3 + (height / 20 + height / 40) * 1, width / 10, height / 20), indentation = 4, textureName = "Textures\\GUI\\checkboxs_on", MinValue = 0, MaxValue = 1 }; + { rectangle = new Rectangle(width / 2, height / 3 + (height / 20 + height / 40) * 1, width / 10, height / 20), indentation = 4, textureName = "Textures\\GUI\\Switch_backgrownd", MinValue = 0, MaxValue = 1 }; slider_MusicVolume.SliderChanged += (newVal) => { @@ -55,11 +55,11 @@ public class OptionsGUI : AbstractGUI Label label_EffectsVolume = new Label(Manager) - { fontName = "Fonts\\Font", scale = 0.2f, text = "Effects Volume", fontColor = Color.White, rectangle = new Rectangle(width / 3, height / 3 + (height / 20 + height / 40) * 2, 50, 50), mainColor = Color.Transparent, textAligment = MonogameLibrary.UI.Enums.TextAligment.Left }; + { fontName = "Fonts\\Font", scale = 0.2f, text = "Effects Volume", fontColor = Color.White, rectangle = new Rectangle(width / 3, height / 3 + (height / 20 + height / 40) * 2, width / 40, height / 20), mainColor = Color.Transparent, textAligment = MonogameLibrary.UI.Enums.TextAligment.Left }; Elements.Add(label_EffectsVolume); var slider_EffectsVolume = new Slider(Manager) - { rectangle = new Rectangle(width / 2, height / 3 + (height / 20 + height / 40) * 2, width / 10, height / 20), indentation = 4, textureName = "Textures\\GUI\\checkboxs_on", MinValue = 0, MaxValue = 1 }; + { rectangle = new Rectangle(width / 2, height / 3 + (height / 20 + height / 40) * 2, width / 10, height / 20), indentation = 4, textureName = "Textures\\GUI\\Switch_backgrownd", MinValue = 0, MaxValue = 1 }; slider_EffectsVolume.SliderChanged += (newVal) => { @@ -67,7 +67,7 @@ public class OptionsGUI : AbstractGUI Elements.Add(slider_EffectsVolume); Label lblSwitchMode = new Label(Manager) - { fontName = "Fonts\\Font", scale = 0.2f, text = "Left/Right Mode", fontColor = Color.White, rectangle = new Rectangle(width / 3, height / 3 + (height / 20 + height / 40) * 3, 50, 50), mainColor = Color.Transparent}; + { fontName = "Fonts\\Font", scale = 0.2f, text = "Resolution set", fontColor = Color.White, rectangle = new Rectangle(width / 3, height / 3 + (height / 20 + height / 40) * 3, width / 40, height / 20), mainColor = Color.Transparent, textAligment = MonogameLibrary.UI.Enums.TextAligment.Left }; Elements.Add(lblSwitchMode); //var button_left_right_mode = new CheckBox(Manager) { rectangle = new Rectangle(rightBorder - checkboxlength, lblSwitchMode.rectangle.Y - 12, checkboxlength, checkboxlength) }; @@ -76,10 +76,10 @@ public class OptionsGUI : AbstractGUI Label label_IsFullScreen = new Label(Manager) - { fontName = "Fonts\\Font", scale = 0.2f, text = "Full Screen", fontColor = Color.White, rectangle = new Rectangle(width / 3, height / 3 + (height / 20 + height / 40) * 4, 50, 50), mainColor = Color.Transparent}; + { fontName = "Fonts\\Font", scale = 0.2f, text = "Full Screen", fontColor = Color.White, rectangle = new Rectangle(width / 3, height / 3 + (height / 20 + height / 40) * 4, width / 40, width / 40), mainColor = Color.Transparent, textAligment = MonogameLibrary.UI.Enums.TextAligment.Left }; Elements.Add(label_IsFullScreen); - var button_FullScreen = new CheckBox(Manager) { rectangle = new Rectangle(width / 2, height / 3 + (height / 20 + height / 40) * 4, width / 30, width / 30) }; + var button_FullScreen = new CheckBox(Manager) { rectangle = new Rectangle(width / 2, height / 3 + (height / 20 + height / 40) * 4, width / 40, width / 40) }; button_FullScreen.Checked += (newCheckState) => { @@ -88,11 +88,11 @@ public class OptionsGUI : AbstractGUI Button bTExit = new Button(Manager) - { fontName = "Fonts\\Font", scale = 0.2f, text = "<-", rectangle = new Rectangle(width / 30, height / 30, 40, 40), textureName = "Textures\\GUI\\checkboxs_off" }; + { fontName = "Fonts\\Font3", scale = 0.4f, text = "<-", fontColor = Color.Black, mainColor = Color.Transparent, rectangle = new Rectangle(width / 30, height / 30, width / 40, width / 40), textureName = "Textures\\GUI\\checkboxs_off"}; Elements.Add(bTExit); bTExit.LeftButtonPressed += () => { - + AppManager.Instance.SetGUI(new MainMenuGUI()); }; } diff --git a/ZoFo/GameCore/GameManagers/AppManager.cs b/ZoFo/GameCore/GameManagers/AppManager.cs index 3be4402..fbb7726 100644 --- a/ZoFo/GameCore/GameManagers/AppManager.cs +++ b/ZoFo/GameCore/GameManagers/AppManager.cs @@ -58,6 +58,7 @@ namespace ZoFo.GameCore.GameManagers currentGUI = new MainMenuGUI(); debugHud = new DebugHUD(); + IsMouseVisible = false; } @@ -66,6 +67,7 @@ namespace ZoFo.GameCore.GameManagers currentGUI.Initialize(); debugHud.Initialize(); + base.Initialize(); @@ -115,8 +117,8 @@ namespace ZoFo.GameCore.GameManagers - debugHud.Draw(_spriteBatch); currentGUI.Draw(_spriteBatch); + debugHud.Draw(_spriteBatch); switch (gamestate) { case GameState.ClientPlaying: