コード例 #1
0
        //Thread: Main
        public override void OnUpdate()
        {
            if (isMuted)
            {
                // Collapse and clear only when a new message is received. (Otherwise can not open once muted.)
                if (newMsgIn)
                {
                    chirpPane.ClearMessages();
                    messageFilterMap.Clear();

                    // Check if user had window open before.
                    if (!userOpened)
                    {
                        chirpPane.Collapse();
                    }
                    newMsgIn = false;
                }
            }
            else if (!isMuted)
            {
                // Room for further implementation in the future. (Potentially filtering etc.)

                if (isFiltered && !hasFilters)
                {
                    FilterMessages();
                }

                // Remove hashtags
                if (!isHashTagged)
                {
                    RemoveHashtags();
                }
            }

            // Detect keypress - Alt+C
            if (Event.current.alt && Input.GetKeyDown(KeyCode.C))
            {
                DebugOutputPanel.AddMessage(PluginManager.MessageType.Message, "[SuperChirper] Chirpy toggled.");

                // Toggle chirpy
                chirpPane.gameObject.SetActive(!chirpPane.gameObject.activeSelf);

                if (!chirpPane.gameObject.activeSelf)
                {
                    SuperChirperMod.OptionsPanelInstance.Hide();
                }

                newMsgIn = true;

                /*
                 * TODO:
                 * Stop messages not clearing when we reactivate after muting
                 * Fix message manager so that dehashtag messages are stored correctly
                 */
            }
        }
コード例 #2
0
 private void ClearButtonClick(UIComponent component, UIMouseEventParameter eventParam)
 {
     if (eventParam.buttons == UIMouseButton.Left && ChirpPanel.instance != null)
     {
         // Clear all messages in Chirpy and hide the window
         chirpPane.ClearMessages();
         chirpPane.Collapse();
     }
 }
コード例 #3
0
 public void OnUpdate()
 {
     if (!chirperDestroyed)
     {
         if (recentMessages.Count != 0)
         {
             if (recentMessages[0].filtered)
             {
                 cpanel.Collapse();
                 cpanel.m_NotificationSound = soundStore;
                 if (chirpContainer.transform.childCount > 0)
                 {
                     for (int i = 0; i < chirpContainer.transform.childCount; i++)
                     {
                         if (chirpContainer.transform.GetChild(i).GetComponentInChildren <UILabel>().text.Equals(recentMessages[0].chirpmessagetext))
                         {
                             UITemplateManager.RemoveInstance("ChirpTemplate", chirpContainer.transform.GetChild(i).GetComponent <UIPanel>());
                             messageManager.DeleteMessage(recentMessages[0].cm);
                             recentMessages.RemoveAt(0);
                             break;
                         }
                     }
                 }
                 else
                 {
                     recentMessages.RemoveAt(0);
                 }
             }
             else
             {
                 if (chirpContainer.transform.childCount > 0)
                 {
                     for (int i = 0; i < chirpContainer.transform.childCount; i++)
                     {
                         if (chirpContainer.transform.GetChild(i).GetComponentInChildren <UILabel>().text.Equals(recentMessages[0].chirpmessagetext))
                         {
                             chirpContainer.transform.GetChild(i).GetComponentInChildren <UILabel>().text = module.removeTwitterness(recentMessages[0].chirpmessagetext);
                             break;
                         }
                     }
                 }
                 recentMessages.RemoveAt(0);
             }
         }
     }
 }