diff --git a/Sledgemapper/Settings.cs b/Sledgemapper/Settings.cs
new file mode 100644
index 0000000..82d8339
--- /dev/null
+++ b/Sledgemapper/Settings.cs
@@ -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);
+ }
+ }
+}
diff --git a/Sledgemapper/Sledgemapper.cs b/Sledgemapper/Sledgemapper.cs
index fe7d44d..d5fa279 100644
--- a/Sledgemapper/Sledgemapper.cs
+++ b/Sledgemapper/Sledgemapper.cs
@@ -7,6 +7,7 @@ using Myra.Graphics2D.Brushes;
using Myra.Graphics2D.TextureAtlases;
using Myra.Graphics2D.UI;
using Myra.Graphics2D.UI.File;
+using Myra.Graphics2D.UI.Properties;
using Newtonsoft.Json;
using Sledgemapper.Shared.Entities;
using Sledgemapper.UI;
@@ -37,6 +38,7 @@ namespace Sledgemapper
private AuthenticateResponse _authResponse;
private MainWidget _mainWidget;
private bool _showCellNumbers;
+ private readonly Settings _settings;
public Sledgemapper()
{
@@ -55,6 +57,7 @@ namespace Sledgemapper
_communicationManager.Connection.Reconnecting += OnHubReconnecting;
_communicationManager.Connection.Closed += OnHubDisconnected;
_state = new State();
+ _settings= new Settings();
}
private async Task OnHubDisconnected(Exception arg)
@@ -108,6 +111,7 @@ namespace Sledgemapper
_mainWidget.MenuConnectSync.Selected += OnMenuConnectSyncSelected;
_mainWidget.MenuFileLoad.Selected += OnMenuFileLoadSelected;
_mainWidget.MenuFileSave.Selected += OnMenuFileSaveSelected;
+ _mainWidget.MenuFileSettings.Selected += OneMenuFileSettingsSelected;
_mainWidget.MenuConnectLogin.Selected += OnMenuConnectLoginSelected;
_mainWidget.MenuConnectNew.Selected += OnMenuConnectNewSelected;
_mainWidget.MenuConnectJoin.Selected += OnMenuConnectJoinSelected;
@@ -131,6 +135,22 @@ namespace Sledgemapper
_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)
{
_showCellNumbers = !_showCellNumbers;
@@ -382,7 +402,7 @@ namespace Sledgemapper
{
return;
}
- GraphicsDevice.Clear(Color.DarkGray);
+ GraphicsDevice.Clear(_settings.BackgroundColor);
var visibleTilesX = GraphicsDevice.Viewport.Width / _state.TileSize + 1;
var visibleTilesY = GraphicsDevice.Viewport.Height / _state.TileSize + 1;
@@ -506,7 +526,7 @@ namespace Sledgemapper
posX1, posY1,
posX2,
posY2,
- Color.Black);
+ _settings.GridColor);
}
for (var i = -1; i < visibleTilesY + 2; i++)
@@ -523,7 +543,7 @@ namespace Sledgemapper
_spriteBatch.DrawLine(posX1, posY1,
posX2,
posY2,
- Color.Black);
+ _settings.GridColor);
}
@@ -567,30 +587,14 @@ namespace Sledgemapper
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(
- _comment,
- new Rectangle(
- note.X * _state.TileSize + _state.TileSize - (int)(_state.TileSize / 2) + _state.TileSize / 20,
- note.Y * _state.TileSize + _state.TileSize / 8 + _state.TileSize / 20,
- (int)(_state.TileSize / 2.5), (int)(_state.TileSize / 2.5 / 1.136)
- ), Color.Black * .2f
- );
+ _comment,
+ new Rectangle(
+ note.X * _state.TileSize + _state.TileSize - (int)(_state.TileSize / 2) + _state.TileSize / 20,
+ note.Y * _state.TileSize + _state.TileSize / 8 + _state.TileSize / 20,
+ (int)(_state.TileSize / 2.5), (int)(_state.TileSize / 2.5 / 1.136)
+ ), Color.Black * .2f
+ );
_spriteBatch.Draw(
_comment,
@@ -598,7 +602,7 @@ namespace Sledgemapper
note.X * _state.TileSize + _state.TileSize - (int)(_state.TileSize / 2),
note.Y * _state.TileSize + _state.TileSize / 8,
(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;
_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
{
@@ -622,7 +626,7 @@ namespace Sledgemapper
var posY = tile.Y * _state.TileSize + _state.TileSize / 2f;
_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);
}
}
}
diff --git a/Sledgemapper/UI/MainWidget.Generated.cs b/Sledgemapper/UI/MainWidget.Generated.cs
index baee712..19c8773 100644
--- a/Sledgemapper/UI/MainWidget.Generated.cs
+++ b/Sledgemapper/UI/MainWidget.Generated.cs
@@ -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.Graphics2D;
using Myra.Graphics2D.TextureAtlases;
@@ -30,6 +30,13 @@ namespace Sledgemapper.UI
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.Text = "&Quit";
MenuFileQuit.ShortcutText = "Ctrl+Q";
@@ -41,6 +48,8 @@ namespace Sledgemapper.UI
MenuFile.Items.Add(MenuFileLoad);
MenuFile.Items.Add(MenuFileSave);
MenuFile.Items.Add(menuSeparator1);
+ MenuFile.Items.Add(MenuFileSettings);
+ MenuFile.Items.Add(menuSeparator2);
MenuFile.Items.Add(MenuFileQuit);
MenuConnectLogin = new MenuItem();
@@ -48,7 +57,7 @@ namespace Sledgemapper.UI
MenuConnectLogin.ShortcutText = "Ctrl+O";
MenuConnectLogin.Id = "MenuConnectLogin";
- var menuSeparator2 = new MenuSeparator();
+ var menuSeparator3 = new MenuSeparator();
MenuConnectNew = new MenuItem();
MenuConnectNew.Text = "&New";
@@ -73,7 +82,7 @@ namespace Sledgemapper.UI
var menuItem1 = new MenuItem();
menuItem1.Text = "&Connect";
menuItem1.Items.Add(MenuConnectLogin);
- menuItem1.Items.Add(menuSeparator2);
+ menuItem1.Items.Add(menuSeparator3);
menuItem1.Items.Add(MenuConnectNew);
menuItem1.Items.Add(MenuConnectJoin);
menuItem1.Items.Add(MenuConnectSync);
@@ -259,6 +268,7 @@ namespace Sledgemapper.UI
public MenuItem MenuFileLoad;
public MenuItem MenuFileSave;
+ public MenuItem MenuFileSettings;
public MenuItem MenuFileQuit;
public MenuItem MenuFile;
public MenuItem MenuConnectLogin;
diff --git a/Sledgemapper/UI/mainwidget.xml b/Sledgemapper/UI/mainwidget.xml
index 9d14525..2a727e1 100644
--- a/Sledgemapper/UI/mainwidget.xml
+++ b/Sledgemapper/UI/mainwidget.xml
@@ -10,6 +10,8 @@
+
+