public void sendMessage(ChatUser toUser, String textMessage) { ChatDialogMessage dialogMessage = new ChatDialogMessage(textMessage, systemController.getUserInfo().userId, -1); if (dialogs.ContainsKey(toUser.userId)) { dialogs[toUser.userId].messages.Add(dialogMessage); } else { ChatDialogWithUser dialog = new ChatDialogWithUser(); dialog.withUser = toUser; dialog.messages.Add(dialogMessage); dialogs.Add(toUser.userId, dialog); } DataMessage message = new DataMessage(Ids.Services.GAMES, Ids.Actions.SimpleChat.SEND_MESSAGE, systemController.getUserInfo().session); message.createWriter() .writerInt32(GameId) .writerInt32(toUser.userId) .writerInt32(myCallback) .writerString(textMessage) .closeWriter(); connection.addMessageToSend(message); }
private bool onReceiveMessage(DataMessage message) { message.createReader(); int userId = message.readInt32(); string userMessage = message.readString(); message.closeReader(); ChatUser user = getUser(userId); if (user == null) { user = new ChatUser(); user.setUnknown(userId); users.Add(userId, user); requestUserInfo(userId); } ChatDialogMessage dialogMessage = new ChatDialogMessage(userMessage, user.userId, -1); if (dialogs.ContainsKey(userId)) { dialogs[userId].messages.Add(dialogMessage); } else { ChatDialogWithUser dialog = new ChatDialogWithUser(); dialog.withUser = user; dialog.messages.Add(dialogMessage); dialogs.Add(userId, dialog); } postUpdate(UiUpdates.ReceivedMessage, dialogMessage); return false; }