private void RemoveHashtags() { Transform container = chirpPane.transform.FindChild("Chirps").FindChild("Clipper").FindChild("Container").gameObject.transform; foreach (ChirpMessage message in hashTaggedMessages) { // Set showHide time low to stop overlap. chirpPane.m_ShowHideTime = 0.05f; // Delete old message. DeleteMessage(message); // Construct new message without hashtags. string newMessageText = ChirpFilter.DeHashTagMessage(message); ChirpMessage newMessage = new ChirpMessage(message.senderName, newMessageText, message.senderID); chirpPane.StartCoroutine(AddMessageCo(newMessage)); // Set showHide time to normal. chirpPane.m_ShowHideTime = showHideTime; // Clean up ... bool filtered; if (messageFilterMap.TryGetValue(message, out filtered)) { messageFilterMap.Remove(message); messageFilterMap.Add(newMessage, filtered); } IChirperMessage managerMessage; if (messageMap.TryGetValue(message, out managerMessage)) { messageMap.Remove(message); messageMap.Add(newMessage, managerMessage); } hashTaggedMessages.Remove(message); } }