/// <inheritdoc/> public Task Release(IEngager engager) { Logger.LogInformation($"Agent released ({engager})!"); engager.Released(this); State.Engagements.Remove(engager); return(base.WriteStateAsync()); }
/// <inheritdoc/> public async Task Engage(IEngager engager) { Logger.LogInformation($"Agent engaged ({engager})!"); State.Engagements[engager] = new EngagementInfo() { Engager = engager, EngagedSince = DateTime.UtcNow }; await base.WriteStateAsync(); if (!State.Running) { await Start(); State.Running = true; } }
/// <summary> /// Creates a new <see cref="AggroSnapshotRequest"/>. /// </summary> public AggroSnapshotRequest(IEngager source) { this.source = source; }