Example #1
0
        public ConnectInformation(ConnectCanvas owner, Action <FinishListener> makeConnection, FinishListener listener, string message, int maxTry = 3, bool verbose = false) : base(owner, message, maxTry, verbose)
        {
            MakeConnection = makeConnection;
            finishListener = listener;

            mirrorListener = new FinishListener(() =>
            {
                finishListener?.OnFinish();
                OnFinish();
            }, (errorMessage) =>
            {
                finishListener?.OnError(errorMessage);
                OnError(errorMessage);
            });
        }
Example #2
0
    public ConnectInformation <T> CreateConnectInformation <T>(string message, Action <FinishListener <T> > makeConnection, FinishListener <T> listener, int maxTry = 3, bool verbose = false, bool autoStart = true)
    {
        var connect = new ConnectInformation <T>(this, makeConnection, listener, message, maxTry, verbose);

        lock (RegisteredConnect)
        {
            RegisteredConnect.Add(connect);
        }
        if (autoStart)
        {
            connect.Start();
        }

        return(connect);
    }
        public async Task SendPacketAsync(GameSocket socket, int id, byte[] authToken, FinishListener finishAction)
        {
            var message = new MemoryStream();
            await message.WriteAsync(id);

            await message.WriteByteArrayAsync(authToken);

            await socket.SendRequestAsync(Key, message, (int)message.Length, new LoginAccountReceiver(socket, finishAction));
        }
Example #4
0
        public static async Task <FetchData> FetchDataAsync(this GameSocket socket, FinishListener <FetchData> finishListener)
        {
            await StaticPackets.FetchData.SendPacketAsync(socket, finishListener);

            return(await finishListener.WaitAsync());
        }
 public LoginAccountReceiver(GameSocket socket, FinishListener finishAction) : base(socket, finishAction)
 {
 }
Example #6
0
        public static async Task LoginAccountAsync(this GameSocket socket, int id, byte[] authToken, FinishListener finishListener)
        {
            await StaticPackets.LoginAccount.SendPacketAsync(socket, id, authToken, finishListener);

            await finishListener.WaitAsync();
        }
Example #7
0
        public static async Task HandshakeAsync(this GameSocket socket, FinishListener finishListener)
        {
            await StaticPackets.Handshake.SendPacketAsync(socket, finishListener);

            await finishListener.WaitAsync();
        }
        public static async Task <ResourceData> GetResourceStatus(this GameSocket socket, FinishListener <ResourceData> finishListener)
        {
            await StaticPackets.GetResourceStatus.SendPacketAsync(socket, finishListener);

            return(await finishListener.WaitAsync());
        }
Example #9
0
        public static async Task <Account> GenerateAccountAsync(this GameSocket socket, byte[] authToken, FinishListener <Account> finishListener)
        {
            await StaticPackets.GenerateAccount.SendPacketAsync(socket, authToken, finishListener);

            return(await finishListener.WaitAsync());
        }
Example #10
0
 public async Task SendPacketAsync(GameSocket socket, FinishListener <FetchData> finishAction)
 {
     await socket.SendRequestAsync(Key, new GenerateAccountReceiver(socket, finishAction));
 }
Example #11
0
 public GenerateAccountReceiver(GameSocket socket, FinishListener <FetchData> finishAction) : base(socket, finishAction)
 {
 }
Example #12
0
 public async Task SendPacketAsync(GameSocket socket, FinishListener finishAction)
 {
     await socket.SendRequestAsync(Key, "requestRSA", new HandshakeReceiver(socket, finishAction));
 }
Example #13
0
 public HandshakeReceiver(GameSocket socket, FinishListener finishAction) : base(socket, finishAction)
 {
 }
 public async Task SendPacketAsync(GameSocket socket, byte[] authToken, FinishListener <Account> finishAction)
 {
     await socket.SendRequestAsync(Key, authToken, new GenerateAccountReceiver(socket, finishAction));
 }