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); }); }
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)); }
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) { }
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(); }
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()); }
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()); }
public async Task SendPacketAsync(GameSocket socket, FinishListener <FetchData> finishAction) { await socket.SendRequestAsync(Key, new GenerateAccountReceiver(socket, finishAction)); }
public GenerateAccountReceiver(GameSocket socket, FinishListener <FetchData> finishAction) : base(socket, finishAction) { }
public async Task SendPacketAsync(GameSocket socket, FinishListener finishAction) { await socket.SendRequestAsync(Key, "requestRSA", new HandshakeReceiver(socket, finishAction)); }
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)); }