Added settings

This commit is contained in:
Michele Scandura 2020-12-02 10:55:34 +00:00
parent 6d607b6d02
commit 651aeb407b
4 changed files with 68 additions and 32 deletions

20
Sledgemapper/Settings.cs Normal file
View file

@ -0,0 +1,20 @@
using Microsoft.Xna.Framework;
namespace Sledgemapper
{
public class Settings
{
public Color BackgroundColor { get; set; }
public Color OverlayTintColor { get; set; }
public Color GridColor { get; set; }
public Color NoteColor { get; set; }
public Settings()
{
BackgroundColor=Color.LightGray;
GridColor=Color.Black;
NoteColor=Color.DarkRed;
OverlayTintColor = new Color(24, 118, 157);
}
}
}

View file

@ -7,6 +7,7 @@ using Myra.Graphics2D.Brushes;
using Myra.Graphics2D.TextureAtlases; using Myra.Graphics2D.TextureAtlases;
using Myra.Graphics2D.UI; using Myra.Graphics2D.UI;
using Myra.Graphics2D.UI.File; using Myra.Graphics2D.UI.File;
using Myra.Graphics2D.UI.Properties;
using Newtonsoft.Json; using Newtonsoft.Json;
using Sledgemapper.Shared.Entities; using Sledgemapper.Shared.Entities;
using Sledgemapper.UI; using Sledgemapper.UI;
@ -37,6 +38,7 @@ namespace Sledgemapper
private AuthenticateResponse _authResponse; private AuthenticateResponse _authResponse;
private MainWidget _mainWidget; private MainWidget _mainWidget;
private bool _showCellNumbers; private bool _showCellNumbers;
private readonly Settings _settings;
public Sledgemapper() public Sledgemapper()
{ {
@ -55,6 +57,7 @@ namespace Sledgemapper
_communicationManager.Connection.Reconnecting += OnHubReconnecting; _communicationManager.Connection.Reconnecting += OnHubReconnecting;
_communicationManager.Connection.Closed += OnHubDisconnected; _communicationManager.Connection.Closed += OnHubDisconnected;
_state = new State(); _state = new State();
_settings= new Settings();
} }
private async Task OnHubDisconnected(Exception arg) private async Task OnHubDisconnected(Exception arg)
@ -108,6 +111,7 @@ namespace Sledgemapper
_mainWidget.MenuConnectSync.Selected += OnMenuConnectSyncSelected; _mainWidget.MenuConnectSync.Selected += OnMenuConnectSyncSelected;
_mainWidget.MenuFileLoad.Selected += OnMenuFileLoadSelected; _mainWidget.MenuFileLoad.Selected += OnMenuFileLoadSelected;
_mainWidget.MenuFileSave.Selected += OnMenuFileSaveSelected; _mainWidget.MenuFileSave.Selected += OnMenuFileSaveSelected;
_mainWidget.MenuFileSettings.Selected += OneMenuFileSettingsSelected;
_mainWidget.MenuConnectLogin.Selected += OnMenuConnectLoginSelected; _mainWidget.MenuConnectLogin.Selected += OnMenuConnectLoginSelected;
_mainWidget.MenuConnectNew.Selected += OnMenuConnectNewSelected; _mainWidget.MenuConnectNew.Selected += OnMenuConnectNewSelected;
_mainWidget.MenuConnectJoin.Selected += OnMenuConnectJoinSelected; _mainWidget.MenuConnectJoin.Selected += OnMenuConnectJoinSelected;
@ -131,6 +135,22 @@ namespace Sledgemapper
_desktop.Root = _mainWidget; _desktop.Root = _mainWidget;
} }
private void OneMenuFileSettingsSelected(object sender, EventArgs e)
{
var propertyGrid = new PropertyGrid
{
Object = _settings,
Width = 350
};
var _windowEditor = new Window
{
Title = "Object Editor",
Content = propertyGrid
};
_windowEditor.ShowModal(_desktop);
}
private void OnMenuViewShowCellNUmbersSelected(object sender, EventArgs e) private void OnMenuViewShowCellNUmbersSelected(object sender, EventArgs e)
{ {
_showCellNumbers = !_showCellNumbers; _showCellNumbers = !_showCellNumbers;
@ -382,7 +402,7 @@ namespace Sledgemapper
{ {
return; return;
} }
GraphicsDevice.Clear(Color.DarkGray); GraphicsDevice.Clear(_settings.BackgroundColor);
var visibleTilesX = GraphicsDevice.Viewport.Width / _state.TileSize + 1; var visibleTilesX = GraphicsDevice.Viewport.Width / _state.TileSize + 1;
var visibleTilesY = GraphicsDevice.Viewport.Height / _state.TileSize + 1; var visibleTilesY = GraphicsDevice.Viewport.Height / _state.TileSize + 1;
@ -506,7 +526,7 @@ namespace Sledgemapper
posX1, posY1, posX1, posY1,
posX2, posX2,
posY2, posY2,
Color.Black); _settings.GridColor);
} }
for (var i = -1; i < visibleTilesY + 2; i++) for (var i = -1; i < visibleTilesY + 2; i++)
@ -523,7 +543,7 @@ namespace Sledgemapper
_spriteBatch.DrawLine(posX1, posY1, _spriteBatch.DrawLine(posX1, posY1,
posX2, posX2,
posY2, posY2,
Color.Black); _settings.GridColor);
} }
@ -567,22 +587,6 @@ namespace Sledgemapper
foreach (var note in _sessionData.Notes.Values) foreach (var note in _sessionData.Notes.Values)
{ {
// var ffont = _fonts.Where(m=>m.Key.Contains("awesome")).FirstOrDefault(m => int.Parse(m.Key.Replace("awesome", "")) > _state.TileSize / 8).Value ?? _fonts.Last().Value;
// var fscale = 1f;
// _spriteBatch.DrawString(ffont,
// "0xf06e",
// new Vector2(
// note.X * _state.TileSize + _state.TileSize - _state.TileSize / 3,
// note.Y * _state.TileSize + _state.TileSize / 4
// ),
// Color.Black,
// 0,
// Vector2.Zero,
// fscale,
// SpriteEffects.None,
// 0);
_spriteBatch.Draw( _spriteBatch.Draw(
_comment, _comment,
new Rectangle( new Rectangle(
@ -598,7 +602,7 @@ namespace Sledgemapper
note.X * _state.TileSize + _state.TileSize - (int)(_state.TileSize / 2), note.X * _state.TileSize + _state.TileSize - (int)(_state.TileSize / 2),
note.Y * _state.TileSize + _state.TileSize / 8, note.Y * _state.TileSize + _state.TileSize / 8,
(int)(_state.TileSize / 2.5), (int)(_state.TileSize / 2.5 / 1.136) (int)(_state.TileSize / 2.5), (int)(_state.TileSize / 2.5 / 1.136)
), Color.DarkRed ), _settings.NoteColor
); );
} }
} }
@ -614,7 +618,7 @@ namespace Sledgemapper
var posY = tile.Y * _state.TileSize; var posY = tile.Y * _state.TileSize;
_spriteBatch.Draw(content, new Vector2(posX, posY), _spriteBatch.Draw(content, new Vector2(posX, posY),
null, new Color(24, 118, 157), MathHelper.ToRadians(90 * tile.Rotation), new Vector2(content.Width / 2, content.Height / 2), ((float)_state.TileSize - 10) / content.Width, SpriteEffects.None, 0); null, _settings.OverlayTintColor, MathHelper.ToRadians(90 * tile.Rotation), new Vector2(content.Width / 2, content.Height / 2), ((float)_state.TileSize - 10) / content.Width, SpriteEffects.None, 0);
} }
else else
{ {
@ -622,7 +626,7 @@ namespace Sledgemapper
var posY = tile.Y * _state.TileSize + _state.TileSize / 2f; var posY = tile.Y * _state.TileSize + _state.TileSize / 2f;
_spriteBatch.Draw(content, new Vector2(posX, posY), _spriteBatch.Draw(content, new Vector2(posX, posY),
null, new Color(24, 118, 157), MathHelper.ToRadians(90 * tile.Rotation), new Vector2(content.Width / 2, content.Height / 2), ((float)_state.TileSize - 10) / content.Width, SpriteEffects.None, 0); null, _settings.OverlayTintColor, MathHelper.ToRadians(90 * tile.Rotation), new Vector2(content.Width / 2, content.Height / 2), ((float)_state.TileSize - 10) / content.Width, SpriteEffects.None, 0);
} }
} }
} }

