public static void AddLua <T>(this ServerBuilder builder) where T : class, IScriptEventRuntime { builder.ConfigureServices(services => { services.AddLua <T>(); }); }
public static void AddLua(this ServerBuilder builder) { builder.ConfigureServices(services => { services.AddLua(); }); }
public static void AddPhysics(this ServerBuilder builder) { builder.ConfigureServices(services => { services.AddSingleton <PhysicsService>(); }); }
public static void AddDefaultServices( this ServerBuilder builder, ServerBuilderDefaultServices exceptServices = ServerBuilderDefaultServices.None, ServerBuilderDefaultMiddleware exceptMiddleware = ServerBuilderDefaultMiddleware.None) { builder.ConfigureServices(services => { if ((exceptMiddleware & ServerBuilderDefaultMiddleware.ProjectileSyncPacketMiddleware) == 0) { services.AddSingleton <ISyncHandlerMiddleware <ProjectileSyncPacket>, RangeSyncHandlerMiddleware <ProjectileSyncPacket> >( x => new RangeSyncHandlerMiddleware <ProjectileSyncPacket>(x.GetRequiredService <IElementRepository>(), builder.Configuration.ExplosionSyncDistance) ); } if ((exceptMiddleware & ServerBuilderDefaultMiddleware.DetonateSatchelsPacketMiddleware) == 0) { services.AddSingleton <ISyncHandlerMiddleware <DetonateSatchelsPacket>, RangeSyncHandlerMiddleware <DetonateSatchelsPacket> >( x => new RangeSyncHandlerMiddleware <DetonateSatchelsPacket>(x.GetRequiredService <IElementRepository>(), builder.Configuration.ExplosionSyncDistance, false) ); } if ((exceptMiddleware & ServerBuilderDefaultMiddleware.DestroySatchelsPacketMiddleware) == 0) { services.AddSingleton <ISyncHandlerMiddleware <DestroySatchelsPacket>, RangeSyncHandlerMiddleware <DestroySatchelsPacket> >( x => new RangeSyncHandlerMiddleware <DestroySatchelsPacket>(x.GetRequiredService <IElementRepository>(), builder.Configuration.ExplosionSyncDistance, false) ); } if ((exceptMiddleware & ServerBuilderDefaultMiddleware.ExplosionPacketMiddleware) == 0) { services.AddSingleton <ISyncHandlerMiddleware <ExplosionPacket>, RangeSyncHandlerMiddleware <ExplosionPacket> >( x => new RangeSyncHandlerMiddleware <ExplosionPacket>(x.GetRequiredService <IElementRepository>(), builder.Configuration.ExplosionSyncDistance, false) ); } if ((exceptMiddleware & ServerBuilderDefaultMiddleware.PlayerPureSyncPacketMiddleware) == 0) { services.AddSingleton <ISyncHandlerMiddleware <PlayerPureSyncPacket>, RangeSyncHandlerMiddleware <PlayerPureSyncPacket> >( x => new RangeSyncHandlerMiddleware <PlayerPureSyncPacket>(x.GetRequiredService <IElementRepository>(), builder.Configuration.LightSyncRange)); } if ((exceptMiddleware & ServerBuilderDefaultMiddleware.KeySyncPacketMiddleware) == 0) { services.AddSingleton <ISyncHandlerMiddleware <KeySyncPacket>, RangeSyncHandlerMiddleware <KeySyncPacket> >( x => new RangeSyncHandlerMiddleware <KeySyncPacket>(x.GetRequiredService <IElementRepository>(), builder.Configuration.LightSyncRange)); } if ((exceptMiddleware & ServerBuilderDefaultMiddleware.LightSyncBehaviourMiddleware) == 0) { services.AddSingleton <ISyncHandlerMiddleware <LightSyncBehaviour>, MaxRangeSyncHandlerMiddleware <LightSyncBehaviour> >( x => new MaxRangeSyncHandlerMiddleware <LightSyncBehaviour>(x.GetRequiredService <IElementRepository>(), builder.Configuration.LightSyncRange) ); } }); }