wiring up map updates
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Michele Scandura 2021-09-16 16:34:44 +01:00
parent e18cbb157c
commit 155cb4ea9a
13 changed files with 99 additions and 58 deletions

View file

@ -199,7 +199,7 @@ namespace Sledgemapper
Queue.Enqueue(async () => await Execute(async () => await Api.NewTile(tile, SessionData.SessionName).ConfigureAwait(false)));
break;
case Overlay overlay:
Queue.Enqueue(async () => await Execute(async () => await Api.NewOverlay(overlay, SessionData.SessionName).ConfigureAwait(false)));
Queue.Enqueue(async () => await Execute(async () => await Api.NewOverlay(overlay,State.Instance.CampaignId.ToString(), State.Instance.MapId.ToString()).ConfigureAwait(false)));
break;
case Wall wall:
Queue.Enqueue(async () => await Execute(async () => await Api.NewWall(wall, SessionData.SessionName).ConfigureAwait(false)));

View file

@ -20,8 +20,8 @@ namespace Sledgemapper
[Post("/session/{sessionName}/tile")]
Task NewTile([Body] Tile tile, string sessionName);
[Post("/session/{sessionName}/overlay")]
Task NewOverlay([Body] Overlay overlay, string sessionName);
[Post("/map/{campaignId}/{mapId}/overlay")]
Task NewOverlay([Body] Overlay overlay, string campaignId, string mapId);
[Post("/session/{sessionName}/note")]
Task NewNote([Body] Note note, string sessionName);

View file

@ -60,6 +60,8 @@ namespace Sledgemapper
public bool ShowCellNumbers { get; set; }
public Vector3 ViewportCenter { get; set; }
public string MapName { get; internal set; }
public Guid CampaignId { get; internal set; }
public int MapId { get; internal set; }
//public State()
//{

View file

@ -57,6 +57,7 @@ namespace Sledgemapper.UI
var item = sender as ListItem;
State.Instance.CampaignName = item.ItemName.Text;
State.Instance.CampaignId = (Guid)item.Tag;
var list = item.Parent as Grid;
for (var i = 0; i < list.ChildrenCount; i++)
{
@ -74,7 +75,7 @@ namespace Sledgemapper.UI
{
var item = new ListItem();
item.ItemName.Text = campaign.Name;
item.Tag = campaign.Id;
item.TouchUp += OnCampaignSelected;
StackCampaignsList.AddChild(item);
}

View file

@ -73,6 +73,7 @@ namespace Sledgemapper.UI
private void OnCampaignSelectedMessage(CampaignSelectedMessage obj)
{
lblCampaign.Text = State.Instance.CampaignName;
MenuMapNew.Enabled = true;
MenuMapOpen.Enabled = true;
MenuCampaignPlayers.Enabled = true;

View file

@ -2,6 +2,7 @@
using Myra.Graphics2D.Brushes;
using Myra.Graphics2D.UI;
using Sledgemapper.Messages;
using Sledgemapper.Shared.Entities;
using System;
using System.Threading.Tasks;
using TinyMessenger;
@ -14,6 +15,7 @@ namespace Sledgemapper.UI
private TinyMessengerHub Messenger { get; }
private string _selectedMap;
private int _selectedMapId;
public MapList(CommunicationManager communicationManager, TinyMessengerHub messenger)
{
CommunicationManager = communicationManager;
@ -32,6 +34,7 @@ namespace Sledgemapper.UI
private void BtnLoadCampaign_Click(object sender, EventArgs e)
{
State.Instance.MapName = _selectedMap;
State.Instance.MapId = _selectedMapId;
var map = CommunicationManager.Api.GetMap(State.Instance.CampaignName, State.Instance.MapName);
Messenger.Publish(new MapOpenedMessage(this) { MapName = State.Instance.MapName });
this.GetContainingWindow().Close();
@ -44,6 +47,7 @@ namespace Sledgemapper.UI
{
var item = new ListItem();
item.ItemName.Text = campaign.SessionName;
item.Tag = campaign.SessionId;
item.TouchUp += OnMapSelected;
StackCampaignsList.AddChild(item);
}
@ -62,6 +66,7 @@ namespace Sledgemapper.UI
}
item.Background = new SolidBrush(Settings.Instance.OverlayTintColor);
_selectedMap = item.ItemName.Text;
_selectedMapId = (int)item.Tag;
}
private void OnMenuMapNew(object sender, EventArgs e)