MrBot.Net/MRBot/Api/BotApi.cs
2023-12-08 15:20:12 -06:00

27 lines
848 B
C#

using System;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using MRBot.PassiveTasks;
namespace MRBot.Api;
internal sealed class BotApi
{
private readonly IPassiveTaskList _passiveTaskList;
private readonly ILogger<BotApi> _logger;
private readonly IServiceProvider _serviceProvider;
public BotApi(IPassiveTaskList passiveTaskList, ILogger<BotApi> logger, IServiceProvider serviceProvider)
{
_passiveTaskList = passiveTaskList;
_logger = logger;
_serviceProvider = serviceProvider;
}
public void FollowPlayer(string playerName)
{
_logger.LogInformation($"Following player {playerName}");
var task = ActivatorUtilities.CreateInstance<FollowTask>(_serviceProvider, playerName);
_passiveTaskList.AddTask(task);
}
}