예제 #1
0
 public void HideEmotes()
 {
     if (this.emotesDisplayed)
     {
         this.mousedOverEmote = null;
         this.emotesDisplayed = false;
         base.GetComponent <Collider>().enabled = false;
         foreach (EmoteOption option in this.m_emotes)
         {
             option.Disable();
         }
     }
 }
예제 #2
0
    public void HandleInput()
    {
        RaycastHit hit;

        if (!this.HitTestEmotes(out hit))
        {
            this.HideEmotes();
        }
        else
        {
            EmoteOption component = hit.transform.gameObject.GetComponent <EmoteOption>();
            if (component == null)
            {
                if (this.mousedOverEmote != null)
                {
                    this.mousedOverEmote.HandleMouseOut();
                    this.mousedOverEmote = null;
                }
            }
            else if (this.mousedOverEmote == null)
            {
                this.mousedOverEmote = component;
                this.mousedOverEmote.HandleMouseOver();
            }
            else if (this.mousedOverEmote != component)
            {
                this.mousedOverEmote.HandleMouseOut();
                this.mousedOverEmote = component;
                component.HandleMouseOver();
            }
            if (UniversalInputManager.Get().GetMouseButtonUp(0))
            {
                if (this.mousedOverEmote != null)
                {
                    if (!this.EmoteSpamBlocked())
                    {
                        this.totalEmotes++;
                        this.mousedOverEmote.DoClick();
                    }
                }
                else if (UniversalInputManager.Get().IsTouchMode() && (UnityEngine.Time.frameCount != this.shownAt))
                {
                    this.HideEmotes();
                }
            }
        }
    }