Notify about campaign start

This commit is contained in:
2025-11-05 17:03:24 +09:00
parent 6e191f3676
commit a3c382ecb5

View File

@ -15,16 +15,33 @@ namespace Hcs.WebApp.BackgroundServices.CampaignManagers
protected readonly ResultWaitState resultWaitState = resultWaitState; protected readonly ResultWaitState resultWaitState = resultWaitState;
protected readonly Campaign campaign = campaign; protected readonly Campaign campaign = campaign;
private IManager.ManagerState state;
private HeadquartersService? headquartersService; private HeadquartersService? headquartersService;
public Campaign Campaign => campaign;
public IManager.ManagerState State
{
get => state;
set
{
if (state != value)
{
state = value;
if (state == IManager.ManagerState.Started)
{
OnCampaignStarted?.Invoke(campaign);
}
}
}
}
protected HeadquartersService HeadquartersService => headquartersService ??= scope.ServiceProvider.GetRequiredService<HeadquartersService>(); protected HeadquartersService HeadquartersService => headquartersService ??= scope.ServiceProvider.GetRequiredService<HeadquartersService>();
protected abstract int StepCount { get; } protected abstract int StepCount { get; }
public Campaign Campaign => campaign; public event Action<Campaign> OnCampaignStarted;
public IManager.ManagerState State { get; protected set; } = IManager.ManagerState.Created;
public event Action<Campaign>? OnCampaignProgressStep; public event Action<Campaign>? OnCampaignProgressStep;
public abstract Task ProcessAsync(); public abstract Task ProcessAsync();