Example #1
0
        public ClientsManager(PacketReceiverObj _PacketReciver)
        {
            Clients       = new Dictionary <ulong, BaseClient>();
            PacketReciver = _PacketReciver;

            PacketReciver.OnDataInvoke += PacketReciver_OnDataInvoke;
        }
    private void Start()
    {
        receiverObj = gameObject.GetComponent <PacketReceiverObj>();
        receiverObj.Init();
        receiverObj.OnDataInvoke += (Id, basepacket) => { OnDataInvoke?.Invoke(Id, basepacket); };
        clientsManagerObj         = gameObject.GetComponent <ClientsManagerObj>();
        clientsManagerObj.Init(receiverObj);
        clientsManagerObj.clientsManager.OnPacketSended += (Id, basepacket) => { OnPacketSended?.Invoke(Id, basepacket); };
        ConnectedClients = clientsManagerObj.clientsManager.Clients;

        TaskQueue    = new Queue <Action>();
        socketServer = new SocketServer(TaskQueue, this, lockObject);
        UnmanagedConnectedClients = socketServer.clientsManager.SocketClients;
        UnmanagedPreClients       = socketServer.clientsManager.PreClients;
        socketServer.Start();
    }
 public void Init(PacketReceiverObj packetReceiverObj)
 {
     clientsManager = new ClientsManager(packetReceiverObj);
 }