diff --git a/Sledgemapper/Sledgemapper.cs b/Sledgemapper/Sledgemapper.cs index 42e983b..fe7d44d 100644 --- a/Sledgemapper/Sledgemapper.cs +++ b/Sledgemapper/Sledgemapper.cs @@ -156,6 +156,8 @@ namespace Sledgemapper item.LblNoteText.Text = $"{note.ToString()} - {note.Text}"; item.BtnNoteCenter.Image = new TextureRegion(_location); item.BtnNoteView.Image = new TextureRegion(_eye); + item.BtnNoteCenter.Click += (s, e) => { CenterOnTile(note.X, note.Y); }; + item.BtnNoteView.Click += (s, e) => { EditNote(note); window.Close(); }; content.StackNotesList.AddChild(item); } @@ -163,6 +165,23 @@ namespace Sledgemapper window.ShowModal(_desktop); } + private void EditNote(Note note) + { + _state.SelectedNote = note; + var noteWindow = new NoteWindow(); + + Window window = new() + { + Title = $" Note on {note.X}:{note.Y}" + }; + noteWindow.NoteText.Text = note.Text; + noteWindow.BtnOk.Click += OnButtonNoteOkClick; + noteWindow.BtnCancel.Click += OnButtonNoteCancelClick; + + window.Content = noteWindow; + window.ShowModal(_desktop); + } + protected override void Update(GameTime gameTime) { KeyboardState newState = Keyboard.GetState(); @@ -227,8 +246,8 @@ namespace Sledgemapper if (mouseState.RightButton == ButtonState.Released && mouseState.RightButton != oldMouseState.RightButton) { - _state.SelectedTile.X = _state.HoveredTile.X; - _state.SelectedTile.Y = _state.HoveredTile.Y; + _state.SelectedNote.X = _state.HoveredTile.X; + _state.SelectedNote.Y = _state.HoveredTile.Y; var contextMenu = new TextButton { Text = "New Note" }; contextMenu.Click += OnContextMenuNewNoteClick; @@ -913,11 +932,11 @@ namespace Sledgemapper { var note = new Note { - X = _state.SelectedTile.X, - Y = _state.SelectedTile.Y, + X = _state.SelectedNote.X, + Y = _state.SelectedNote.Y, Text = localContent.NoteText.Text }; - _sessionData.Notes.TryAdd(note.ToString(), note); + _sessionData.Notes.AddOrUpdate(note.ToString(), note, (key, oldValue) => note); button.Text = "Wait..."; // localContent.LblLoginError.Text = ""; diff --git a/Sledgemapper/State.cs b/Sledgemapper/State.cs index 6030199..5e85745 100644 --- a/Sledgemapper/State.cs +++ b/Sledgemapper/State.cs @@ -10,6 +10,7 @@ namespace Sledgemapper public Tile HoveredTile { get; set; } public Wall SelectedWall { get; set; } public Overlay SelectedOverlay { get; set; } + public Note SelectedNote { get; set; } public int TileSize { get; set; } public string CurrentTileId { get; set; } public string CurrentWallId { get; set; } @@ -25,6 +26,7 @@ namespace Sledgemapper HoveredTile = new() { X = 1, Y = 1 }; SelectedWall = new() { X = 1, Y = 1 }; SelectedOverlay = new() { X = 1, Y = 1 }; + SelectedNote = new() { X = 1, Y = 1 }; TileSize = 30; } diff --git a/Sledgemapper/UI/NoteListItem.Generated.cs b/Sledgemapper/UI/NoteListItem.Generated.cs index d162b62..cb24cc7 100644 --- a/Sledgemapper/UI/NoteListItem.Generated.cs +++ b/Sledgemapper/UI/NoteListItem.Generated.cs @@ -1,5 +1,4 @@ -/* Generated by MyraPad at 01/12/2020 15:39:17 */ -using Myra; +/* Generated by MyraPad at 01/12/2020 23:04:35 */ using Myra.Graphics2D; using Myra.Graphics2D.TextureAtlases; using Myra.Graphics2D.UI; @@ -26,15 +25,15 @@ namespace Sledgemapper.UI LblNoteText.Id = "LblNoteText"; BtnNoteView = new ImageButton(); - BtnNoteView.Width = 30; - BtnNoteView.Height = 30; + BtnNoteView.Width = 20; + BtnNoteView.Height = 20; BtnNoteView.Padding = new Thickness(5); BtnNoteView.VerticalAlignment = Myra.Graphics2D.UI.VerticalAlignment.Center; BtnNoteView.Id = "BtnNoteView"; BtnNoteCenter = new ImageButton(); - BtnNoteCenter.Width = 30; - BtnNoteCenter.Height = 30; + BtnNoteCenter.Width = 20; + BtnNoteCenter.Height = 20; BtnNoteCenter.Padding = new Thickness(5); BtnNoteCenter.VerticalAlignment = Myra.Graphics2D.UI.VerticalAlignment.Center; BtnNoteCenter.Id = "BtnNoteCenter"; @@ -42,6 +41,9 @@ namespace Sledgemapper.UI Spacing = 15; VerticalAlignment = Myra.Graphics2D.UI.VerticalAlignment.Center; + Margin = new Thickness(0, 0, 0, 8); + Padding = new Thickness(4); + Background = new SolidBrush("#404040FF"); Widgets.Add(LblNoteText); Widgets.Add(BtnNoteView); Widgets.Add(BtnNoteCenter); @@ -52,4 +54,4 @@ namespace Sledgemapper.UI public ImageButton BtnNoteView; public ImageButton BtnNoteCenter; } -} +} \ No newline at end of file diff --git a/Sledgemapper/UI/noteList.xml.xmmp b/Sledgemapper/UI/noteList.xml similarity index 100% rename from Sledgemapper/UI/noteList.xml.xmmp rename to Sledgemapper/UI/noteList.xml diff --git a/Sledgemapper/UI/noteListItem.xmmp b/Sledgemapper/UI/noteListItem.xml similarity index 61% rename from Sledgemapper/UI/noteListItem.xmmp rename to Sledgemapper/UI/noteListItem.xml index 64469a4..67929af 100644 --- a/Sledgemapper/UI/noteListItem.xmmp +++ b/Sledgemapper/UI/noteListItem.xml @@ -1,8 +1,8 @@ - + \ No newline at end of file