private void SendMultiplicativeMessages(Dictionary <string, InviteResponse> inviteResponses) { int clientsCount = loggedClients.Count; for (int i = 0; i < clientsCount; ++i) { var client = loggedClients[i]; LoggedClient nextClient; if (i < clientsCount - 1) { nextClient = loggedClients[i + 1]; } else { nextClient = loggedClients.First(); } var clientMultiplicativeGroup = inviteResponses[client.Username].UsersMultiplicativeGroup; clientMultiplicativeGroup.Username = client.Username; var serizlizedClientMultiplicativeGroup = MessagesSerializer.Serialize(clientMultiplicativeGroup); var baseMessage = new BaseMessage(MessageType.MultiplicativeGroupNotifier, serizlizedClientMultiplicativeGroup); var serizedBaseMessage = MessagesSerializer.Serialize(baseMessage); try { nextClient.SendMessage(serizedBaseMessage); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.Message); } } }
public void HandleRBigIntRequest(LoggedClient loggedClient, RBigInt rBigInt) { try { rBigInt.Username = loggedClient.Username; var serizlizedRBigInt = MessagesSerializer.Serialize(rBigInt); var baseMessage = new BaseMessage(MessageType.RBigInt, serizlizedRBigInt); var serizedBaseMessage = MessagesSerializer.Serialize(baseMessage); int clientsCount = loggedClients.Count; for (int i = 0; i < clientsCount; ++i) { var client = loggedClients[i]; try { client.SendMessage(serizedBaseMessage); } catch (Exception ex) { Console.WriteLine("Wrong R"); System.Diagnostics.Debug.WriteLine(ex.Message); } } Console.WriteLine("R sended"); } catch { } }
private void NotifyNewClientHasConnected(string newClientUsername) { var allLoggedClients = loggedClients; if (allLoggedClients != null) { for (int i = 0; i < allLoggedClients.Count; ++i) { var me = allLoggedClients[i]; var myUsername = me.Username; if (myUsername != newClientUsername) { var myFriends = allLoggedClients.Where(x => x.Username != myUsername).Select(u => u.Username).ToList(); var statusNotifier = new StatusNotifier(false, myFriends); var serializedStatusNotifier = MessagesSerializer.Serialize(statusNotifier); var baseMessage = new BaseMessage(MessageType.StatusNotifier, serializedStatusNotifier); var serializedBaseMessage = MessagesSerializer.Serialize(baseMessage); try { me.SendMessage(serializedBaseMessage); } catch { } } } } }
// Use this for initialization void Start() { globalVars = GlobalVars.Instance; dgSerializer = DelayGramSerializer.Instance; thumbnailsList = GetComponent <ThumbnailsList>(); oldFollowerCount = dgSerializer.Followers; dgSerializer.RegisterFollowersListener(this); messagesSerializer = MessagesSerializer.Instance; // oldFollowerCount = globalVars. }
void LoadState() { if (!gameLoaded) { globalVars = GlobalVars.Instance; dgSerializer = DelayGramSerializer.Instance; messagesSerializer = MessagesSerializer.Instance; var globalSaveFound = globalVars.LoadGame(); var dgsSaveFound = dgSerializer.LoadGame(); var messagesSaveFound = messagesSerializer.LoadGame(); if (!globalSaveFound || !dgsSaveFound || !messagesSaveFound) { loadMarketingGuy = true; } gameLoaded = true; } }
private string GetLoginResponse(bool isAuthorized, string username, byte[] AESKey) { LoginResponse loginResponse = null; if (isAuthorized) { var users = loggedClients; loginResponse = new LoginResponse(true, users.Where(x => x.Username != username).Select(u => u.Username).ToList()); } else { loginResponse = new LoginResponse(false, new List <string>()); } var serializedLoginResponse = MessagesSerializer.Serialize(loginResponse); var baseMessage = new BaseMessage(MessageType.LoginResponse, serializedLoginResponse); var serializedResponse = MessagesSerializer.Serialize(baseMessage); return(GetReadyToSendMessage(serializedResponse, AESKey)); }
public void HandleDHBigIntRequest(LoggedClient loggedClient, DHBigInt dhBigInt) { try { int clientIndex = loggedClients.IndexOf(loggedClient); dhBigInt.Username = loggedClient.Username; var serializedDHBigInt = MessagesSerializer.Serialize(dhBigInt); var baseMessage = new BaseMessage(MessageType.DHBigInt, serializedDHBigInt); var seriazlizedBaseMessage = MessagesSerializer.Serialize(baseMessage); if (clientIndex == 0) { loggedClients[loggedClients.Count - 1].SendMessage(seriazlizedBaseMessage); } else { loggedClients[clientIndex - 1].SendMessage(seriazlizedBaseMessage); } } catch { } }
public void HandleMessage(LoggedClient loggedClient, BaseMessage message) { try { var serizedBaseMessage = MessagesSerializer.Serialize(message); int clientsCount = loggedClients.Count; for (int i = 0; i < clientsCount; ++i) { var client = loggedClients[i]; try { client.SendMessage(serizedBaseMessage); } catch (Exception ex) { Console.WriteLine("Couldn't send to client"); System.Diagnostics.Debug.WriteLine(ex.Message); } } Console.WriteLine("R sended"); } catch { } }
private void InviteUsers() { if (LoggedClients != null) { var usernames = LoggedClients.Select(x => x.Username).ToList(); var inviteMessage = new StatusNotifier(true, usernames); inviteMessage.GroupSize = usernames.Count; var serializedInviteMessage = MessagesSerializer.Serialize(inviteMessage); var baseMessage = new BaseMessage(MessageType.StatusNotifier, serializedInviteMessage); var seriazlizedBaseMessage = MessagesSerializer.Serialize(baseMessage); for (int i = 0; i < LoggedClients.Count; ++i) { var loggedClient = LoggedClients[i]; try { loggedClient.SendMessage(seriazlizedBaseMessage); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.Message); } } } }