Refresh campaign started date UI

This commit is contained in:
2025-11-05 16:31:50 +09:00
parent 4e6157e61e
commit 0e8616fb1e
4 changed files with 34 additions and 2 deletions

View File

@ -38,6 +38,7 @@ namespace Hcs.WebApp.BackgroundServices
{
managers.Add(manager);
manager.OnCampaignStarted += OnCampaignStarted;
manager.OnCampaignProgressStep += OnCampaignProgressStep;
}
else
@ -65,6 +66,7 @@ namespace Hcs.WebApp.BackgroundServices
{
campaignManagementState.InvokeOnCampaignEnded(manager.Campaign);
manager.OnCampaignStarted -= OnCampaignStarted;
manager.OnCampaignProgressStep -= OnCampaignProgressStep;
}
}
@ -102,6 +104,11 @@ namespace Hcs.WebApp.BackgroundServices
}
}
private void OnCampaignStarted(Campaign campaign)
{
campaignManagementState.InvokeOnCampaignStarted(campaign);
}
private void OnCampaignProgressStep(Campaign campaign)
{
campaignManagementState.InvokeOnCampaignProgressStep(campaign);

View File

@ -8,6 +8,7 @@ namespace Hcs.WebApp.BackgroundServices
private readonly ConcurrentQueue<Campaign> campaigns = new();
public event Action<Campaign> OnCampaignCreated;
public event Action<Campaign> OnCampaignStarted;
public event Action<Campaign> OnCampaignProgressStep;
public event Action<Campaign> OnCampaignEnded;
@ -23,11 +24,11 @@ namespace Hcs.WebApp.BackgroundServices
return campaigns.TryDequeue(out campaign);
}
public void InvokeOnCampaignEnded(Campaign campaign)
public void InvokeOnCampaignStarted(Campaign campaign)
{
try
{
OnCampaignEnded?.Invoke(campaign);
OnCampaignStarted?.Invoke(campaign);
}
catch { }
}
@ -40,5 +41,14 @@ namespace Hcs.WebApp.BackgroundServices
}
catch { }
}
public void InvokeOnCampaignEnded(Campaign campaign)
{
try
{
OnCampaignEnded?.Invoke(campaign);
}
catch { }
}
}
}

View File

@ -15,6 +15,7 @@ namespace Hcs.WebApp.BackgroundServices.CampaignManagers
public ManagerState State { get; }
event Action<Campaign> OnCampaignStarted;
event Action<Campaign> OnCampaignProgressStep;
Task ProcessAsync();