From 3d45bc532c75ccbda7d12cf4c0863f3e24b4d429 Mon Sep 17 00:00:00 2001 From: Michele Date: Fri, 20 Nov 2020 23:43:33 +0000 Subject: [PATCH] test small fixes --- .../Handlers/SendDeleteOverlayMessage.cs | 2 +- .../Handlers/SendDeleteTileMessage.cs | 2 +- .../Handlers/SendDeleteWallMessage.cs | 2 +- .../Handlers/SendNewOverlayMessage.cs | 2 +- .../Notifications/BaseNotification.cs | 17 +- .../Notifications/NewSessionNotification.cs | 5 +- Sledgemapper.Api/sledgemapper.db | Bin 233472 -> 475136 bytes Sledgemapper/CommunicationManager.cs | 5 +- Sledgemapper/Sledgemapper.cs | 191 +++++++++--------- Sledgemapper/State.cs | 108 +++++----- Sledgemapper/UI/loginwindow.xml | 2 +- Sledgemapper/UI/sessionwindow.xml | 2 +- 12 files changed, 175 insertions(+), 163 deletions(-) diff --git a/Sledgemapper.Api/Handlers/SendDeleteOverlayMessage.cs b/Sledgemapper.Api/Handlers/SendDeleteOverlayMessage.cs index 9ddcce4..4dbd961 100644 --- a/Sledgemapper.Api/Handlers/SendDeleteOverlayMessage.cs +++ b/Sledgemapper.Api/Handlers/SendDeleteOverlayMessage.cs @@ -16,7 +16,7 @@ namespace Sledgemapper.Api.Handlers public async Task Handle(DeleteOverlayNotification notification, CancellationToken cancellationToken) { - await _hub.Clients.Groups(notification.SessionName).DeleteOverlay(notification.Overlay); + await _hub.Clients.Groups(notification.Session.SessionName).DeleteOverlay(notification.Overlay); } } } diff --git a/Sledgemapper.Api/Handlers/SendDeleteTileMessage.cs b/Sledgemapper.Api/Handlers/SendDeleteTileMessage.cs index c44778a..90c70e4 100644 --- a/Sledgemapper.Api/Handlers/SendDeleteTileMessage.cs +++ b/Sledgemapper.Api/Handlers/SendDeleteTileMessage.cs @@ -16,7 +16,7 @@ namespace Sledgemapper.Api.Handlers public async Task Handle(DeleteTileNotification notification, CancellationToken cancellationToken) { - await _hub.Clients.Groups(notification.SessionName).DeleteTile(notification.Tile); + await _hub.Clients.Groups(notification.Session.SessionName).DeleteTile(notification.Tile); } } } diff --git a/Sledgemapper.Api/Handlers/SendDeleteWallMessage.cs b/Sledgemapper.Api/Handlers/SendDeleteWallMessage.cs index 5bc5429..eb97b76 100644 --- a/Sledgemapper.Api/Handlers/SendDeleteWallMessage.cs +++ b/Sledgemapper.Api/Handlers/SendDeleteWallMessage.cs @@ -16,7 +16,7 @@ namespace Sledgemapper.Api.Handlers public async Task Handle(DeleteWallNotification notification, CancellationToken cancellationToken) { - await _hub.Clients.Groups(notification.SessionName).DeleteWall(notification.Wall); + await _hub.Clients.Groups(notification.Session.SessionName).DeleteWall(notification.Wall); } } } diff --git a/Sledgemapper.Api/Handlers/SendNewOverlayMessage.cs b/Sledgemapper.Api/Handlers/SendNewOverlayMessage.cs index f52e898..43a9475 100644 --- a/Sledgemapper.Api/Handlers/SendNewOverlayMessage.cs +++ b/Sledgemapper.Api/Handlers/SendNewOverlayMessage.cs @@ -16,7 +16,7 @@ namespace Sledgemapper.Api.Handlers public async Task Handle(NewOverlayNotification notification, CancellationToken cancellationToken) { - await _hub.Clients.Groups(notification.SessionName).NewOverlay(notification.Overlay); + await _hub.Clients.Groups(notification.Session.SessionName).NewOverlay(notification.Overlay); } } } diff --git a/Sledgemapper.Api/Notifications/BaseNotification.cs b/Sledgemapper.Api/Notifications/BaseNotification.cs index 30b075d..a577ce8 100644 --- a/Sledgemapper.Api/Notifications/BaseNotification.cs +++ b/Sledgemapper.Api/Notifications/BaseNotification.cs @@ -6,28 +6,15 @@ namespace Sledgemapper.Api.Notifications public abstract class BaseNotification : INotification { public double Timestamp { get; private set; } - public string SessionName { get; private set; } public int UserId { get; private set; } public int SessionId { get; set; } public Models.Session Session { get; set; } - public BaseNotification(string sessionName, int userId) + public BaseNotification(Models.Session session, int userId) { Timestamp = DateTimeOffset.Now.ToUnixTimeMilliseconds(); - SessionName = sessionName; + Session = session; ; UserId = userId; } - - public BaseNotification(Models.Session session, int userId) - { - Timestamp = DateTimeOffset.Now.ToUnixTimeMilliseconds(); - Session = session;; - UserId = userId; - } - - public BaseNotification(int sessionId, string sessionName, int userId) : this(sessionName, userId) - { - SessionId = sessionId; - } } } diff --git a/Sledgemapper.Api/Notifications/NewSessionNotification.cs b/Sledgemapper.Api/Notifications/NewSessionNotification.cs index e0fb0a9..af6bf84 100644 --- a/Sledgemapper.Api/Notifications/NewSessionNotification.cs +++ b/Sledgemapper.Api/Notifications/NewSessionNotification.cs @@ -2,8 +2,7 @@ namespace Sledgemapper.Api.Notifications { public class NewSessionNotification : BaseNotification { - - public NewSessionNotification(string sessionName, int userId) : base(sessionName, userId) - {} + public NewSessionNotification(string sessionName, int userId) : base(new Models.Session { SessionName = sessionName }, userId) + { } } } \ No newline at end of file diff --git a/Sledgemapper.Api/sledgemapper.db b/Sledgemapper.Api/sledgemapper.db index 892ac8b5fc74db18147be9a0c69048263eb0579c..c313cecfa8e034806e014db581ea79f2c5cd45d0 100644 GIT binary patch delta 27688 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

