protected override void RegisterServices(IDependencyRegistrar dependencyRegistrar) { dependencyRegistrar.Singleton <IChampionLoader, ChampionLoader>(); dependencyRegistrar.Singleton <IResourceResolver, ResourceResolver>(); dependencyRegistrar.Singleton <IResourceReader, ResourceReader>(); dependencyRegistrar.Singleton <ILocalDirectoryProvider, LocalDirectoryProvider>(); dependencyRegistrar.Singleton <ILaneLoader, LaneLoader>(); dependencyRegistrar.Singleton <IGameMonitor, GameMonitor>(); dependencyRegistrar.Singleton <IThreadRunner, ThreadRunner>(); dependencyRegistrar.Singleton <IGameStatusRetriever, GameStatusRetriever>(); dependencyRegistrar.Singleton <Win32Kit>(); dependencyRegistrar.Handler <IGameWindowManager>(retriever => retriever.GetInstance <Win32Kit>()); dependencyRegistrar.Handler <IGameWindowClicker>(retriever => retriever.GetInstance <Win32Kit>()); dependencyRegistrar.Handler <IGameWindowTyper>(retriever => retriever.GetInstance <Win32Kit>()); dependencyRegistrar.Singleton <IGameImageProcessor, GameImageProcessor>(); dependencyRegistrar.Singleton <IToImageConverter, ToImageConverter>(); dependencyRegistrar.Singleton <ImageHandlerFactory>(); dependencyRegistrar.Handler <IImageHandlerFactory>(retriever => retriever.GetInstance <ImageHandlerFactory>()); dependencyRegistrar.Handler <ISelectedRoleStore>(retriever => retriever.GetInstance <ImageHandlerFactory>().SelectedRoleStore); }