public ChatViewModelDesignData() { ChatEntries.Add(new PlayerMessageEntry { PlayerName = "Dummy1", Color = ChatColor.Green, Message = "Message with player name visible", }); ChatEntries.Add(new ServerMessageEntry { Color = ChatColor.Red, Message = "Message without player name", }); ChatEntries.Add(new InvalidAchievementEntry { Color = ChatColor.Blue, AchievementTitle = "Too good for you", PlayerName = "Dummy3", }); for (int i = 0; i < 50; i++) { ChatEntries.Add(new PlayerMessageEntry { Color = ChatColor.Orange, PlayerName = "Player1", Message = "A dummy message" }); } }
public override async void OnNavigatingTo(INavigationParameters parameters) { if (parameters.GetNavigationMode() == NavigationMode.New) { var dbChats = await _database.Chats.GetAll(); AreChatsEmpty = dbChats.Count == 0; var chatEntries = new List <ChatEntry>(); foreach (var dbChat in dbChats) { var chatEntry = dbChat.ToChatEntry(); if (chatEntry.LastMessage != null) { if (chatEntry.Type == ChatType.Normal) { chatEntry.LastMessage.Decrypt(_walletManager.Wallet, chatEntry.ChatPartner.PublicKey); } else if (chatEntry.Type == ChatType.Group) { var privKey = chatEntry.GroupInfo.IsPublic ? chatEntry.GroupInfo.PrivateKey : _walletManager.Wallet.Decrypt(chatEntry.GroupInfo.PrivateKey, chatEntry.GroupInfo.PublicKey); chatEntry.LastMessage.Decrypt(privKey, chatEntry.LastMessage.Sender.PublicKey); } } var dbLastReadMessageID = await _database.LastReadMessageIDs.GetByChatID(chatEntry.ID); chatEntry.UpdateUnreadMessageCount(dbLastReadMessageID != null ? dbLastReadMessageID.LastReadID : 0); chatEntries.Add(chatEntry); } ChatEntries = new ExtendedObservableCollection <ChatEntry>(chatEntries); ChatEntries.Sort(false); // BETA await TryJoinPublicBetaGroup(); } else if (parameters.GetNavigationMode() == NavigationMode.Back) // Navigated back to this page { try { foreach (var chatEntry in ChatEntries.ToList()) { var dbLastReadMessageID = await _database.LastReadMessageIDs.GetByChatID(chatEntry.ID); chatEntry.UpdateUnreadMessageCount(dbLastReadMessageID != null ? dbLastReadMessageID.LastReadID : 0); } } catch (Exception ex) { Debug.WriteLine(ex); } } CheckFreeUsage(); }
private void OnHumanSpeechDetected(QiValue qv) { if (qv.Count > 0 && qv[0].ContentValueKind == QiValueKind.QiString) { System.Windows.Application.Current.Dispatcher.Invoke(() => { ChatEntries.Add(new HumanChatEntryViewModel(qv[0].GetString())); }); } }
protected void AddEntry(ChatEntry entry) { ExecuteOnUIThread.Invoke(() => { ChatEntries.Add(entry); if (ChatEntries.Count > MaxEntries) { ChatEntries.RemoveAt(0); } }); }
public ChatEntry AddEntry() { var entry = new ChatEntry { DateTime = DateTime.Now, Sender = NickName }; entry.Content = UserInput; ChatEntries.Add(entry); UserInput = null; return(entry); }
void Awake() { repositorio = GameObject.FindGameObjectWithTag("Repositorio").GetComponent <Repositorio>(); comandos = GameObject.FindGameObjectWithTag("Repositorio").GetComponent <MUDCommand>(); foreach (Sala sala in repositorio.salas) { ChatEntries chat = new ChatEntries(); chat.idSala = sala.idSala; chatEntries.Add(chat); } }
private void OnRobotSpeechDetected(QiValue qv) { if (qv.Count == 0 || qv[0].ContentValueKind != QiValueKind.QiString) { return; } string sentence = qv[0].GetString(); if (!string.IsNullOrWhiteSpace(sentence)) { System.Windows.Application.Current.Dispatcher.Invoke(() => { ChatEntries.Add(new RobotChatEntryViewModel(sentence)); }); } }
async void UpdateChatEntriesCommandExcecuted() { var chats = await _syncServer.GetChatsAsync(_walletManager.Wallet.Address); if (chats != null) { for (var i = ChatEntries.Count - 1; i >= 0; i--) { var chat = ChatEntries[i]; var stillExist = false; foreach (var chat2 in chats) { stillExist = (chat.ID == chat2.ID); if (stillExist) { break; } } if (!stillExist) { var updateTopic = $"{AppConstants.FCM.Topics.Update}_{(chat.Type == ChatType.Normal ? chat.ChatPartner.TronAddress : chat.GroupInfo.TronAddress)}"; _fcm.Unsubscribe(updateTopic); await _database.Chats.DeleteByChatID(chat.ID); ChatEntries.RemoveAt(i); } } foreach (var chat in chats) { var alreadyExist = false; if (chat.LastMessage != null) { if (chat.Type == ChatType.Normal) { chat.LastMessage.Decrypt(_walletManager.Wallet, chat.ChatPartner.PublicKey); } else if (chat.Type == ChatType.Group) { var privKey = chat.GroupInfo.IsPublic ? chat.GroupInfo.PrivateKey : _walletManager.Wallet.Decrypt(chat.GroupInfo.PrivateKey, chat.GroupInfo.PublicKey); chat.LastMessage.Decrypt(privKey, chat.LastMessage.Sender.PublicKey); } } var dbLastReadMessageID = await _database.LastReadMessageIDs.GetByChatID(chat.ID); chat.UpdateUnreadMessageCount(dbLastReadMessageID != null ? dbLastReadMessageID.LastReadID : 0); for (var i = 0; i < ChatEntries.Count; i++) { if (chat.ID == ChatEntries[i].ID) { ChatEntries.RemoveAt(i); ChatEntries.Insert(i, chat); alreadyExist = true; } } if (!alreadyExist) { AreChatsEmpty = false; ChatEntries.Insert(0, chat); } var updateTopic = $"{AppConstants.FCM.Topics.Update}_{(chat.Type == ChatType.Normal ? chat.ChatPartner.TronAddress : chat.GroupInfo.TronAddress)}"; if (!_fcm.SubscribedTopics.Contains(updateTopic)) { _fcm.Subscribe(updateTopic); } if (chat.Type == ChatType.Group) { var msgTopic = $"{AppConstants.FCM.Topics.Group}_{chat.GroupInfo.TronAddress}"; if (!_fcm.SubscribedTopics.Contains(msgTopic)) { _fcm.Subscribe(msgTopic); } } } ChatEntries.Sort(false); } }