Example #1
0
        public TestModule(API api, ICommandHandler commandHandler, IVehicleHandler vehicleHandler,
                          IMessageHandler messageHandler, IClientWrapper clientWrapper, IWeaponUtils weaponUtils, IClientHandler clientHandler)
        {
            LoginFucker         = new LoginFucker(api, messageHandler, clientWrapper);
            CommandHelp         = new CommandHelp(api, commandHandler, messageHandler);
            ExtendedVehicleTest = new ExtendedVehicleTest(vehicleHandler, messageHandler);

            VehicleCommands   = new VehicleCommands(api, vehicleHandler);
            ClientWrapperTest = new ClientWrapperTest(api, clientWrapper, messageHandler);
            WeaponCommands    = new WeaponCommands(api, weaponUtils, messageHandler);
            UserCommands      = new UserCommands(api, clientHandler, messageHandler, clientWrapper);
        }
 public DealershipEngine(
     ICommentFactory commentFactory,
     IUserFactory userFactory,
     ICommandFactory commandFactory,
     IVehicleHandler startHandler,
     IReader reader,
     ILogger logger)
 {
     this.users          = new List <IUser>();
     this.loggedUser     = null;
     this.commandFactory = commandFactory;
     this.reader         = reader;
     this.logger         = logger;
     this.startHandler   = startHandler;
     this.userFactory    = userFactory;
     this.commentFactory = commentFactory;
 }
Example #3
0
        public override void Load()
        {
            Kernel.Bind(x =>
            {
                x.FromAssembliesInPath(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location))
                .SelectAllClasses()
                .BindDefaultInterface();
            });

            Bind <IEngine>().To <DealershipEngine>().InSingletonScope();

            Bind <IVehicleFactory>().ToFactory().InSingletonScope();
            Bind <ICommandFactory>().ToFactory().InSingletonScope();
            Bind <IUserFactory>().ToFactory().InSingletonScope();
            Bind <ICommentFactory>().ToFactory().InSingletonScope();

            Bind <IVehicle>().To <Car>().Named(CarName);
            Bind <IVehicle>().To <Truck>().Named(TruckName);
            Bind <IVehicle>().To <Motorcycle>().Named(MotorcycleName);

            Bind <Reader.IReader>().To <Reader.ConsoleReader>().Named(ConsoleReader);
            Bind <Logger.ILogger>().To <Logger.ConsoleLogger>().Named(ConsoleLogger);

            Bind <IVehicleHandler>().To <CarHandler>().Named(CarHandlerName);
            Bind <IVehicleHandler>().To <TruckHandler>().Named(TruckHandlerName);
            Bind <IVehicleHandler>().To <MotorcycleHandler>().Named(MotorcycleHandlerName);

            Bind <IVehicleHandler>().ToMethod(context =>
            {
                IVehicleHandler carHandler        = context.Kernel.Get <IVehicleHandler>(CarHandlerName);
                IVehicleHandler truckHandler      = context.Kernel.Get <IVehicleHandler>(TruckHandlerName);
                IVehicleHandler motorcycleHandler = context.Kernel.Get <IVehicleHandler>(MotorcycleHandlerName);

                carHandler.SetSuccesor(truckHandler);
                truckHandler.SetSuccesor(motorcycleHandler);

                return(carHandler);
            }).WhenInjectedInto <DealershipEngine>();
        }
Example #4
0
 public Race(IVehicleHandler vehcileHandler)
 {
 }
Example #5
0
 public void SetSuccesor(IVehicleHandler succesor)
 {
     this.Successor = succesor;
 }
Example #6
0
 public ExtendedVehicleTest(IVehicleHandler vehicleHandler, IMessageHandler messageHandler)
 {
     _vehicleHandler = vehicleHandler;
     _messageHandler = messageHandler;
 }
Example #7
0
 public VehicleCommands(API api, IVehicleHandler vehicleHandler)
 {
     _api            = api;
     _vehicleHandler = vehicleHandler;
 }