View file

@ -1,4 +1,4 @@
/* Generated by MyraPad at 01/12/2020 11:38:49 */ /* Generated by MyraPad at 02/12/2020 10:41:53 */
using Myra; using Myra;
using Myra.Graphics2D; using Myra.Graphics2D;
using Myra.Graphics2D.TextureAtlases; using Myra.Graphics2D.TextureAtlases;
@ -30,6 +30,13 @@ namespace Sledgemapper.UI
var menuSeparator1 = new MenuSeparator(); var menuSeparator1 = new MenuSeparator();
MenuFileSettings = new MenuItem();
MenuFileSettings.Text = "S&ettings";
MenuFileSettings.ShortcutText = "Ctrl+E";
MenuFileSettings.Id = "MenuFileSettings";
var menuSeparator2 = new MenuSeparator();
MenuFileQuit = new MenuItem(); MenuFileQuit = new MenuItem();
MenuFileQuit.Text = "&Quit"; MenuFileQuit.Text = "&Quit";
MenuFileQuit.ShortcutText = "Ctrl+Q"; MenuFileQuit.ShortcutText = "Ctrl+Q";
@ -41,6 +48,8 @@ namespace Sledgemapper.UI
MenuFile.Items.Add(MenuFileLoad); MenuFile.Items.Add(MenuFileLoad);
MenuFile.Items.Add(MenuFileSave); MenuFile.Items.Add(MenuFileSave);
MenuFile.Items.Add(menuSeparator1); MenuFile.Items.Add(menuSeparator1);
MenuFile.Items.Add(MenuFileSettings);
MenuFile.Items.Add(menuSeparator2);
MenuFile.Items.Add(MenuFileQuit); MenuFile.Items.Add(MenuFileQuit);
MenuConnectLogin = new MenuItem(); MenuConnectLogin = new MenuItem();
@ -48,7 +57,7 @@ namespace Sledgemapper.UI
MenuConnectLogin.ShortcutText = "Ctrl+O"; MenuConnectLogin.ShortcutText = "Ctrl+O";
MenuConnectLogin.Id = "MenuConnectLogin"; MenuConnectLogin.Id = "MenuConnectLogin";
var menuSeparator2 = new MenuSeparator(); var menuSeparator3 = new MenuSeparator();
MenuConnectNew = new MenuItem(); MenuConnectNew = new MenuItem();
MenuConnectNew.Text = "&New"; MenuConnectNew.Text = "&New";
@ -73,7 +82,7 @@ namespace Sledgemapper.UI
var menuItem1 = new MenuItem(); var menuItem1 = new MenuItem();
menuItem1.Text = "&Connect"; menuItem1.Text = "&Connect";
menuItem1.Items.Add(MenuConnectLogin); menuItem1.Items.Add(MenuConnectLogin);
menuItem1.Items.Add(menuSeparator2); menuItem1.Items.Add(menuSeparator3);
menuItem1.Items.Add(MenuConnectNew); menuItem1.Items.Add(MenuConnectNew);
menuItem1.Items.Add(MenuConnectJoin); menuItem1.Items.Add(MenuConnectJoin);
menuItem1.Items.Add(MenuConnectSync); menuItem1.Items.Add(MenuConnectSync);
@ -259,6 +268,7 @@ namespace Sledgemapper.UI
public MenuItem MenuFileLoad; public MenuItem MenuFileLoad;
public MenuItem MenuFileSave; public MenuItem MenuFileSave;
public MenuItem MenuFileSettings;
public MenuItem MenuFileQuit; public MenuItem MenuFileQuit;
public MenuItem MenuFile; public MenuItem MenuFile;
public MenuItem MenuConnectLogin; public MenuItem MenuConnectLogin;

View file

@ -10,6 +10,8 @@
<MenuItem Text="&amp;Load" ShortcutText="Ctrl+L" Id="MenuFileLoad" /> <MenuItem Text="&amp;Load" ShortcutText="Ctrl+L" Id="MenuFileLoad" />
<MenuItem Text="&amp;Save" ShortcutText="Ctrl+S" Id="MenuFileSave" /> <MenuItem Text="&amp;Save" ShortcutText="Ctrl+S" Id="MenuFileSave" />
<MenuSeparator /> <MenuSeparator />
<MenuItem Text="S&amp;ettings" ShortcutText="Ctrl+E" Id="MenuFileSettings" />
<MenuSeparator />
<MenuItem Text="&amp;Quit" ShortcutText="Ctrl+Q" Id="MenuFileQuit" /> <MenuItem Text="&amp;Quit" ShortcutText="Ctrl+Q" Id="MenuFileQuit" />
</MenuItem> </MenuItem>
<MenuItem Text="&amp;Connect"> <MenuItem Text="&amp;Connect">