Files
ClubPenguinClient/MareSynchronos/Factories/GameObjectHandlerFactory.cs
2023-02-27 02:30:50 +01:00

28 lines
1.0 KiB
C#

using MareSynchronos.API.Data.Enum;
using MareSynchronos.Mediator;
using MareSynchronos.Models;
using MareSynchronos.Utils;
using Microsoft.Extensions.Logging;
namespace MareSynchronos.Factories;
public class GameObjectHandlerFactory
{
private readonly ILoggerFactory _loggerFactory;
private readonly MareMediator _mediator;
private readonly PerformanceCollector _performanceCollector;
private readonly DalamudUtil _dalamudUtil;
public GameObjectHandlerFactory(ILoggerFactory loggerFactory, MareMediator mediator, PerformanceCollector performanceCollector, DalamudUtil dalamudUtil)
{
_loggerFactory = loggerFactory;
_mediator = mediator;
_performanceCollector = performanceCollector;
_dalamudUtil = dalamudUtil;
}
public GameObjectHandler Create(ObjectKind objectKind, Func<IntPtr> getAddress, bool isWatched)
{
return new GameObjectHandler(_loggerFactory.CreateLogger<GameObjectHandler>(), _performanceCollector, _mediator, _dalamudUtil, objectKind, getAddress, isWatched);
}
}