diff --git a/DangerousD/Content/Content.mgcb b/DangerousD/Content/Content.mgcb index cfe88ef..9e7cfe6 100644 --- a/DangerousD/Content/Content.mgcb +++ b/DangerousD/Content/Content.mgcb @@ -20,6 +20,42 @@ /processorParam:TextureFormat=Compressed /build:ButtonFont.spritefont +#begin checkboxs_off-on.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:checkboxs_off-on.png + +#begin checkboxs_off.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:checkboxs_off.png + +#begin checkboxs_on.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:checkboxs_on.png + #begin deathBackground.jpg /importer:TextureImporter /processor:TextureProcessor @@ -101,6 +137,18 @@ /processorParam:TextureFormat=Color /build:MonstersAnimations.png +#begin optionsBackground.jpg +/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:optionsBackground.jpg + #begin PC_Computer_Dangerous_Dave_In_The_Haunted_Mansion_Death_Sequences.png /importer:TextureImporter /processor:TextureProcessor @@ -113,7 +161,7 @@ /processorParam:TextureFormat=Color /build:PC_Computer_Dangerous_Dave_In_The_Haunted_Mansion_Death_Sequences.png -#begin textboxbackground.png +#begin textboxbackground1-1.png /importer:TextureImporter /processor:TextureProcessor /processorParam:ColorKeyColor=255,0,255,255 @@ -123,9 +171,9 @@ /processorParam:ResizeToPowerOfTwo=False /processorParam:MakeSquare=False /processorParam:TextureFormat=Color -/build:textboxbackground.png +/build:textboxbackground1-1.png -#begin textboxbackground2.png +#begin textboxbackground2-1.png /importer:TextureImporter /processor:TextureProcessor /processorParam:ColorKeyColor=255,0,255,255 @@ -135,7 +183,31 @@ /processorParam:ResizeToPowerOfTwo=False /processorParam:MakeSquare=False /processorParam:TextureFormat=Color -/build:textboxbackground2.png +/build:textboxbackground2-1.png + +#begin textboxbackground2,5-1.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:textboxbackground2,5-1.png + +#begin textboxbackground6-1.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:textboxbackground6-1.png #begin wall.jpg /importer:TextureImporter diff --git a/DangerousD/Content/checkboxs_off-on.png b/DangerousD/Content/checkboxs_off-on.png new file mode 100644 index 0000000..7786bbb Binary files /dev/null and b/DangerousD/Content/checkboxs_off-on.png differ diff --git a/DangerousD/Content/checkboxs_off.png b/DangerousD/Content/checkboxs_off.png new file mode 100644 index 0000000..45d755e Binary files /dev/null and b/DangerousD/Content/checkboxs_off.png differ diff --git a/DangerousD/Content/checkboxs_on.png b/DangerousD/Content/checkboxs_on.png new file mode 100644 index 0000000..bc5b0c1 Binary files /dev/null and b/DangerousD/Content/checkboxs_on.png differ diff --git a/DangerousD/Content/menuFon.jpg b/DangerousD/Content/menuFon.jpg index 4f49988..c95f8fa 100644 Binary files a/DangerousD/Content/menuFon.jpg and b/DangerousD/Content/menuFon.jpg differ diff --git a/DangerousD/Content/optionsBackground.jpg b/DangerousD/Content/optionsBackground.jpg new file mode 100644 index 0000000..dd87cd7 Binary files /dev/null and b/DangerousD/Content/optionsBackground.jpg differ diff --git a/DangerousD/Content/textboxbackground1-1.png b/DangerousD/Content/textboxbackground1-1.png new file mode 100644 index 0000000..90219bf Binary files /dev/null and b/DangerousD/Content/textboxbackground1-1.png differ diff --git a/DangerousD/Content/textboxbackground2.png b/DangerousD/Content/textboxbackground2,5-1.png similarity index 100% rename from DangerousD/Content/textboxbackground2.png rename to DangerousD/Content/textboxbackground2,5-1.png diff --git a/DangerousD/Content/textboxbackground2-1.png b/DangerousD/Content/textboxbackground2-1.png new file mode 100644 index 0000000..a50c11f Binary files /dev/null and b/DangerousD/Content/textboxbackground2-1.png differ diff --git a/DangerousD/Content/textboxbackground.png b/DangerousD/Content/textboxbackground6-1.png similarity index 100% rename from DangerousD/Content/textboxbackground.png rename to DangerousD/Content/textboxbackground6-1.png diff --git a/DangerousD/GameCore/GUI/DeathGUI.cs b/DangerousD/GameCore/GUI/DeathGUI.cs index c69c7da..5754efa 100644 --- a/DangerousD/GameCore/GUI/DeathGUI.cs +++ b/DangerousD/GameCore/GUI/DeathGUI.cs @@ -11,14 +11,14 @@ internal class DeathGUI : AbstractGui { protected override void CreateUI() { - int wigth = AppManager.Instance.Window.ClientBounds.Width; - int height = AppManager.Instance.Window.ClientBounds.Height; + int wigth = AppManager.Instance.inGameResolution.X; + int height = AppManager.Instance.inGameResolution.Y; var menuBackground = new DrawableUIElement(Manager) { rectangle = new Rectangle(0, 0, wigth, height), textureName = "deathBackground" }; Elements.Add(menuBackground); menuBackground.LoadTexture(AppManager.Instance.Content); - Elements.Add(new Label(Manager) { rectangle = new Rectangle((wigth - 50) / 2, 120, 50, 50), text = "You death", mainColor = Color.Transparent, scale = 0.5f, fontName = "ButtonFont", fontColor = Color.White }); - Elements.Add(new Label(Manager) { rectangle = new Rectangle((wigth - 50) / 2, 190, 50, 50), text = $"Score = {0}", mainColor = Color.Transparent, scale = 0.5f, fontName = "ButtonFont", fontColor = Color.White }); - var butMenu = new ButtonText(Manager) { rectangle = new Rectangle((wigth - 300) / 2, 260, 300, 50), text = "Back to menu", fontName = "ButtonFont" }; + Elements.Add(new Label(Manager) { rectangle = new Rectangle((wigth - 50) / 2, (height - 50) / 2 - 80, 50, 50), text = "You death", mainColor = Color.Transparent, scale = 0.7f, fontName = "ButtonFont", fontColor = Color.White }); + Elements.Add(new Label(Manager) { rectangle = new Rectangle((wigth - 50) / 2, (height - 50) / 2, 50, 50), text = $"Score = {0}", mainColor = Color.Transparent, scale = 0.7f, fontName = "ButtonFont", fontColor = Color.White }); + var butMenu = new ButtonText(Manager) { rectangle = new Rectangle((wigth - 300) / 2, (height - 50) / 2 + 80, 300, 50), text = "Back to menu", scale = 0.7f, fontName = "ButtonFont" }; Elements.Add(butMenu); butMenu.LeftButtonPressed += () => { diff --git a/DangerousD/GameCore/GUI/LobbyGUI.cs b/DangerousD/GameCore/GUI/LobbyGUI.cs index 0de943a..f875940 100644 --- a/DangerousD/GameCore/GUI/LobbyGUI.cs +++ b/DangerousD/GameCore/GUI/LobbyGUI.cs @@ -31,67 +31,72 @@ namespace DangerousD.GameCore.GUI // CheckBoxs var lobby = new Label(Manager) { rectangle = new Rectangle(screenWidth / 30 * 2, screenHeight / 30 * 5, - screenWidth / 30 * 26, screenHeight / 15 * 10), textureName = "textboxbackground2" }; + screenWidth / 30 * 26, screenHeight / 15 * 10), textureName = "textboxbackground2,5-1" }; Elements.Add(lobby); lobby.LoadTexture(AppManager.Instance.Content); // Buttons { - Button backButton = new ButtonText(Manager) + Button backButton = new Button(Manager) { - rectangle = new Rectangle(screenWidth / 30, screenHeight / 30, 60, 50), + rectangle = new Rectangle(screenWidth / 30, screenHeight / 30, (int)(40 * 2.4), (int)(40 * 2.4)), text = "<-", - scale = 0.3f, + scale = 0.72f, fontColor = Color.Black, - fontName = "font2" + fontName = "font2", + textureName = "textboxbackground1-1" }; backButton.LeftButtonPressed += () => { AppManager.Instance.ChangeGameState(GameState.Menu); }; - Button hostButton = new ButtonText(Manager) + Button hostButton = new Button(Manager) { - rectangle = new Rectangle(screenWidth / 30, screenHeight / 15 * 13, 120, 50), + rectangle = new Rectangle(screenWidth / 30, screenHeight / 15 * 13, (int)(120 * 2.4), (int)(50 * 2.4)), text = "Host", - scale = 0.2f, - fontColor = Color.Black, - fontName = "font2" + scale = 0.48f, + fontColor = Color.DarkBlue, + fontName = "buttonFont", + textureName = "textboxbackground2-1" }; hostButton.LeftButtonPressed += () => { }; - Button refreshButton = new ButtonText(Manager) + Button refreshButton = new Button(Manager) { - rectangle = new Rectangle(screenWidth / 30 * 6, screenHeight / 15 * 13, 120, 50), + rectangle = new Rectangle(screenWidth / 30 * 6, screenHeight / 15 * 13, (int)(120 * 2.4), (int)(50 * 2.4)), text = "Refresh", - scale = 0.2f, - fontColor = Color.Black, - fontName = "font2" + scale = 0.48f, + fontColor = Color.DarkBlue, + fontName = "buttonFont", + textureName = "textboxbackground2-1" }; refreshButton.LeftButtonPressed += () => { }; - Button joinSelectedButton = new ButtonText(Manager) + Button joinSelectedButton = new Button(Manager) { - rectangle = new Rectangle(screenWidth / 30 * 25, screenHeight / 15 * 13, 120, 50), + rectangle = new Rectangle(screenWidth / 30 * 25, screenHeight / 15 * 13, (int)(120 * 2.4), (int)(50 * 2.4)), text = "Join", - scale = 0.2f, - fontColor = Color.Black, - fontName = "font2" + scale = 0.48f, + fontColor = Color.DarkBlue, + fontName = "buttonFont", + textureName = "textboxbackground2-1" }; joinSelectedButton.LeftButtonPressed += () => { }; - Button joinByIpButton = new ButtonText(Manager) + Button joinByIpButton = new Button(Manager) { - rectangle = new Rectangle(screenWidth / 30 * 25, screenHeight / 30, 120, 50), + rectangle = new Rectangle(screenWidth / 30 * 25, screenHeight / 30, (int)(120 * 2.4), (int)(50 * 2.4)), text = "JoinByIp", - scale = 0.2f, - fontColor = Color.Black, - fontName = "font2" + scale = 0.48f, + fontColor = Color.DarkBlue, + fontName = "buttonFont", + textureName = "textboxbackground2-1" }; joinByIpButton.LeftButtonPressed += () => { @@ -104,11 +109,11 @@ namespace DangerousD.GameCore.GUI rectangle = new Rectangle(screenWidth / 30 * 14, screenHeight / 30, screenWidth / 30 * 10, screenHeight / 30 * 3), text = "ip", - scale = 0.16f, + scale = 0.384f, fontColor = Color.White, fontName = "font2", textAligment = TextAligment.Left, - textureName = "textboxbackground" + textureName = "textboxbackground6-1" }; searchBarTextBox.LoadTexture(AppManager.Instance.Content); diff --git a/DangerousD/GameCore/GUI/LoginGUI.cs b/DangerousD/GameCore/GUI/LoginGUI.cs index 922775e..37a62eb 100644 --- a/DangerousD/GameCore/GUI/LoginGUI.cs +++ b/DangerousD/GameCore/GUI/LoginGUI.cs @@ -32,9 +32,9 @@ namespace DangerousD.GameCore.GUI loginBackground.LoadTexture(AppManager.Instance.Content); Elements.Add(new Label(Manager) { - rectangle = new Rectangle(screenWidth / 2 - 250, screenHeight / 6 - 50, 500, 100), + rectangle = new Rectangle(screenWidth / 2 - (int)(250 * 2.4), screenHeight / 6 - 100, (int)(500 * 2.4), (int)(100 * 2.4)), text = "Login", - scale = 0.8f, + scale = 1.7f, fontColor = Color.White, mainColor = Color.Transparent, fontName = "ButtonFont" @@ -44,13 +44,13 @@ namespace DangerousD.GameCore.GUI { TextBox loginTextBox = new TextBox(Manager) { - rectangle = new Rectangle(screenWidth / 2 - 125, screenHeight / 6 * 2 - 20, 250, 40), + rectangle = new Rectangle(screenWidth / 2 - (int)(125 * 2.4), screenHeight / 6 * 2 - 20, (int)(250 * 2.4), (int)(40 * 2.4)), text = "NickName", - scale = 0.16f, + scale = 0.33f, fontColor = Color.Gray, fontName = "Font2", textAligment = TextAligment.Left, - textureName = "textboxbackground" + textureName = "textboxbackground6-1" }; loginTextBox.LoadTexture(AppManager.Instance.Content); @@ -70,13 +70,13 @@ namespace DangerousD.GameCore.GUI TextBox passwordTextBox = new TextBox(Manager) { - rectangle = new Rectangle(screenWidth / 2 - 125, screenHeight / 6 * 3 - 40, 250, 40), + rectangle = new Rectangle(screenWidth / 2 - (int)(125 * 2.4), screenHeight / 6 * 3 - 40, (int)(250 * 2.4), (int)(40 * 2.4)), text = "Password", - scale = 0.16f, + scale = 0.33f, fontColor = Color.Gray, fontName = "font2", textAligment = TextAligment.Left, - textureName = "textboxbackground" + textureName = "textboxbackground6-1" }; passwordTextBox.LoadTexture(AppManager.Instance.Content); passwordTextBox.TextChanged += input => { @@ -96,12 +96,13 @@ namespace DangerousD.GameCore.GUI // Кнопки { - Button logButton = new ButtonText(Manager) { - rectangle = new Rectangle(screenWidth / 4 + 50, screenHeight / 6 * 4, 100, 50), + Button logButton = new Button(Manager) { + rectangle = new Rectangle(screenWidth / 4 + (int)(50 * 2.4), screenHeight / 6 * 3 + 100, (int)(100 * 2.4), (int)(50 * 2.4)), text = "LogIn", - scale = 0.2f, - fontColor = Color.Black, - fontName = "font2" + scale = 0.6f, + fontColor = Color.White, + fontName = "ButtonFont", + textureName = "textboxbackground2-1" }; logButton.LeftButtonPressed += () => { if (CheckUser()) @@ -110,23 +111,25 @@ namespace DangerousD.GameCore.GUI } }; - Button regButton = new ButtonText(Manager) + Button regButton = new Button(Manager) { - rectangle = new Rectangle(screenWidth / 4 * 2 + 50, screenHeight / 6 * 4, 100, 50), + rectangle = new Rectangle(screenWidth / 4 * 2 + (int)(50 * 2.4), screenHeight / 6 * 3 + 100, (int)(100 * 2.4), (int)(50 * 2.4)), text = "Reg", - scale = 0.2f, - fontColor = Color.Black, - fontName = "font2" + scale = 0.6f, + fontColor = Color.White, + fontName = "ButtonFont", + textureName = "textboxbackground2-1" }; regButton.LeftButtonPressed += GoToRegWebServer; - Button backButton = new ButtonText(Manager) + Button backButton = new Button(Manager) { - rectangle = new Rectangle(screenWidth / 20, screenHeight / 15, 50, 50), + rectangle = new Rectangle(screenWidth / 20, screenHeight / 15, (int)(40 * 2.4), (int)(40 * 2.4)), text = "<-", - scale = 0.3f, + scale = 0.72f, fontColor = Color.Black, - fontName = "font2" + fontName = "font2", + textureName = "textboxbackground1-1" }; backButton.LeftButtonPressed += () => { AppManager.Instance.ChangeGameState(GameState.Menu); diff --git a/DangerousD/GameCore/GUI/MenuGUI.cs b/DangerousD/GameCore/GUI/MenuGUI.cs index e363948..b88e2de 100644 --- a/DangerousD/GameCore/GUI/MenuGUI.cs +++ b/DangerousD/GameCore/GUI/MenuGUI.cs @@ -13,35 +13,50 @@ internal class MenuGUI : AbstractGui int selected = 0; protected override void CreateUI() { - int wigth = AppManager.Instance.Window.ClientBounds.Width; - int height = AppManager.Instance.Window.ClientBounds.Height; + int wigth = AppManager.Instance.inGameResolution.X; + int height = AppManager.Instance.inGameResolution.Y; + var menuBackground = new DrawableUIElement(Manager) { rectangle = new Rectangle(0, 0, wigth, height), textureName = "menuFon" }; Elements.Add(menuBackground); menuBackground.LoadTexture(AppManager.Instance.Content); - Elements.Add(new Label(Manager) { rectangle = new Rectangle((wigth - 50) / 2 - 60, 60, 50, 50), text = "Dangerous", mainColor = Color.Transparent, scale = 0.7f, fontName = "Font2", fontColor = Color.White }); - Elements.Add(new Label(Manager) { rectangle = new Rectangle((wigth - 50) / 2 + 250, 90, 50, 50), text = "D", mainColor = Color.Transparent, scale = 1.2f, fontName = "Font2", fontColor = Color.White }); - var butSingle = new ButtonText(Manager) { rectangle = new Rectangle((wigth - 300) / 2, 130, 300, 50), text = "Singleplayer", fontName = "ButtonFont" }; + + Color[] colors = new Color[] { new Color(64, 53, 51), new Color(84, 58, 52), + new Color(170, 101, 63), new Color(254, 208, 116), new Color(252, 231, 124) }; + for (int i = 0; i < colors.Length; i++) + Elements.Add(new Label(Manager) { rectangle = new Rectangle((wigth - 50) / 2 - 60, 200, 50, 50), text = "Dangerous", mainColor = Color.Transparent, scale = 1.35f - 0.05f * i * i / 10, fontName = "Font2", fontColor = colors[i] }); + + int dx = 50; + Color[] colors2 = new Color[] { new Color(64, 53, 51), new Color(84, 58, 52), + new Color(170, 101, 63), new Color(254, 208, 116), new Color(252, 231, 124) }; + for (int i = 0; i < colors2.Length; i++) + Elements.Add(new Label(Manager) { rectangle = new Rectangle((wigth - 50) / 2 + 480 + dx - i * i, 260 - i * i / 5, 50, 50), text = "D", mainColor = Color.Transparent, scale = 2.15f - 0.05f * i * i / 5, fontName = "Font2", fontColor = colors2[i] }); + + + + //Elements.Add(new Label(Manager) { rectangle = new Rectangle((wigth - 50) / 2 - 60, 200, 50, 50), text = "Dangerous", mainColor = Color.Transparent, scale = 1.2f, fontName = "Font2", fontColor = Color.White }); + //Elements.Add(new Label(Manager) { rectangle = new Rectangle((wigth - 50) / 2 + 480, 240, 50, 50), text = "D", mainColor = Color.Transparent, scale = 2f, fontName = "Font2", fontColor = Color.White }); + var butSingle = new ButtonText(Manager) { rectangle = new Rectangle((wigth - (int)(300 * 2.4)) / 2, 350, (int)(300 * 2.4), (int)(50 * 2.4)), text = "Singleplayer", scale = 1.2f, fontName = "ButtonFont" }; Elements.Add(butSingle); butSingle.LeftButtonPressed += () => { AppManager.Instance.ChangeGameState(GameState.Game); }; - var butMulti = new ButtonText(Manager) { rectangle = new Rectangle((wigth - 300) / 2, 190, 300, 50), text = "Multiplayer", fontName = "ButtonFont" }; + var butMulti = new ButtonText(Manager) { rectangle = new Rectangle((wigth - (int)(300 * 2.4)) / 2, 470, (int)(300 * 2.4), (int)(50 * 2.4)), text = "Multiplayer", scale = 1.2f, fontName = "ButtonFont" }; Elements.Add(butMulti); butMulti.LeftButtonPressed += () => { AppManager.Instance.ChangeGameState(GameState.Login); }; - var butOption = new ButtonText(Manager) { rectangle = new Rectangle((wigth - 300) / 2, 250, 300, 50), text = "Option", fontName = "ButtonFont" }; + var butOption = new ButtonText(Manager) { rectangle = new Rectangle((wigth - (int)(160 * 2.4)) / 2, 590, (int)(160 * 2.4), (int)(50 * 2.4)), text = "Option", scale = 1.2f, fontName = "ButtonFont" }; Elements.Add(butOption); butOption.LeftButtonPressed += () => { // открытие настроек AppManager.Instance.ChangeGameState(GameState.Options); }; - var butExit = new ButtonText(Manager) { rectangle = new Rectangle((wigth - 300) / 2, 310, 300, 50), text = "Exit", fontName = "ButtonFont" }; + var butExit = new ButtonText(Manager) { rectangle = new Rectangle((wigth - (int)(110 * 2.4)) / 2, 710, (int)(110 * 2.4), (int)(50 * 2.4)), text = "Exit", scale = 1.2f, fontName = "ButtonFont" }; Elements.Add(butExit); butExit.LeftButtonPressed += () => { diff --git a/DangerousD/GameCore/GUI/OptionsGUI.cs b/DangerousD/GameCore/GUI/OptionsGUI.cs index 812ab3e..b086967 100644 --- a/DangerousD/GameCore/GUI/OptionsGUI.cs +++ b/DangerousD/GameCore/GUI/OptionsGUI.cs @@ -10,58 +10,64 @@ namespace DangerousD.GameCore.GUI { public class OptionsGUI : AbstractGui { + int selectedGUI = 0; protected override void CreateUI() { + int wigth = AppManager.Instance.inGameResolution.X; + int height = AppManager.Instance.inGameResolution.Y; + var menuBackground = new DrawableUIElement(Manager) { rectangle = new Rectangle(0, 0, wigth, height), textureName = "optionsBackground" }; + Elements.Add(menuBackground); + menuBackground.LoadTexture(AppManager.Instance.Content); + var slider = new Slider(Manager) { MinValue = 0, MaxValue = 1, - rectangle = new Rectangle(650, 150, 100, 40) - }; - - var checkBox = new CheckBox(Manager); - checkBox.rectangle = new Rectangle(690, 400, 40, 40); - checkBox.Checked += (newCheckState) => - { - SettingsManager sM = new SettingsManager(); + rectangle = new Rectangle(wigth / 2 + 220, 275, (int)(100 * 2.4), 40) }; var cB = new CheckBox(Manager); - cB.rectangle = new Rectangle(690, 275, 40, 40); + cB.rectangle = new Rectangle(wigth / 2 + 440, 405, (int)(40 * 2.4), (int)(40 * 2.4)); cB.Checked += (newCheckState) => { SettingsManager sM = new SettingsManager(); }; + cB.LoadTexture(AppManager.Instance.Content); - Label lblOptions = new Label(Manager); - lblOptions.fontName = "Font2"; - lblOptions.text = "Options"; - lblOptions.rectangle = new Rectangle(300, 20, 210, 50); - lblOptions.mainColor = Color.Transparent; + var checkBox = new CheckBox(Manager); + checkBox.rectangle = new Rectangle(wigth / 2 + 360, 540, (int)(40 * 2.4), (int)(40 * 2.4)); + checkBox.Checked += (newCheckState) => + { + SettingsManager sM = new SettingsManager(); + }; + checkBox.LoadTexture(AppManager.Instance.Content); - Label lblValue = new Label(Manager); - lblValue.fontName = "Font2"; - lblValue.text = "Valume"; - lblValue.rectangle = new Rectangle(300, 150, 250, 40); - lblValue.mainColor = Color.Transparent; + Label lblOptions = new Label(Manager) + { fontName = "buttonFont", scale = 1.2f, text = "Options", fontColor = Color.White, rectangle = new Rectangle((wigth - 50) / 2, 40, 50, 50), mainColor = Color.Transparent }; + Elements.Add(lblOptions); - Label lblIsFullScreen = new Label(Manager); - lblIsFullScreen.fontName = "Font2"; - lblIsFullScreen.text = "Full Screen"; - lblIsFullScreen.rectangle = new Rectangle(300, 400, 250, 40); - lblIsFullScreen.mainColor = Color.Transparent; + Label lblValue = new Label(Manager) + { fontName = "buttonFont", scale = 1f, text = "Volume", fontColor = Color.White, rectangle = new Rectangle((wigth - 50) / 2, 250, 50, 50), mainColor = Color.Transparent }; + Elements.Add(lblValue); - Label lblSwitchMode = new Label(Manager); - lblSwitchMode.fontName = "Font2"; - lblSwitchMode.text = "Left/Right Mode"; - lblSwitchMode.rectangle = new Rectangle(290, 275, 250, 40); - lblSwitchMode.mainColor = Color.Transparent; + Label lblIsFullScreen = new Label(Manager) + { fontName = "buttonFont", scale = 1f, text = "Full Screen", fontColor = Color.White, rectangle = new Rectangle((wigth - 50) / 2, 580, 50, 50), mainColor = Color.Transparent }; + Elements.Add(lblOptions); - ButtonText bTExit = new ButtonText(Manager); - bTExit.fontName = "Font2"; - bTExit.text = "<-"; - bTExit.rectangle = new Rectangle(20 , 15, 20, 10); - bTExit.fontColor = Color.Black; + Label lblSwitchMode = new Label(Manager) + { fontName = "buttonFont", scale = 1f, text = "Left/Right Mode", fontColor = Color.White, rectangle = new Rectangle((wigth - 50) / 2, 415, 50, 50), mainColor = Color.Transparent }; + Elements.Add(lblSwitchMode); + + Button bTExit = new Button(Manager) + { fontName = "Font2", scale = 0.72f, text = "<-", rectangle = new Rectangle(wigth / 30, height / 30, (int)(40 * 2.4), (int)(40 * 2.4)), textureName = "textboxbackground1-1" }; + Elements.Add(bTExit); + bTExit.LeftButtonPressed += () => { + AppManager.Instance.ChangeGameState(GameState.Menu); + }; + } + public override void Update(GameTime gameTime) + { + base.Update(gameTime); } } } \ No newline at end of file diff --git a/DangerousD/GameCore/InputManager.cs b/DangerousD/GameCore/InputManager.cs index 72d67f8..c171d6b 100644 --- a/DangerousD/GameCore/InputManager.cs +++ b/DangerousD/GameCore/InputManager.cs @@ -11,7 +11,7 @@ namespace DangerousD.GameCore { public enum ScopeState { Up, Middle, Down } public enum ControlsState { Gamepad, Keyboard, Mouse } - class InputManager + public class InputManager { public delegate void Delegat(); public event Delegat MovEventJump; diff --git a/DangerousD/GameCore/Managers/AppManager.cs b/DangerousD/GameCore/Managers/AppManager.cs index 9e04e65..9c093b4 100644 --- a/DangerousD/GameCore/Managers/AppManager.cs +++ b/DangerousD/GameCore/Managers/AppManager.cs @@ -19,7 +19,7 @@ namespace DangerousD.GameCore private GraphicsDeviceManager _graphics; private SpriteBatch _spriteBatch; public Point resolution = new Point(1920, 1080); - public Point inGameResolution = new Point(800, 480); + public Point inGameResolution = new Point(1920, 1080); GameState gameState; IDrawableObject MenuGUI; IDrawableObject OptionsGUI; @@ -30,6 +30,7 @@ namespace DangerousD.GameCore public GameManager GameManager { get; private set; } = new GameManager(); public AnimationBuilder AnimationBuilder { get; private set; } = new AnimationBuilder(); public NetworkManager NetworkManager { get; private set; } = new NetworkManager(); + public InputManager InputManager { get; private set; } = new InputManager(); private RenderTarget2D renderTarget; public AppManager() { @@ -40,8 +41,8 @@ namespace DangerousD.GameCore TargetElapsedTime = TimeSpan.FromMilliseconds(1000 / 30); _graphics.PreferredBackBufferWidth = resolution.X; _graphics.PreferredBackBufferHeight = resolution.Y; - //_graphics.IsFullScreen = true; - gameState = GameState.Menu; + _graphics.IsFullScreen = true; + gameState = GameState.Menu ; MenuGUI = new MenuGUI(); LoginGUI = new LoginGUI(); OptionsGUI = new OptionsGUI(); @@ -82,6 +83,8 @@ namespace DangerousD.GameCore if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape)) Exit(); + InputManager.Update(); + switch (gameState) { case GameState.Menu: diff --git a/MonogameLibrary/UI/Base/UIManager.cs b/MonogameLibrary/UI/Base/UIManager.cs index 7f1af91..d37416d 100644 --- a/MonogameLibrary/UI/Base/UIManager.cs +++ b/MonogameLibrary/UI/Base/UIManager.cs @@ -11,11 +11,13 @@ using static System.Net.Mime.MediaTypeNames; namespace MonogameLibrary.UI.Base { + public enum InputState { GamePad, Keyboard, Mouse } public class UIManager { Dictionary> layerCollection = new(); public GraphicsDevice GraphicsDevice { get; private set; } public SpriteFont BaseFont { get; private set; } + public InputState inputState = InputState.Mouse; public void Initialize(GraphicsDevice graphicsDevice) { GraphicsDevice = graphicsDevice; diff --git a/MonogameLibrary/UI/Elements/Button.cs b/MonogameLibrary/UI/Elements/Button.cs index a61c485..cf7d5ce 100644 --- a/MonogameLibrary/UI/Elements/Button.cs +++ b/MonogameLibrary/UI/Elements/Button.cs @@ -24,6 +24,7 @@ namespace MonogameLibrary.UI.Elements public virtual bool InteractUpdate(MouseState mouseState, MouseState prevmouseState) { + //if (Manager.) if (rectangle.Intersects(new Rectangle(mouseState.Position, Point.Zero))) { if (mouseState.LeftButton == ButtonState.Pressed || mouseState.RightButton == ButtonState.Pressed) diff --git a/MonogameLibrary/UI/Elements/CheckBox.cs b/MonogameLibrary/UI/Elements/CheckBox.cs index 76f552d..e2e9c04 100644 --- a/MonogameLibrary/UI/Elements/CheckBox.cs +++ b/MonogameLibrary/UI/Elements/CheckBox.cs @@ -1,4 +1,5 @@ using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using MonogameLibrary.UI.Base; @@ -15,6 +16,9 @@ namespace MonogameLibrary.UI.Elements public CheckBox(UIManager manager, int layerIndex = 0) : base(manager, layerIndex) { } + private Texture2D texture1; + private Texture2D texture2; + private Texture2D texture3; public delegate void OnCheck(bool checkState); public event OnCheck? Checked; private bool isChecked; @@ -42,25 +46,33 @@ namespace MonogameLibrary.UI.Elements } return false; } + + public override void LoadTexture(ContentManager content) + { + texture1 = content.Load("checkboxs_off"); + texture2 = content.Load("checkboxs_off-on"); + texture3 = content.Load("checkboxs_on"); + base.LoadTexture(content); + } public override void Draw(SpriteBatch _spriteBatch) { if (isChecked) { if (hoverState == HoverState.None) - _spriteBatch.Draw(texture, rectangle, new Color(124, 255, 0)); + _spriteBatch.Draw(texture3, rectangle, Color.White); else if (hoverState == HoverState.Hovering) - _spriteBatch.Draw(texture, rectangle, new Color(124, 215, 0)); + _spriteBatch.Draw(texture3, rectangle, Color.White); else - _spriteBatch.Draw(texture, rectangle, new Color(124, 175, 0)); + _spriteBatch.Draw(texture2, rectangle, Color.White ); } else { if (hoverState == HoverState.None) - _spriteBatch.Draw(texture, rectangle, new Color(255, 20, 0)); + _spriteBatch.Draw(texture1, rectangle, Color.White); else if (hoverState == HoverState.Hovering) - _spriteBatch.Draw(texture, rectangle, new Color(215, 20, 0)); + _spriteBatch.Draw(texture2, rectangle, Color.White); else - _spriteBatch.Draw(texture, rectangle, new Color(175, 20, 0)); + _spriteBatch.Draw(texture2, rectangle, Color.White); } DrawText(_spriteBatch); }