27 lines
848 B
C#
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);
|
|
}
|
|
} |