public PlayerConnection(
     ILogger logger,
     UdpConnection connection,
     INetworkPacketController packetHandler)
     : base(logger, connection, packetHandler)
 {
 }
示例#2
0
 public RavenNetworkClient(
     ILogger logger,
     INetworkPacketController controller)
 {
     this.logger     = logger;
     this.controller = controller;
 }
示例#3
0
 public RavenClient(ILogger logger, IModuleManager moduleManager, INetworkPacketController controller)
 {
     this.logger         = logger;
     this.Modules        = moduleManager;
     this.Auth           = this.Modules.AddModule(new Authentication(this));
     this.packetHandlers = RegisterPacketHandlers(controller);
 }
示例#4
0
 protected override RavenNetworkConnection CreateConnection(
     ILogger logger,
     UdpConnection connection,
     INetworkPacketController packetController)
 {
     return(new PlayerConnection(logger, connection, packetController));
 }
示例#5
0
 public RavenNetworkConnection(
     ILogger logger,
     INetworkPacketController controller)
 {
     this.Logger     = logger;
     this.controller = controller;
 }
示例#6
0
 public PlayerConnectionProvider(
     ILogger logger,
     IGameSessionManager sessionManager,
     INetworkPacketController packetHandlers)
     : base(logger, packetHandlers)
 {
     this.sessionManager = sessionManager;
 }
 public UserConnection(
     ILogger logger,
     UdpConnection connection,
     INetworkPacketController packetHandler)
     : base(logger, connection, packetHandler)
 {
     Logger.LogDebug("Client[" + this.InstanceID + "] connected.");
     connection.Disconnected += Connection_Disconnected;
 }
示例#8
0
 public ServerClientConnection(
     ILogger logger,
     UdpConnection connection,
     IServerRegistry registry,
     INetworkPacketController packetHandler)
     : base(logger, connection, packetHandler)
 {
     this.registry            = registry;
     connection.Disconnected += Connection_Disconnected;
 }
示例#9
0
 public RavenNetworkConnection(
     ILogger logger,
     Connection connection,
     INetworkPacketController packetHandler)
 {
     Logger          = logger;
     this.connection = connection;
     this.controller = packetHandler;
     this.connection.Disconnected += Connection_Disconnected;
     this.connection.DataReceived += Connection_DataReceived;
 }
示例#10
0
        public RavenClient(ILogger logger, IModuleManager moduleManager, INetworkPacketController controller)
        {
            this.logger  = logger;
            this.Modules = moduleManager;

            this.client             = new RavenNetworkClient(logger, RegisterPacketHandlers(controller));
            this.auth               = this.Modules.AddModule(new Authentication(this.client));
            this.playerHandler      = this.Modules.AddModule(new PlayerHandler());
            this.npcHandler         = this.Modules.AddModule(new NpcHandler());
            this.objectHandler      = this.Modules.AddModule(new ObjectHandler());
            this.npcHandler         = this.Modules.AddModule(new NpcHandler());
            this.characterHandler   = this.Modules.AddModule(new CharacterHandler());
            this.chatMessageHandler = this.Modules.AddModule(new ChatMessageHandler());
        }
示例#11
0
        private static INetworkPacketController RegisterPacketHandlers(INetworkPacketController controller)
        {
            var packetHandlers = Assembly.GetExecutingAssembly()
                                 .GetTypes()
                                 .Where(x => !x.IsAbstract && typeof(INetworkPacketHandler).IsAssignableFrom(x));

            foreach (var handler in packetHandlers)
            {
                var packetType = handler.BaseType.GetGenericArguments().FirstOrDefault();
                var packetId   = (short)packetType.GetField("OpCode").GetValue(null);
                controller.Register(packetType, handler, packetId);
            }

            return(controller);
        }
示例#12
0
        private static INetworkPacketController RegisterPacketHandlers(INetworkPacketController controller)
        {
            var packetHandlers = AppDomain.CurrentDomain
                                 .GetAssemblies()
                                 .SelectMany(x => x.GetTypes())
                                 .Where(x => !x.IsAbstract && typeof(INetworkPacketHandler).IsAssignableFrom(x))
                                 .ToArray();

            foreach (var handler in packetHandlers)
            {
                var declaringType = handler.GetInterfaces().OrderByDescending(x => x.FullName).FirstOrDefault();
                var packetType    = declaringType.GetGenericArguments().FirstOrDefault();
                var packetId      = (short)packetType.GetField("OpCode").GetValue(null);
                controller.Register(packetType, handler, packetId);
            }

            return(controller);
        }
 public ServerConnectionProvider(ILogger logger, IServerRegistry serverRegistry, INetworkPacketController packetHandlers)
 {
     this.logger         = logger;
     this.serverRegistry = serverRegistry;
     this.packetHandlers = packetHandlers;
 }
示例#14
0
 protected abstract RavenNetworkConnection CreateConnection(ILogger logger, UdpConnection connection, INetworkPacketController packetHandlers);
示例#15
0
 public RavenConnectionProvider(ILogger logger, INetworkPacketController packetHandlers)
 {
     this.logger         = logger;
     this.packetHandlers = packetHandlers;
 }
示例#16
0
 public TestClient(ILogger logger, IModuleManager moduleManager, INetworkPacketController controller)
     : base(logger, moduleManager, controller)
 {
 }