From f15f1c88571ed140ceef1a1b8c1b97d75be0d73a Mon Sep 17 00:00:00 2001 From: Michele Scandura Date: Thu, 16 Sep 2021 11:11:07 +0100 Subject: [PATCH] cleanup, refactoring, usual stuff --- .../Controllers/AuthManagementController.cs | 10 +-- Sledgemapper.Api/Core/Entities/User.cs | 2 +- .../Handlers/DeleteNoteCommandHandler.cs | 4 +- .../Handlers/DeleteOverlayCommandHandler.cs | 4 +- .../Handlers/DeleteTileCommandHandler.cs | 4 +- .../Handlers/DeleteWallCommandHandler.cs | 4 +- .../Handlers/GetCampaignsCommandHandler.cs | 2 +- .../Handlers/GetMapSnapshotCommandHandler.cs | 10 +-- .../Handlers/NewLineCommandHandler.cs | 4 +- .../Handlers/NewNoteCommandHandler.cs | 4 +- .../Handlers/NewOverlayCommandHandler.cs | 4 +- .../Handlers/NewRoomCommandHandler.cs | 4 +- .../Handlers/NewSnapshotCommandHandler.cs | 4 +- .../Handlers/NewTileCommandHandler.cs | 4 +- .../Handlers/NewWallCommandHandler.cs | 4 +- Sledgemapper.Api/Hubs/SledgemapperHub.cs | 4 +- .../Data/SledgemapperDbContext.cs | 6 +- .../Messages/CampaignSelectedMessage.cs | 9 ++ Sledgemapper/UI/CampaignList.Custom.cs | 87 +++---------------- Sledgemapper/UI/MainWidget.Custom.cs | 86 ++++-------------- Sledgemapper/UI/NoteList.Custom.cs | 7 +- Sledgemapper/UI/NoteListItem.Custom.cs | 8 ++ Sledgemapper/UI/PlayerList.Custom.cs | 48 ++++++++++ Sledgemapper/UI/PlayerList.cs | 14 +-- Sledgemapper/UI/PlayerWindow.Custom.cs | 44 ++++++++++ Sledgemapper/UI/PlayerWindow.cs | 11 --- 26 files changed, 183 insertions(+), 209 deletions(-) create mode 100644 Sledgemapper/Messages/CampaignSelectedMessage.cs create mode 100644 Sledgemapper/UI/NoteListItem.Custom.cs create mode 100644 Sledgemapper/UI/PlayerList.Custom.cs create mode 100644 Sledgemapper/UI/PlayerWindow.Custom.cs delete mode 100644 Sledgemapper/UI/PlayerWindow.cs diff --git a/Sledgemapper.Api/Controllers/AuthManagementController.cs b/Sledgemapper.Api/Controllers/AuthManagementController.cs index a6eda75..9543bc5 100644 --- a/Sledgemapper.Api/Controllers/AuthManagementController.cs +++ b/Sledgemapper.Api/Controllers/AuthManagementController.cs @@ -34,7 +34,7 @@ namespace Sledgemapper.Api.Controllers [HttpPost] [Route("Register")] - public async Task Register([FromBody] Sledgemapper.Models.Users.RegisterModel user) + public async Task Register([FromBody] RegisterModel user) { // Check if the incoming request is valid if (ModelState.IsValid) @@ -44,7 +44,7 @@ namespace Sledgemapper.Api.Controllers if (existingUser != null) { - return BadRequest(new Sledgemapper.Models.Users.RegistrationResponse() + return BadRequest(new RegistrationResponse() { Result = false, Errors = new List(){ @@ -60,14 +60,14 @@ namespace Sledgemapper.Api.Controllers { var jwtToken = GenerateJwtToken(newUser); - return Ok(new Sledgemapper.Models.Users.RegistrationResponse() + return Ok(new RegistrationResponse() { Result = true, Token = jwtToken }); } - return new JsonResult(new Sledgemapper.Models.Users.RegistrationResponse() + return new JsonResult(new RegistrationResponse() { Result = false, Errors = isCreated.Errors.Select(x => x.Description).ToList() @@ -76,7 +76,7 @@ namespace Sledgemapper.Api.Controllers { StatusCode = 500 }; } - return BadRequest(new Sledgemapper.Models.Users.RegistrationResponse() + return BadRequest(new RegistrationResponse() { Result = false, Errors = new List(){ diff --git a/Sledgemapper.Api/Core/Entities/User.cs b/Sledgemapper.Api/Core/Entities/User.cs index a4af244..bd4993f 100644 --- a/Sledgemapper.Api/Core/Entities/User.cs +++ b/Sledgemapper.Api/Core/Entities/User.cs @@ -13,6 +13,6 @@ namespace Sledgemapper.Entities public string Initials { get; set; } // public byte[] PasswordHash { get; set; } public byte[] PasswordSalt { get; set; } - public ICollection Campaigns {get;set;} + public ICollection Campaigns {get;set;} } } \ No newline at end of file diff --git a/Sledgemapper.Api/Handlers/DeleteNoteCommandHandler.cs b/Sledgemapper.Api/Handlers/DeleteNoteCommandHandler.cs index 9bb34d1..1445f84 100644 --- a/Sledgemapper.Api/Handlers/DeleteNoteCommandHandler.cs +++ b/Sledgemapper.Api/Handlers/DeleteNoteCommandHandler.cs @@ -22,10 +22,10 @@ namespace Sledgemapper.Api.Handlers public async Task Handle(DeleteNoteCommand notification, CancellationToken cancellationToken) { - var jsonString = JsonSerializer.Serialize(notification.Note); + var jsonString = JsonSerializer.Serialize(notification.Note); var session = _dbcontext.Sessions.First(m => m.SessionName == notification.SessionName); - _dbcontext.MapLogs.Add(new Sledgemapper.Api.Models.MapLog + _dbcontext.MapLogs.Add(new Models.MapLog { Operation = "D", SessionId = session.SessionId, diff --git a/Sledgemapper.Api/Handlers/DeleteOverlayCommandHandler.cs b/Sledgemapper.Api/Handlers/DeleteOverlayCommandHandler.cs index 6ec62bf..fae8bd0 100644 --- a/Sledgemapper.Api/Handlers/DeleteOverlayCommandHandler.cs +++ b/Sledgemapper.Api/Handlers/DeleteOverlayCommandHandler.cs @@ -20,10 +20,10 @@ namespace Sledgemapper.Api.Handlers public async Task Handle(DeleteOverlayCommand notification, CancellationToken cancellationToken) { - var jsonString = JsonSerializer.Serialize(notification.Overlay); + var jsonString = JsonSerializer.Serialize(notification.Overlay); var session = _dbcontext.Sessions.First(m=>m.SessionName== notification.SessionName); - _dbcontext.MapLogs.Add(new Sledgemapper.Api.Models.MapLog + _dbcontext.MapLogs.Add(new Models.MapLog { Operation = "D", SessionId = session.SessionId, diff --git a/Sledgemapper.Api/Handlers/DeleteTileCommandHandler.cs b/Sledgemapper.Api/Handlers/DeleteTileCommandHandler.cs index 8e5cb52..9ae4b2f 100644 --- a/Sledgemapper.Api/Handlers/DeleteTileCommandHandler.cs +++ b/Sledgemapper.Api/Handlers/DeleteTileCommandHandler.cs @@ -20,10 +20,10 @@ namespace Sledgemapper.Api.Handlers public async Task Handle(DeleteTileCommand notification, CancellationToken cancellationToken) { - var jsonString = JsonSerializer.Serialize(notification.Tile); + var jsonString = JsonSerializer.Serialize(notification.Tile); var session = _dbcontext.Sessions.First(m=>m.SessionName== notification.SessionName); - _dbcontext.MapLogs.Add(new Sledgemapper.Api.Models.MapLog + _dbcontext.MapLogs.Add(new Models.MapLog { Operation = "D", SessionId = session.SessionId, diff --git a/Sledgemapper.Api/Handlers/DeleteWallCommandHandler.cs b/Sledgemapper.Api/Handlers/DeleteWallCommandHandler.cs index 3daef43..ace1c1c 100644 --- a/Sledgemapper.Api/Handlers/DeleteWallCommandHandler.cs +++ b/Sledgemapper.Api/Handlers/DeleteWallCommandHandler.cs @@ -22,10 +22,10 @@ namespace Sledgemapper.Api.Handlers public async Task Handle(DeleteWallCommand notification, CancellationToken cancellationToken) { - var jsonString = JsonSerializer.Serialize(notification.Wall); + var jsonString = JsonSerializer.Serialize(notification.Wall); var session = _dbcontext.Sessions.First(m => m.SessionName == notification.SessionName); - _dbcontext.MapLogs.Add(new Sledgemapper.Api.Models.MapLog + _dbcontext.MapLogs.Add(new Models.MapLog { Operation = "D", SessionId = session.SessionId, diff --git a/Sledgemapper.Api/Handlers/GetCampaignsCommandHandler.cs b/Sledgemapper.Api/Handlers/GetCampaignsCommandHandler.cs index 9b1e998..12b226f 100644 --- a/Sledgemapper.Api/Handlers/GetCampaignsCommandHandler.cs +++ b/Sledgemapper.Api/Handlers/GetCampaignsCommandHandler.cs @@ -31,7 +31,7 @@ namespace Sledgemapper.Api.Handlers var campaigns = _dbcontext.Campaigns.Include(c => c.InvitedUsers).Include(c => c.Maps).Include(c => c.Owner).Where(campaign => campaign.OwnerId == command.UserId || campaign.InvitedUsers.Contains(user)); return campaigns. - Select(c => new Shared.Entities.Campaign { Id = c.CampaignId, Name = c.CampaignName, Maps = c.Maps.Select(m => new Shared.Entities.Map { SessionName = m.SessionName }).ToList() }) + Select(c => new Campaign { Id = c.CampaignId, Name = c.CampaignName, Maps = c.Maps.Select(m => new Map { SessionName = m.SessionName }).ToList() }) .ToList(); } catch (Exception ex) diff --git a/Sledgemapper.Api/Handlers/GetMapSnapshotCommandHandler.cs b/Sledgemapper.Api/Handlers/GetMapSnapshotCommandHandler.cs index d8960cf..50ee2fa 100644 --- a/Sledgemapper.Api/Handlers/GetMapSnapshotCommandHandler.cs +++ b/Sledgemapper.Api/Handlers/GetMapSnapshotCommandHandler.cs @@ -9,17 +9,17 @@ using Sledgemapper.Api.Models; namespace Sledgemapper.Api.Commands { - public class GetMapSnapshotCommandHandler : IRequestHandler + public class GetMapSnapshotCommandHandler : IRequestHandler { private readonly SledgemapperDbContext _dbcontext; public GetMapSnapshotCommandHandler(SledgemapperDbContext dbcontext) { _dbcontext = dbcontext; } - public async Task Handle(GetMapSnapshotCommand notification, CancellationToken cancellationToken) + public async Task Handle(GetMapSnapshotCommand notification, CancellationToken cancellationToken) { Snapshot snapshot; double timestamp; - Sledgemapper.Shared.Entities.Session mapSession; + Shared.Entities.Session mapSession; var session = _dbcontext.Sessions.First(m => m.SessionName == notification.SessionName); snapshot = _dbcontext.Snapshots.OrderByDescending(s => s.Timestamp).FirstOrDefault(m => m.SessionId == session.SessionId); if (snapshot is null) @@ -30,7 +30,7 @@ namespace Sledgemapper.Api.Commands } else { - mapSession = JsonSerializer.Deserialize(snapshot.Object); + mapSession = JsonSerializer.Deserialize(snapshot.Object); timestamp = snapshot.Timestamp; } @@ -101,7 +101,7 @@ namespace Sledgemapper.Api.Commands { SessionId = session.SessionId, Timestamp = mapUpdates.Max(mapSession => mapSession.Timestamp), - Object = JsonSerializer.Serialize(mapSession) + Object = JsonSerializer.Serialize(mapSession) }; await _dbcontext.Snapshots.AddAsync(newSnapshot); await _dbcontext.SaveChangesAsync(); diff --git a/Sledgemapper.Api/Handlers/NewLineCommandHandler.cs b/Sledgemapper.Api/Handlers/NewLineCommandHandler.cs index d6e9e56..a6586a3 100644 --- a/Sledgemapper.Api/Handlers/NewLineCommandHandler.cs +++ b/Sledgemapper.Api/Handlers/NewLineCommandHandler.cs @@ -20,9 +20,9 @@ namespace Sledgemapper.Api.Handlers public async Task Handle(NewLineCommand notification, CancellationToken cancellationToken) { - var jsonString = JsonSerializer.Serialize(notification.Line); + var jsonString = JsonSerializer.Serialize(notification.Line); var session = _dbcontext.Sessions.First(m => m.SessionName == notification.SessionName); - _dbcontext.MapLogs.Add(new Sledgemapper.Api.Models.MapLog + _dbcontext.MapLogs.Add(new Models.MapLog { Operation = "N", SessionId = session.SessionId, diff --git a/Sledgemapper.Api/Handlers/NewNoteCommandHandler.cs b/Sledgemapper.Api/Handlers/NewNoteCommandHandler.cs index 8c19a2c..149c869 100644 --- a/Sledgemapper.Api/Handlers/NewNoteCommandHandler.cs +++ b/Sledgemapper.Api/Handlers/NewNoteCommandHandler.cs @@ -20,9 +20,9 @@ namespace Sledgemapper.Api.Handlers public async Task Handle(NewNoteCommand notification, CancellationToken cancellationToken) { - var jsonString = JsonSerializer.Serialize(notification.Note); + var jsonString = JsonSerializer.Serialize(notification.Note); var session = _dbcontext.Sessions.First(m => m.SessionName == notification.SessionName); - _dbcontext.MapLogs.Add(new Sledgemapper.Api.Models.MapLog + _dbcontext.MapLogs.Add(new Models.MapLog { Operation = "N", SessionId = session.SessionId, diff --git a/Sledgemapper.Api/Handlers/NewOverlayCommandHandler.cs b/Sledgemapper.Api/Handlers/NewOverlayCommandHandler.cs index 92fc4f0..54bfd2c 100644 --- a/Sledgemapper.Api/Handlers/NewOverlayCommandHandler.cs +++ b/Sledgemapper.Api/Handlers/NewOverlayCommandHandler.cs @@ -20,9 +20,9 @@ namespace Sledgemapper.Api.Handlers public async Task Handle(NewOverlayCommand notification, CancellationToken cancellationToken) { - var jsonString = JsonSerializer.Serialize(notification.Overlay); + var jsonString = JsonSerializer.Serialize(notification.Overlay); var session = _dbcontext.Sessions.First(m => m.SessionName == notification.SessionName); - _dbcontext.MapLogs.Add(new Sledgemapper.Api.Models.MapLog + _dbcontext.MapLogs.Add(new Models.MapLog { Operation = "N", SessionId = session.SessionId, diff --git a/Sledgemapper.Api/Handlers/NewRoomCommandHandler.cs b/Sledgemapper.Api/Handlers/NewRoomCommandHandler.cs index a48e10b..11d59f4 100644 --- a/Sledgemapper.Api/Handlers/NewRoomCommandHandler.cs +++ b/Sledgemapper.Api/Handlers/NewRoomCommandHandler.cs @@ -20,9 +20,9 @@ namespace Sledgemapper.Api.Handlers public async Task Handle(NewRoomCommand notification, CancellationToken cancellationToken) { - var jsonString = JsonSerializer.Serialize(notification.Room); + var jsonString = JsonSerializer.Serialize(notification.Room); var session = _dbcontext.Sessions.First(m => m.SessionName == notification.SessionName); - _dbcontext.MapLogs.Add(new Sledgemapper.Api.Models.MapLog + _dbcontext.MapLogs.Add(new Models.MapLog { Operation = "N", SessionId = session.SessionId, diff --git a/Sledgemapper.Api/Handlers/NewSnapshotCommandHandler.cs b/Sledgemapper.Api/Handlers/NewSnapshotCommandHandler.cs index 0a811d5..30f53cb 100644 --- a/Sledgemapper.Api/Handlers/NewSnapshotCommandHandler.cs +++ b/Sledgemapper.Api/Handlers/NewSnapshotCommandHandler.cs @@ -20,10 +20,10 @@ namespace Sledgemapper.Api.Commands var session = _dbcontext.Sessions.First(m => m.SessionName == notification.SessionName); - var newSnapshot = new Sledgemapper.Api.Models.Snapshot{ + var newSnapshot = new Models.Snapshot{ SessionId=session.SessionId, Timestamp=notification.Timestamp, - Object = JsonSerializer.Serialize(notification.Session) + Object = JsonSerializer.Serialize(notification.Session) }; await _dbcontext.Snapshots.AddAsync(newSnapshot); diff --git a/Sledgemapper.Api/Handlers/NewTileCommandHandler.cs b/Sledgemapper.Api/Handlers/NewTileCommandHandler.cs index cf3aae1..491d0a2 100644 --- a/Sledgemapper.Api/Handlers/NewTileCommandHandler.cs +++ b/Sledgemapper.Api/Handlers/NewTileCommandHandler.cs @@ -19,10 +19,10 @@ namespace Sledgemapper.Api.Commands public async Task Handle(NewTileCommand notification, CancellationToken cancellationToken) { - var jsonString = JsonSerializer.Serialize(notification.Tile); + var jsonString = JsonSerializer.Serialize(notification.Tile); var session = _dbcontext.Sessions.First(m => m.SessionName == notification.SessionName); - _dbcontext.MapLogs.Add(new Sledgemapper.Api.Models.MapLog + _dbcontext.MapLogs.Add(new Models.MapLog { Operation = "N", SessionId = session.SessionId, diff --git a/Sledgemapper.Api/Handlers/NewWallCommandHandler.cs b/Sledgemapper.Api/Handlers/NewWallCommandHandler.cs index 76e1c3c..b40e4e7 100644 --- a/Sledgemapper.Api/Handlers/NewWallCommandHandler.cs +++ b/Sledgemapper.Api/Handlers/NewWallCommandHandler.cs @@ -20,9 +20,9 @@ namespace Sledgemapper.Api.Handlers public async Task Handle(NewWallCommand notification, CancellationToken cancellationToken) { - var jsonString = JsonSerializer.Serialize(notification.Wall); + var jsonString = JsonSerializer.Serialize(notification.Wall); var session = _dbcontext.Sessions.First(m => m.SessionName == notification.SessionName); - _dbcontext.MapLogs.Add(new Sledgemapper.Api.Models.MapLog + _dbcontext.MapLogs.Add(new Models.MapLog { Operation = "N", SessionId = session.SessionId, diff --git a/Sledgemapper.Api/Hubs/SledgemapperHub.cs b/Sledgemapper.Api/Hubs/SledgemapperHub.cs index ffd91d9..3ad9340 100644 --- a/Sledgemapper.Api/Hubs/SledgemapperHub.cs +++ b/Sledgemapper.Api/Hubs/SledgemapperHub.cs @@ -94,7 +94,7 @@ namespace Sledgemapper.Api.Hubs await Clients.Group(sessionName).Ping(new Ping{X=location.X, Y=location.Y, Player=player}); } - public async Task JoinSession(string sessionName) + public async Task JoinSession(string sessionName) { var session = _dbContext.Sessions.FirstOrDefault(s => s.SessionName == sessionName); var userId = int.Parse(Context.User.Identity.Name); @@ -112,7 +112,7 @@ namespace Sledgemapper.Api.Hubs await Clients.Group(session.SessionName).NewPlayer(player); await Clients.Group(session.SessionName).RefreshPlayers(); - var newSession = new Sledgemapper.Shared.Entities.Session + var newSession = new Shared.Entities.Session { SessionName = session.SessionName, SessionId = session.SessionId diff --git a/Sledgemapper.Api/Infrastructure/Data/SledgemapperDbContext.cs b/Sledgemapper.Api/Infrastructure/Data/SledgemapperDbContext.cs index 15fbf27..75da3f8 100644 --- a/Sledgemapper.Api/Infrastructure/Data/SledgemapperDbContext.cs +++ b/Sledgemapper.Api/Infrastructure/Data/SledgemapperDbContext.cs @@ -16,7 +16,7 @@ namespace Sledgemapper.Api.Infrastructure.Data public class SledgemapperDbContext : IdentityDbContext { - public DbSet Campaigns { get; set; } + public DbSet Campaigns { get; set; } public DbSet MapLogs { get; set; } public DbSet Maps { get; set; } public DbSet Sessions { get; set; } @@ -46,9 +46,9 @@ namespace Sledgemapper.Api.Infrastructure.Data protected override void OnModelCreating(ModelBuilder modelBuilder) { - modelBuilder.Entity().HasOne(e=>e.Owner); + modelBuilder.Entity().HasOne(e=>e.Owner); -modelBuilder.Entity().HasMany(e=>e.InvitedUsers).WithMany(e=>e.Campaigns); +modelBuilder.Entity().HasMany(e=>e.InvitedUsers).WithMany(e=>e.Campaigns); modelBuilder.Entity() //Use your application user class here .ToTable( "Users" ); //Set the table name here diff --git a/Sledgemapper/Messages/CampaignSelectedMessage.cs b/Sledgemapper/Messages/CampaignSelectedMessage.cs new file mode 100644 index 0000000..5933491 --- /dev/null +++ b/Sledgemapper/Messages/CampaignSelectedMessage.cs @@ -0,0 +1,9 @@ +namespace Sledgemapper.Messages +{ + public class CampaignSelectedMessage : TinyMessenger.TinyMessageBase + { + public CampaignSelectedMessage(object sender) : base(sender) + { + } + } +} \ No newline at end of file diff --git a/Sledgemapper/UI/CampaignList.Custom.cs b/Sledgemapper/UI/CampaignList.Custom.cs index 5dc34bf..f2e6b44 100644 --- a/Sledgemapper/UI/CampaignList.Custom.cs +++ b/Sledgemapper/UI/CampaignList.Custom.cs @@ -1,5 +1,6 @@ using Myra.Graphics2D.Brushes; using Myra.Graphics2D.UI; +using Sledgemapper.Messages; using System; using System.Threading.Tasks; using TinyMessenger; @@ -11,17 +12,15 @@ namespace Sledgemapper.UI private readonly CommunicationManager CommunicationManager; private readonly Window Window; private readonly TinyMessengerHub Messenger; - private readonly Desktop Desktop; - private Settings _settings; + private bool campaignSelected; - public CampaignList(CommunicationManager communicationManager, Window window, TinyMessengerHub messenger, Settings settings, Desktop desktop) + public CampaignList(CommunicationManager communicationManager, Window window, TinyMessengerHub messenger) { BuildUI(); CommunicationManager = communicationManager; Window = window; Messenger = messenger; - Desktop = desktop; - _settings = settings; + BtnNewCampaign.Click += (s, e) => { window.Close(); @@ -33,6 +32,7 @@ namespace Sledgemapper.UI if (campaignSelected) { campaignSelected = false; + Messenger.Publish(new CampaignSelectedMessage(this)); window.Close(); } }; @@ -57,96 +57,31 @@ namespace Sledgemapper.UI }; var content = new CampaignWindow(CommunicationManager, window, Messenger); - //content.BtnNewCampaign.Text = "N"; - //content.BtnNewCampaign.Click += OnButtonNewCampaignClicked; window.Content = content; - - window.ShowModal(Desktop); - //content.TxtCampaign.SetKeyboardFocus(); + window.ShowModal(Window.Desktop); } - - - private bool campaignSelected; - - private void OnCampaignSelected(object sender, EventArgs e) { - var item = sender as UI.ListItem; - var localContent = item.GetParentContentInWindow(); + var item = sender as ListItem; + State.Instance.CampaignName = item.ItemName.Text; - var list = item.Parent as Myra.Graphics2D.UI.Grid; + var list = item.Parent as Grid; for (var i = 0; i < list.ChildrenCount; i++) { var currentItem = list.GetChild(i) as HorizontalStackPanel;// UI.ListItem; currentItem.Background = new SolidBrush("#D9D9D9FF"); } - item.Background = new SolidBrush(_settings.OverlayTintColor); + item.Background = new SolidBrush(Settings.Instance.OverlayTintColor); campaignSelected = true; } - //private async void OnButtonNewCampaignClicked(object sender, EventArgs e) - //{ - // var localContent = ((TextButton)sender).GetParentContentInWindow();// localWindow.Content as PlayerWindow; - - // var isValid = localContent.Content.TxtCampaign.ValidateTextbox(); - // if (!isValid) - // { - // return; - // } - - // //if (CommunicationManager.Connection.State != HubConnectionState.Connected) - // //{ - // // lblConnectionStatus.Text = "Connecting"; - // // await CommunicationManager.Connection.StartAsync(); - // // UpdateConnectionState(CommunicationManager.Connection); - // //} - - // var successful = false; - // try - // { - // await CommunicationManager.Api.NewCampaign(localContent.Content.TxtCampaign.Text); - - // //if (result) - // //{ - // // CommunicationManager.SessionData.SessionName = localContent.TxtSession.Text; - // // CommunicationManager.SessionData.MapEntityAdded -= OnMapEntityAdded; - // // CommunicationManager.SessionData.MapEntityDeleted -= OnMapEntityDeleted; - // // CommunicationManager.SessionData.MapEntityAdded += OnMapEntityAdded; - // // CommunicationManager.SessionData.MapEntityDeleted += OnMapEntityDeleted; - // //} - // //successful = result; - // //var result2 = await CommunicationManager.Connection?.InvokeAsync("JoinSession", localContent.TxtSession.Text); - // //CommunicationManager.SessionData.SessionId = result2.SessionId; - // //CommunicationManager.SessionData.SessionName = localContent.TxtSession.Text; - // } - // catch (Exception ex) - // { - // //ExceptionlessClient.Default.SubmitException(ex); - // } - - // //if (successful) - // //{ - // // //CommunicationManager.SessionData.SessionName = localContent.TxtSession.Text; - // // //CommunicationManager.SessionData.Map = CommunicationManager.SessionData.Map; - // // //CommunicationManager.SessionData.Overlays = CommunicationManager.SessionData.Overlays; - // // //CommunicationManager.SessionData.Walls = CommunicationManager.SessionData.Walls; - // // //lblSessionName.Text = CommunicationManager.SessionData.SessionName; - // // //MenuConnectSync.Enabled = true; - // // //MenuConnectUpload.Enabled = true; - // // localWindow.Close(); - // //} - - // localContent.Window.Close(); - - //} - public async Task LoadCampaigns() { var campaigns = await CommunicationManager.Api.GetCampaigns(); foreach (var campaign in campaigns) { - var item = new UI.ListItem(); + var item = new ListItem(); item.ItemName.Text = campaign.Name; item.TouchUp += OnCampaignSelected; diff --git a/Sledgemapper/UI/MainWidget.Custom.cs b/Sledgemapper/UI/MainWidget.Custom.cs index 6dae826..dd6a92f 100644 --- a/Sledgemapper/UI/MainWidget.Custom.cs +++ b/Sledgemapper/UI/MainWidget.Custom.cs @@ -1,7 +1,6 @@ using Microsoft.AspNetCore.SignalR.Client; using Microsoft.Xna.Framework; using Myra.Graphics2D.Brushes; -using Myra.Graphics2D.TextureAtlases; using Myra.Graphics2D.UI; using Myra.Graphics2D.UI.File; using Myra.Graphics2D.UI.Properties; @@ -11,7 +10,6 @@ using Sledgemapper.Messages; using Sledgemapper.Shared.Entities; using System; using System.IO; -using System.Linq; using TinyMessenger; using Session = Sledgemapper.Shared.Entities.Session; @@ -68,12 +66,17 @@ namespace Sledgemapper.UI _messenger.Subscribe(OnSignalrConnectionUpdateMessage); _messenger.Subscribe(OnMapOpenedMessage); _messenger.Subscribe(OnCenterOnTileMessage); + _messenger.Subscribe(OnCampaignSelectedMessage); + } + + private void OnCampaignSelectedMessage(CampaignSelectedMessage obj) + { + } private void OnCenterOnTileMessage(CenterOnTileMessage obj) { CenterOnTile(obj.X, obj.Y); - } private void OnMapOpenedMessage(MapOpenedMessage obj) @@ -318,18 +321,6 @@ namespace Sledgemapper.UI var content = new NoteList(CommunicationManager, _messenger, window); - for (var i = 0; i < CommunicationManager.SessionData.Notes.Values.Count; i++) - { - var note = CommunicationManager.SessionData.Notes.Values.ElementAt(i); - var item = new NoteListItem(); - item.LblNoteText.Text = $"{note.ToString()} - {note.Text}"; - item.BtnNoteCenter.Image = new TextureRegion(CachedContent.Instance.Location); - item.BtnNoteView.Image = new TextureRegion(CachedContent.Instance.Eye); - item.BtnNoteCenter.Click += (s, e) => { CenterOnTile(note.X, note.Y); }; - item.BtnNoteView.Click += (s, e) => { EditNote(note); window.Close(); }; - content.StackNotesList.AddChild(item); - } - window.Content = content; window.ShowModal(Desktop); } @@ -360,8 +351,9 @@ namespace Sledgemapper.UI { Title = "New campaign" }; - - var content = new CampaignWindow(); + var content = new CampaignWindow(CommunicationManager, window, _messenger); + window.Content = content; + window.ShowModal(Desktop); } private async void OnMenuCampaignOpen(object sender, EventArgs e) @@ -376,7 +368,7 @@ namespace Sledgemapper.UI Title = "Campaigns" }; - var content = new CampaignList(CommunicationManager, window, _messenger, Settings.Instance, Desktop); + var content = new CampaignList(CommunicationManager, window, _messenger); await content.LoadCampaigns(); window.Content = content; @@ -386,10 +378,10 @@ namespace Sledgemapper.UI private void OnMapSelected(object sender, EventArgs e) { - var item = sender as UI.ListItem; + var item = sender as ListItem; var localContent = item.GetParentContentInWindow(); - var list = item.Parent as Myra.Graphics2D.UI.Grid; + var list = item.Parent as Grid; for (var i = 0; i < list.ChildrenCount; i++) { var currentItem = list.GetChild(i) as HorizontalStackPanel;// UI.ListItem; @@ -410,22 +402,8 @@ namespace Sledgemapper.UI Title = "Players" }; - var content = new PlayerList(); - var players = await CommunicationManager.Api.GetPlayers(State.Instance.CampaignName); - foreach (var player in players) - { - var item = new UI.ListItem(); - item.ItemName.Text = player.UserName; - - - content.StackCampaignsList.AddChild(item); - } - - content.BtnInvitePlayer.Click += (s, e) => - { - window.Close(); - ShowAddPLayerWindow(); - }; + var content = new PlayerList(CommunicationManager, window); + await content.LoadPlayers(); window.Content = content; @@ -447,7 +425,7 @@ namespace Sledgemapper.UI var campaigns = await CommunicationManager.Api.GetMaps(State.Instance.CampaignName); foreach (var campaign in campaigns) { - var item = new UI.ListItem(); + var item = new ListItem(); item.ItemName.Text = campaign.SessionName; item.TouchUp += OnMapSelected; content.StackCampaignsList.AddChild(item); @@ -464,21 +442,7 @@ namespace Sledgemapper.UI window.ShowModal(Desktop); } - private void ShowAddPLayerWindow() - { - Window window = new() - { - Title = "Invite player" - }; - var content = new PlayerWindow(); - //content.BtnNewCampaign.Text = "N"; - content.BtnNewCampaign.Click += OnButtonInvitePlayerClicked; - window.Content = content; - - window.ShowModal(Desktop); - content.TxtCampaign.SetKeyboardFocus(); - } private async void OnButtonJoinSessionClicked(object sender, EventArgs e) { @@ -531,27 +495,7 @@ namespace Sledgemapper.UI } } - private async void OnButtonInvitePlayerClicked(object sender, EventArgs e) - { - var localContent = ((TextButton)sender).GetParentContentInWindow();// localWindow.Content as PlayerWindow; - var isValid = localContent.Content.TxtCampaign.ValidateTextbox(); - if (!isValid) - { - return; - } - var successful = false; - try - { - await CommunicationManager.Api.InvitePlayer(State.Instance.CampaignName, localContent.Content.TxtCampaign.Text); - } - catch (Exception ex) - { - SentrySdk.CaptureException(ex); - } - localContent.Window.Close(); - - } private void OnBtnToolbarRoomClicked(object sender, EventArgs e) { diff --git a/Sledgemapper/UI/NoteList.Custom.cs b/Sledgemapper/UI/NoteList.Custom.cs index 839410e..f1419b8 100644 --- a/Sledgemapper/UI/NoteList.Custom.cs +++ b/Sledgemapper/UI/NoteList.Custom.cs @@ -46,12 +46,9 @@ namespace Sledgemapper.UI }; var noteWindow = new NoteWindow(CommunicationManager, window, note); - - - window.Content = noteWindow; - window.ShowModal(Desktop); - //noteWindow.NoteText.SetKeyboardFocus(); + window.ShowModal(Window.Desktop); + } } } \ No newline at end of file diff --git a/Sledgemapper/UI/NoteListItem.Custom.cs b/Sledgemapper/UI/NoteListItem.Custom.cs new file mode 100644 index 0000000..39fe8ff --- /dev/null +++ b/Sledgemapper/UI/NoteListItem.Custom.cs @@ -0,0 +1,8 @@ +/* Generated by MyraPad at 01/12/2020 14:29:43 */ +namespace Sledgemapper.UI +{ + public partial class NoteListItem + { + + } +} \ No newline at end of file diff --git a/Sledgemapper/UI/PlayerList.Custom.cs b/Sledgemapper/UI/PlayerList.Custom.cs new file mode 100644 index 0000000..ee6c241 --- /dev/null +++ b/Sledgemapper/UI/PlayerList.Custom.cs @@ -0,0 +1,48 @@ +/* Generated by MyraPad at 28/08/2021 19:49:08 */ +using Myra.Graphics2D.UI; +using System.Threading.Tasks; + +namespace Sledgemapper.UI +{ + public partial class PlayerList + { + protected readonly Window Window; + protected readonly CommunicationManager CommunicationManager; + + public PlayerList(CommunicationManager communicationManager, Window window) + { + BuildUI(); + Window = window; + CommunicationManager = communicationManager; + BtnInvitePlayer.Click += (s, e) => + { + Window.Close(); + ShowAddPLayerWindow(); + }; + + } + + public async Task LoadPlayers() + { + var players = await CommunicationManager.Api.GetPlayers(State.Instance.CampaignName); + foreach (var player in players) + { + var item = new ListItem(); + item.ItemName.Text = player.UserName; + StackCampaignsList.AddChild(item); + } + } + + private void ShowAddPLayerWindow() + { + Window window = new() + { + Title = "Invite player", + Content = new PlayerWindow(CommunicationManager, Window) + }; + + window.ShowModal(Window.Desktop); + + } + } +} \ No newline at end of file diff --git a/Sledgemapper/UI/PlayerList.cs b/Sledgemapper/UI/PlayerList.cs index ffdf573..1da74ac 100644 --- a/Sledgemapper/UI/PlayerList.cs +++ b/Sledgemapper/UI/PlayerList.cs @@ -1,11 +1,11 @@ /* Generated by MyraPad at 28/08/2021 19:49:08 */ namespace Sledgemapper.UI { - public partial class PlayerList - { - public PlayerList() - { - BuildUI(); - } - } + public partial class PlayerList + { + public PlayerList() + { + BuildUI(); + } + } } \ No newline at end of file diff --git a/Sledgemapper/UI/PlayerWindow.Custom.cs b/Sledgemapper/UI/PlayerWindow.Custom.cs new file mode 100644 index 0000000..97617e2 --- /dev/null +++ b/Sledgemapper/UI/PlayerWindow.Custom.cs @@ -0,0 +1,44 @@ +/* Generated by MyraPad at 28/08/2021 22:04:11 */ +using Myra.Graphics2D.UI; +using Sentry; +using System; + +namespace Sledgemapper.UI +{ + public partial class PlayerWindow + { + protected readonly Window Window; + protected readonly CommunicationManager CommunicationManager; + + public PlayerWindow(CommunicationManager communicationManager, Window window) + { + Window = window; + CommunicationManager = communicationManager; + + BuildUI(); + BtnNewCampaign.Click += OnButtonInvitePlayerClicked; + } + + private async void OnButtonInvitePlayerClicked(object sender, EventArgs e) + { + var localContent = ((TextButton)sender).GetParentContentInWindow();// localWindow.Content as PlayerWindow; + var isValid = localContent.Content.TxtCampaign.ValidateTextbox(); + if (!isValid) + { + return; + } + + var successful = false; + try + { + await CommunicationManager.Api.InvitePlayer(State.Instance.CampaignName, localContent.Content.TxtCampaign.Text); + } + catch (Exception ex) + { + SentrySdk.CaptureException(ex); + } + localContent.Window.Close(); + + } + } +} \ No newline at end of file diff --git a/Sledgemapper/UI/PlayerWindow.cs b/Sledgemapper/UI/PlayerWindow.cs deleted file mode 100644 index 76112a7..0000000 --- a/Sledgemapper/UI/PlayerWindow.cs +++ /dev/null @@ -1,11 +0,0 @@ -/* Generated by MyraPad at 28/08/2021 22:04:11 */ -namespace Sledgemapper.UI -{ - public partial class PlayerWindow - { - public PlayerWindow() - { - BuildUI(); - } - } -} \ No newline at end of file