X3%5+;jig-i+#|zE&R1pWEu# z{*3CI8n&W4Vug;rkx?Dopj9%d+0d^e12U>D9xG_x^2F2riOFthth@JnAI_*YH*AG| zwdAYDNlkIv+KF0qkZyVhM08nKH`t9IEWvY0&_xMJ;?4}MIf`=-N)J+ zTD*#MQV(A4`Up;f;s(`$HxAD4$OD@trWVI`cdNUun$ty_AxF5V(o_1^k_|S%D#TKy zUBVwcDz|JBo9J#oDaoyfZp-cTcO!nfiqM>tP+Zrn=LrV!phr`$!tggnMKn+BSsd&B z0~ftKO6xl5eh53Y+<^ySJ;l|JkRV>0p5Re!mFD#p(W@7a66y$Z3Rb$*y~5oS`1~<) zH}Tgh{xe02&1pj1pqO6X_$S93jp9Ou9Fu)g=}o4ND`NCneS!YW>G!V%Z~C@PwsXHTmn(E7zf%6!gnj z-g1FQK=%C_${YO3!Yy!*lzJ!L)sK}e%uzy`Aqnt=YTxWJMCdL(^vq9{Ty~&DW*kd= zuEjO9mp`4Exgof`hTu}rHRJiz|B>7Op!5=djRb!tilrU3{kBw>%_-CMoJt-icV~Sl zk(xr4sfHkmdUJRW03zz5ss|vVw!DI8)PH5orq1k4xCXQ1E8T4W6Ih)aqRn4lv?-{a zi9by3{E%?-2DNi7z2*&S=U10(nvYzLj~Db#;75kQkD%6kFRoscr8){Da>&gFt&uNO1 wf7%b1{5RB`M*h5)|oB=n~oZ_MO|C7I2h5rL7gW;C{1rWkYqyPW_ delta 393 zcmW+wJ4ixd82$hIdv98Lj|C3BtwCt$YG9I3^rE0B8pMQ_kW4Ac+moM~ z=A_wLlXdj)Eu=GzMKp^FSyW4-!G#e$B6U=8(Zc=9(@Xt&G&()CGNVV4ymD&Xa_ll# zRSBOApZLZ-A)l^vU7*s)xlrh`l~g7*Cf~+vW(kGTJ1>eTq!JFE^_)s4s)H;|B5LIp zVk7Dp9&m<3Y-1U97>8H=RqxVG_H)%!&%KI!aaH%tPXvN}1L4`&nlCmI91Hc*DmCT) zcK_sn&pp^S7Z{F(hlYbo?a@fOR(~!9{b2aQ2ObGG6!a3E_+g5$5SxYhzpgL{6IV)9 ziexDNPn2W$!8=~@gaU4nM~-k#7mi?36wr(!s~frfY;K=B7es@s?Uh-ju2ka1u&LRk JtY#C}>wn9)XL|qu diff --git a/Sledgemapper/CommunicationManager.cs b/Sledgemapper/CommunicationManager.cs index abaac79..54533b9 100644 --- a/Sledgemapper/CommunicationManager.cs +++ b/Sledgemapper/CommunicationManager.cs @@ -87,7 +87,10 @@ namespace Sledgemapper Connection.On("RefreshPlayers", () => { - Connection?.SendAsync("UpdatePosition", SessionData.SessionName, SessionData.SessionId, SessionData.Players.First(p=>p.UserId==int.Parse(_authenticateResponse.Id))); + if (!string.IsNullOrWhiteSpace(SessionData.SessionName)) + { + Connection?.SendAsync("UpdatePosition", SessionData.SessionName, SessionData.SessionId, SessionData.Players.First(p => p.UserId == int.Parse(_authenticateResponse.Id))); + } }); Connection.On("NewWall", (tile) => diff --git a/Sledgemapper/Sledgemapper.cs b/Sledgemapper/Sledgemapper.cs index c29089d..6009b2e 100644 --- a/Sledgemapper/Sledgemapper.cs +++ b/Sledgemapper/Sledgemapper.cs @@ -146,24 +146,24 @@ namespace Sledgemapper var screenPosition = new Point(mouseState.Position.X - (int)_viewportCenter.X, mouseState.Position.Y - (int)_viewportCenter.Y); - _state._hoveredTile.X = screenPosition.X / _state._tileSize; - _state._hoveredTile.Y = screenPosition.Y / _state._tileSize; + _state.HoveredTile.X = screenPosition.X / _state.TileSize; + _state.HoveredTile.Y = screenPosition.Y / _state.TileSize; if (screenPosition.X < 0) { - _state._hoveredTile.X--; + _state.HoveredTile.X--; } if (screenPosition.Y < 0) { - _state._hoveredTile.Y--; + _state.HoveredTile.Y--; } - if (_state._insertMode == InsertMode.Wall) + if (_state.InsertMode == InsertMode.Wall) { _state.SelectClosestWall(screenPosition); } - if (_state._insertMode == InsertMode.Overlay) + if (_state.InsertMode == InsertMode.Overlay) { _state.SelectOverlay(screenPosition); } @@ -190,33 +190,33 @@ namespace Sledgemapper } else { - _state._selectedTile.X = _state._hoveredTile.X; - _state._selectedTile.Y = _state._hoveredTile.Y; - _communicationManager.Connection?.SendAsync("UpdatePosition", _sessionData.SessionName, _sessionData.SessionId, _state._selectedTile); + _state.SelectedTile.X = _state.HoveredTile.X; + _state.SelectedTile.Y = _state.HoveredTile.Y; + _communicationManager.Connection?.SendAsync("UpdatePosition", _sessionData.SessionName, _sessionData.SessionId, _state.SelectedTile); } } if (newState.IsKeyDown(Keys.LeftControl) && mouseState.LeftButton == ButtonState.Pressed - && ((mouseState.LeftButton != oldMouseState.LeftButton) || (_state._selectedTile.X != _state._hoveredTile.X && _state._selectedTile.Y != _state._hoveredTile.Y))) + && ((mouseState.LeftButton != oldMouseState.LeftButton) || (_state.SelectedTile.X != _state.HoveredTile.X && _state.SelectedTile.Y != _state.HoveredTile.Y))) { - switch (_state._insertMode) + switch (_state.InsertMode) { case InsertMode.Tile: - _state._selectedTile.X = _state._hoveredTile.X; - _state._selectedTile.Y = _state._hoveredTile.Y; - _communicationManager.Connection?.SendAsync("UpdatePosition", _sessionData.SessionName, _sessionData.SessionId, _state._selectedTile); + _state.SelectedTile.X = _state.HoveredTile.X; + _state.SelectedTile.Y = _state.HoveredTile.Y; + _communicationManager.Connection?.SendAsync("UpdatePosition", _sessionData.SessionName, _sessionData.SessionId, _state.SelectedTile); - _sessionData.NewTile(_state._selectedTile, _state._currentTileId); + _sessionData.NewTile(_state.SelectedTile, _state.CurrentTileId); break; case InsertMode.Wall: - _sessionData.NewWall(_state._selectedWall, _state._currentWallId); + _sessionData.NewWall(_state.SelectedWall, _state.CurrentWallId); break; case InsertMode.Overlay: - _sessionData.NewOverlay(_state._selectedOverlay, _state._currentOverlayId); + _sessionData.NewOverlay(_state.SelectedOverlay, _state.CurrentOverlayId); break; } } @@ -224,19 +224,19 @@ namespace Sledgemapper if (newState.IsKeyDown(Keys.LeftControl) && mouseState.ScrollWheelValue != oldMouseState.ScrollWheelValue) { // var center = new Point(GraphicsDevice.Viewport.Width / 2, GraphicsDevice.Viewport.Height / 2); - var center = new Point((Window.ClientBounds.Width + 200) / 2 - _state._tileSize / 2, Window.ClientBounds.Height / 2 - _state._tileSize / 2); + var center = new Point((Window.ClientBounds.Width + 200) / 2 - _state.TileSize / 2, Window.ClientBounds.Height / 2 - _state.TileSize / 2); - var tx = (center.X - (int)_viewportCenter.X) / _state._tileSize; - var ty = (center.Y - (int)_viewportCenter.Y) / _state._tileSize; + var tx = (center.X - (int)_viewportCenter.X) / _state.TileSize; + var ty = (center.Y - (int)_viewportCenter.Y) / _state.TileSize; if (mouseState.ScrollWheelValue > oldMouseState.ScrollWheelValue) { - _state._tileSize = Math.Min(120, _state._tileSize + 10); - + _state.TileSize = Math.Min(120, _state.TileSize + 10); + } else if (mouseState.ScrollWheelValue < oldMouseState.ScrollWheelValue) { - _state._tileSize = Math.Max(10, _state._tileSize - 10); + _state.TileSize = Math.Max(10, _state.TileSize - 10); } CenterOnTile(tx, ty); @@ -248,18 +248,18 @@ namespace Sledgemapper if (newState.IsKeyDown(Keys.Delete)) { - switch (_state._insertMode) + switch (_state.InsertMode) { case InsertMode.Tile: - _state._selectedTile.X = _state._hoveredTile.X; - _state._selectedTile.Y = _state._hoveredTile.Y; - _sessionData.DeleteTile(_state._selectedTile); + _state.SelectedTile.X = _state.HoveredTile.X; + _state.SelectedTile.Y = _state.HoveredTile.Y; + _sessionData.DeleteTile(_state.SelectedTile); break; case InsertMode.Wall: - _sessionData.DeleteWall(_state._selectedWall); + _sessionData.DeleteWall(_state.SelectedWall); break; case InsertMode.Overlay: - _sessionData.DeleteOverlay(_state._selectedOverlay); + _sessionData.DeleteOverlay(_state.SelectedOverlay); break; } } @@ -270,22 +270,33 @@ namespace Sledgemapper { case Keys.Left: if (oldState.IsKeyUp(Keys.Left) && newState.IsKeyDown(Keys.Left)) - { _state._selectedTile.X--; } + { + _state.SelectedTile.X--; + _communicationManager.Connection?.SendAsync("UpdatePosition", _sessionData.SessionName, _state.SelectedTile); + } break; case Keys.Right: if (oldState.IsKeyUp(Keys.Right) && newState.IsKeyDown(Keys.Right)) - { _state._selectedTile.X++; } + { + _state.SelectedTile.X++; + _communicationManager.Connection?.SendAsync("UpdatePosition", _sessionData.SessionName, _state.SelectedTile); + } break; case Keys.Up: if (oldState.IsKeyUp(Keys.Up) && newState.IsKeyDown(Keys.Up)) - { _state._selectedTile.Y--; } + { + _state.SelectedTile.Y--; + _communicationManager.Connection?.SendAsync("UpdatePosition", _sessionData.SessionName, _state.SelectedTile); + } break; case Keys.Down: if (oldState.IsKeyUp(Keys.Down) && newState.IsKeyDown(Keys.Down)) - { _state._selectedTile.Y++; } + { + _state.SelectedTile.Y++; + _communicationManager.Connection?.SendAsync("UpdatePosition", _sessionData.SessionName, _state.SelectedTile); + } break; } - _communicationManager.Connection?.SendAsync("UpdatePosition", _sessionData.SessionName, _state._selectedTile); } @@ -296,14 +307,14 @@ namespace Sledgemapper private void CenterOnSelectedTile() { - CenterOnTile(_state._selectedTile.X, _state._selectedTile.Y); + CenterOnTile(_state.SelectedTile.X, _state.SelectedTile.Y); } private void CenterOnTile(int x, int y) { - var center = new Point((Window.ClientBounds.Width + 200) / 2 - _state._tileSize / 2, Window.ClientBounds.Height / 2 - _state._tileSize / 2); - var dx = center.X - x * _state._tileSize - _viewportCenter.X; - var dy = center.Y - y * _state._tileSize - _viewportCenter.Y; + var center = new Point((Window.ClientBounds.Width + 200) / 2 - _state.TileSize / 2, Window.ClientBounds.Height / 2 - _state.TileSize / 2); + var dx = center.X - x * _state.TileSize - _viewportCenter.X; + var dy = center.Y - y * _state.TileSize - _viewportCenter.Y; _viewportCenter.X += dx; _viewportCenter.Y += dy; } @@ -316,8 +327,8 @@ namespace Sledgemapper } GraphicsDevice.Clear(Color.LightGray); - var visibleTilesX = GraphicsDevice.Viewport.Width / _state._tileSize + 1; - var visibleTilesY = GraphicsDevice.Viewport.Height / _state._tileSize + 1; + var visibleTilesX = GraphicsDevice.Viewport.Width / _state.TileSize + 1; + var visibleTilesY = GraphicsDevice.Viewport.Height / _state.TileSize + 1; _spriteBatch.Begin(transformMatrix: Matrix.CreateTranslation(_viewportCenter)); @@ -328,21 +339,21 @@ namespace Sledgemapper if (string.IsNullOrWhiteSpace(_sessionData.SessionName)) { - _spriteBatch.DrawRectangle(new Rectangle((_state._selectedTile.X * _state._tileSize) - 2, (_state._selectedTile.Y * _state._tileSize) - 2, _state._tileSize + 3, _state._tileSize + 3), Color.Red, 2); + _spriteBatch.DrawRectangle(new Rectangle((_state.SelectedTile.X * _state.TileSize) - 2, (_state.SelectedTile.Y * _state.TileSize) - 2, _state.TileSize + 3, _state.TileSize + 3), Color.Red, 2); } DrawPlayers(); - var startWall = new Vector2(_state._selectedWall.X * _state._tileSize, _state._selectedWall.Y * _state._tileSize); - if (_state._insertMode == InsertMode.Wall) + var startWall = new Vector2(_state.SelectedWall.X * _state.TileSize, _state.SelectedWall.Y * _state.TileSize); + if (_state.InsertMode == InsertMode.Wall) { - _spriteBatch.DrawLine(startWall, _state._tileSize, MathHelper.ToRadians(90 * _state._selectedWall.Rotation), Color.Red, 2); + _spriteBatch.DrawLine(startWall, _state.TileSize, MathHelper.ToRadians(90 * _state.SelectedWall.Rotation), Color.Red, 2); } - var overlay = new Vector2(_state._selectedOverlay.X * _state._tileSize, _state._selectedOverlay.Y * _state._tileSize); - if (_state._insertMode == InsertMode.Overlay && _state._selectedOverlay.Intersection) + var overlay = new Vector2(_state.SelectedOverlay.X * _state.TileSize, _state.SelectedOverlay.Y * _state.TileSize); + if (_state.InsertMode == InsertMode.Overlay && _state.SelectedOverlay.Intersection) { - _spriteBatch.DrawCircle(overlay, _state._tileSize / 3f, 100, Color.Red, 2); + _spriteBatch.DrawCircle(overlay, _state.TileSize / 3f, 100, Color.Red, 2); } _spriteBatch.End(); @@ -362,14 +373,14 @@ namespace Sledgemapper { for (var i = -1; i < visibleTilesX + 2; i++) { - var posX1 = i * _state._tileSize - _viewportCenter.X; + var posX1 = i * _state.TileSize - _viewportCenter.X; var posY1 = -_viewportCenter.Y; - posX1 -= posX1 % _state._tileSize; - posY1 -= posY1 % _state._tileSize; - var posX2 = i * _state._tileSize - _viewportCenter.X; + posX1 -= posX1 % _state.TileSize; + posY1 -= posY1 % _state.TileSize; + var posX2 = i * _state.TileSize - _viewportCenter.X; var posY2 = GraphicsDevice.Viewport.Height - _viewportCenter.Y; - posX2 -= posX2 % _state._tileSize; - posY2 -= posY2 % _state._tileSize; + posX2 -= posX2 % _state.TileSize; + posY2 -= posY2 % _state.TileSize; _spriteBatch.DrawLine( posX1, posY1, @@ -381,13 +392,13 @@ namespace Sledgemapper for (var i = -1; i < visibleTilesY + 2; i++) { var posX1 = -_viewportCenter.X; - var posY1 = i * _state._tileSize - _viewportCenter.Y; - posX1 -= posX1 % _state._tileSize; - posY1 -= posY1 % _state._tileSize; + var posY1 = i * _state.TileSize - _viewportCenter.Y; + posX1 -= posX1 % _state.TileSize; + posY1 -= posY1 % _state.TileSize; var posX2 = GraphicsDevice.Viewport.Width - _viewportCenter.X; - var posY2 = i * _state._tileSize - _viewportCenter.Y; - posX2 -= posX2 % _state._tileSize; - posY2 -= posY2 % _state._tileSize; + var posY2 = i * _state.TileSize - _viewportCenter.Y; + posX2 -= posX2 % _state.TileSize; + posY2 -= posY2 % _state.TileSize; _spriteBatch.DrawLine(posX1, posY1, posX2, @@ -396,25 +407,25 @@ namespace Sledgemapper } - if (_showCellNumbers && _state._tileSize >= 30) + if (_showCellNumbers && _state.TileSize >= 30) { - var ffont = _fonts.FirstOrDefault(m => int.Parse(m.Key.Replace("font", "")) > _state._tileSize / 8).Value ?? _fonts.Last().Value; + var ffont = _fonts.FirstOrDefault(m => int.Parse(m.Key.Replace("font", "")) > _state.TileSize / 8).Value ?? _fonts.Last().Value; var fscale = 1f; for (var i = -1; i < visibleTilesX + 2; i++) { for (var j = -1; j < visibleTilesY + 2; j++) { - var screenPosition = new Point(i * _state._tileSize - (int)_viewportCenter.X, j * _state._tileSize - (int)_viewportCenter.Y); + var screenPosition = new Point(i * _state.TileSize - (int)_viewportCenter.X, j * _state.TileSize - (int)_viewportCenter.Y); - var x = screenPosition.X / _state._tileSize; - var y = screenPosition.Y / _state._tileSize; + var x = screenPosition.X / _state.TileSize; + var y = screenPosition.Y / _state.TileSize; _spriteBatch.DrawString(ffont, $"{x}:{y}", new Vector2( - x * _state._tileSize + 2, - y * _state._tileSize + 2 + x * _state.TileSize + 2, + y * _state.TileSize + 2 ), Color.Black, 0, @@ -434,19 +445,19 @@ namespace Sledgemapper var content = Content.Load($"overlays/{tile.ID}"); if (tile.Intersection) { - var posX = tile.X * _state._tileSize; - var posY = tile.Y * _state._tileSize; + var posX = tile.X * _state.TileSize; + 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, 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); } else { - var posX = tile.X * _state._tileSize + _state._tileSize / 2f; - var posY = tile.Y * _state._tileSize + _state._tileSize / 2f; + var posX = tile.X * _state.TileSize + _state.TileSize / 2f; + 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, 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); } } } @@ -459,14 +470,14 @@ namespace Sledgemapper var color = new Color(int.Parse(hexs[0], System.Globalization.NumberStyles.HexNumber), int.Parse(hexs[1], System.Globalization.NumberStyles.HexNumber), int.Parse(hexs[2], System.Globalization.NumberStyles.HexNumber)); - _spriteBatch.DrawRectangle(new Rectangle(player.Position.X * _state._tileSize, player.Position.Y * _state._tileSize, _state._tileSize - 1, _state._tileSize - 1), color, 2); + _spriteBatch.DrawRectangle(new Rectangle(player.Position.X * _state.TileSize, player.Position.Y * _state.TileSize, _state.TileSize - 1, _state.TileSize - 1), color, 2); - var ffont = _fonts.FirstOrDefault(m => int.Parse(m.Key.Replace("font", "")) > _state._tileSize).Value ?? _fonts.Last().Value; + var ffont = _fonts.FirstOrDefault(m => int.Parse(m.Key.Replace("font", "")) > _state.TileSize).Value ?? _fonts.Last().Value; - var fscale = _state._tileSize / ((float)ffont.LineSpacing * 2); + var fscale = _state.TileSize / ((float)ffont.LineSpacing * 2); _spriteBatch.DrawString(ffont, player.Initials, - new Vector2(player.Position.X * _state._tileSize + 2, player.Position.Y * _state._tileSize + _state._tileSize - 2 - ffont.LineSpacing * fscale), + new Vector2(player.Position.X * _state.TileSize + 2, player.Position.Y * _state.TileSize + _state.TileSize - 2 - ffont.LineSpacing * fscale), color, 0, Vector2.Zero, @@ -482,11 +493,11 @@ namespace Sledgemapper { var content = Content.Load($"tiles/{tile.ID}"); - var posX = tile.X * _state._tileSize + _state._tileSize / 2f; - var posY = tile.Y * _state._tileSize + _state._tileSize / 2f; + var posX = tile.X * _state.TileSize + _state.TileSize / 2f; + var posY = tile.Y * _state.TileSize + _state.TileSize / 2f; _spriteBatch.Draw(content, new Vector2(posX, posY), - null, Color.White, MathHelper.ToRadians(90 * tile.Rotation), new Vector2(content.Width / 2, content.Height / 2), ((float)_state._tileSize - 1) / content.Width, SpriteEffects.None, 0); + null, Color.White, MathHelper.ToRadians(90 * tile.Rotation), new Vector2(content.Width / 2, content.Height / 2), ((float)_state.TileSize - 1) / content.Width, SpriteEffects.None, 0); } } @@ -495,10 +506,10 @@ namespace Sledgemapper foreach (var wall in _sessionData.Walls.Values) { var content = Content.Load($"walls/{wall.ID}"); - var scale = _state._tileSize / (float)content.Height; + var scale = _state.TileSize / (float)content.Height; var offset = scale * content.Width / 2f; - var posX = wall.X * _state._tileSize; - var posY = wall.Y * _state._tileSize; + var posX = wall.X * _state.TileSize; + var posY = wall.Y * _state.TileSize; if (wall.Rotation == 1) { posX -= (int)offset; @@ -528,7 +539,9 @@ namespace Sledgemapper if (_communicationManager.Connection.State != HubConnectionState.Connected) { + _mainWidget.lblConnectionStatus.Text = "Connecting"; await _communicationManager.Connection.StartAsync(); + UpdateConnectionState(_communicationManager.Connection); } var successful = false; @@ -583,8 +596,6 @@ namespace Sledgemapper _mainWidget.lblConnectionStatus.Text = "Connecting"; await _communicationManager.Connection.StartAsync(); UpdateConnectionState(_communicationManager.Connection); - - } var successful = false; @@ -803,29 +814,29 @@ namespace Sledgemapper private void OnOverlayButtonClicked(object sender, EventArgs e) { - _state._currentOverlayId = ((ImageButton)sender).Id; + _state.CurrentOverlayId = ((ImageButton)sender).Id; _mainWidget.ClearSelection(); ((ImageButton)sender).Border = new SolidBrush(Color.Red); ((ImageButton)sender).BorderThickness = new Myra.Graphics2D.Thickness(2); - _state._insertMode = InsertMode.Overlay; + _state.InsertMode = InsertMode.Overlay; } private void OnTileButtonClicked(object sender, EventArgs e) { - _state._currentTileId = ((ImageButton)sender).Id; + _state.CurrentTileId = ((ImageButton)sender).Id; _mainWidget.ClearSelection(); ((ImageButton)sender).Border = new SolidBrush(Color.Red); ((ImageButton)sender).BorderThickness = new Myra.Graphics2D.Thickness(2); - _state._insertMode = InsertMode.Tile; + _state.InsertMode = InsertMode.Tile; } private void OnWallButtonClicked(object sender, EventArgs e) { - _state._currentWallId = ((ImageButton)sender).Id; + _state.CurrentWallId = ((ImageButton)sender).Id; _mainWidget.ClearSelection(); ((ImageButton)sender).Border = new SolidBrush(Color.Red); ((ImageButton)sender).BorderThickness = new Myra.Graphics2D.Thickness(2); - _state._insertMode = InsertMode.Wall; + _state.InsertMode = InsertMode.Wall; } private void OnMenuConnectJoinSelected(object sender, EventArgs e) diff --git a/Sledgemapper/State.cs b/Sledgemapper/State.cs index a2179b2..6030199 100644 --- a/Sledgemapper/State.cs +++ b/Sledgemapper/State.cs @@ -6,95 +6,107 @@ namespace Sledgemapper { public class State { - public Tile _selectedTile = new() { X = 1, Y = 1 }; - public Tile _hoveredTile = new() { X = 1, Y = 1 }; - public Wall _selectedWall = new() { X = 1, Y = 1 }; - public Overlay _selectedOverlay = new() { X = 1, Y = 1 }; - public int _tileSize = 30; - public string _currentTileId = ""; - public string _currentWallId = ""; - public string _currentOverlayId = ""; - public InsertMode _insertMode; + public Tile SelectedTile { get; set; } + public Tile HoveredTile { get; set; } + public Wall SelectedWall { get; set; } + public Overlay SelectedOverlay { get; set; } + public int TileSize { get; set; } + public string CurrentTileId { get; set; } + public string CurrentWallId { get; set; } + public string CurrentOverlayId { get; set; } + public InsertMode InsertMode; + + public State() + { + CurrentTileId = ""; + CurrentWallId = ""; + CurrentOverlayId = ""; + SelectedTile = new() { X = 1, Y = 1 }; + HoveredTile = new() { X = 1, Y = 1 }; + SelectedWall = new() { X = 1, Y = 1 }; + SelectedOverlay = new() { X = 1, Y = 1 }; + TileSize = 30; + } public void SelectClosestWall(Point mousePosition) { - var topLeft = new Point(_hoveredTile.X * _tileSize, _hoveredTile.Y * _tileSize); - var bottomLeft = new Point(_hoveredTile.X * _tileSize, _hoveredTile.Y * _tileSize + _tileSize); - var topRight = new Point(_hoveredTile.X * _tileSize + _tileSize, _hoveredTile.Y * _tileSize); - var bottomRight = new Point(_hoveredTile.X * _tileSize + _tileSize, _hoveredTile.Y * _tileSize + _tileSize); - var center = new Point(_hoveredTile.X * _tileSize + _tileSize / 2, _hoveredTile.Y * _tileSize + _tileSize / 2); + var topLeft = new Point(HoveredTile.X * TileSize, HoveredTile.Y * TileSize); + var bottomLeft = new Point(HoveredTile.X * TileSize, HoveredTile.Y * TileSize + TileSize); + var topRight = new Point(HoveredTile.X * TileSize + TileSize, HoveredTile.Y * TileSize); + var bottomRight = new Point(HoveredTile.X * TileSize + TileSize, HoveredTile.Y * TileSize + TileSize); + var center = new Point(HoveredTile.X * TileSize + TileSize / 2, HoveredTile.Y * TileSize + TileSize / 2); if (Utils.PointInTri(mousePosition, topLeft, center, bottomLeft)) //left wall { - _selectedWall.X = _hoveredTile.X; - _selectedWall.Y = _hoveredTile.Y; - _selectedWall.Rotation = 1; + SelectedWall.X = HoveredTile.X; + SelectedWall.Y = HoveredTile.Y; + SelectedWall.Rotation = 1; } else if (Utils.PointInTri(mousePosition, topRight, bottomRight, center)) //right wall { - _selectedWall.X = _hoveredTile.X + 1; - _selectedWall.Y = _hoveredTile.Y; - _selectedWall.Rotation = 1; + SelectedWall.X = HoveredTile.X + 1; + SelectedWall.Y = HoveredTile.Y; + SelectedWall.Rotation = 1; } else if (Utils.PointInTri(mousePosition, topLeft, topRight, center)) //top wall { - _selectedWall.X = _hoveredTile.X; - _selectedWall.Y = _hoveredTile.Y; - _selectedWall.Rotation = 0; + SelectedWall.X = HoveredTile.X; + SelectedWall.Y = HoveredTile.Y; + SelectedWall.Rotation = 0; } else if (Utils.PointInTri(mousePosition, bottomLeft, center, bottomRight)) //bottom wall { - _selectedWall.X = _hoveredTile.X; - _selectedWall.Y = _hoveredTile.Y + 1; - _selectedWall.Rotation = 0; + SelectedWall.X = HoveredTile.X; + SelectedWall.Y = HoveredTile.Y + 1; + SelectedWall.Rotation = 0; } } public void SelectOverlay(Point mousePosition) { - _selectedOverlay.X = _hoveredTile.X; - _selectedOverlay.Y = _hoveredTile.Y; - var q1 = Math.Pow(mousePosition.X - _hoveredTile.X * _tileSize, 2); - var q2 = Math.Pow(_hoveredTile.Y * _tileSize - mousePosition.Y, 2); + SelectedOverlay.X = HoveredTile.X; + SelectedOverlay.Y = HoveredTile.Y; + var q1 = Math.Pow(mousePosition.X - HoveredTile.X * TileSize, 2); + var q2 = Math.Pow(HoveredTile.Y * TileSize - mousePosition.Y, 2); var s = Math.Sqrt(q1 + q2); - if (s < _tileSize / 3) + if (s < TileSize / 3) { - _selectedOverlay.Intersection = true; + SelectedOverlay.Intersection = true; return; } - q1 = Math.Pow(mousePosition.X - (_hoveredTile.X + 1) * _tileSize, 2); + q1 = Math.Pow(mousePosition.X - (HoveredTile.X + 1) * TileSize, 2); s = Math.Sqrt(q1 + q2); - if (s < _tileSize / 3) + if (s < TileSize / 3) { - _selectedOverlay.X = _selectedOverlay.X + 1; - _selectedOverlay.Intersection = true; + SelectedOverlay.X = SelectedOverlay.X + 1; + SelectedOverlay.Intersection = true; return; } //q1 = System.Math.Pow(mousePosition.X - (_hoveredTile.X + 1) * _tileSize, 2); - q2 = Math.Pow((_hoveredTile.Y + 1) * _tileSize - mousePosition.Y, 2); + q2 = Math.Pow((HoveredTile.Y + 1) * TileSize - mousePosition.Y, 2); s = Math.Sqrt(q1 + q2); - if (s < _tileSize / 3) + if (s < TileSize / 3) { - _selectedOverlay.X = _selectedOverlay.X + 1; - _selectedOverlay.Y = _selectedOverlay.Y + 1; - _selectedOverlay.Intersection = true; + SelectedOverlay.X = SelectedOverlay.X + 1; + SelectedOverlay.Y = SelectedOverlay.Y + 1; + SelectedOverlay.Intersection = true; return; } - q1 = Math.Pow(mousePosition.X - _hoveredTile.X * _tileSize, 2); - q2 = Math.Pow((_hoveredTile.Y + 1) * _tileSize - mousePosition.Y, 2); + q1 = Math.Pow(mousePosition.X - HoveredTile.X * TileSize, 2); + q2 = Math.Pow((HoveredTile.Y + 1) * TileSize - mousePosition.Y, 2); s = Math.Sqrt(q1 + q2); - if (s < _tileSize / 3) + if (s < TileSize / 3) { - _selectedOverlay.X = _selectedOverlay.X; - _selectedOverlay.Y = _selectedOverlay.Y + 1; - _selectedOverlay.Intersection = true; + SelectedOverlay.X = SelectedOverlay.X; + SelectedOverlay.Y = SelectedOverlay.Y + 1; + SelectedOverlay.Intersection = true; return; } - _selectedOverlay.Intersection = false; + SelectedOverlay.Intersection = false; } } } diff --git a/Sledgemapper/UI/loginwindow.xml b/Sledgemapper/UI/loginwindow.xml index 921ac99..b493a50 100644 --- a/Sledgemapper/UI/loginwindow.xml +++ b/Sledgemapper/UI/loginwindow.xml @@ -23,6 +23,6 @@ -