Example #1
0
        private void OpenChatWindow()
        {
            if (UseChirper)
            {
                _chatTextChirper.Show();
                _chatTextChirper.Focus();
                if (ChirpPanel.instance.isShowing)
                {
                    // Don't close Chirper automatically if already open
                    ReflectionHelper.SetAttr(ChirpPanel.instance, "m_Timeout", 0f);
                }
                else
                {
                    ChirpPanel.instance.Show(0);
                    Vector3 posInit = _chatTextChirper.position;
                    posInit.y = -45f;
                    _chatTextChirper.position = posInit;
                    ValueAnimator.Animate("ChirpPanelChatX", val =>
                    {
                        _chatTextChirper.width = val;
                    }, new AnimatedFloat(25, 350, ChirpPanel.instance.m_ShowHideTime, ChirpPanel.instance.m_ShowEasingType), () =>
                    {
                        if (!ChirpPanel.instance.isShowing)
                        {
                            return;
                        }

                        ValueAnimator.Animate("ChirpPanelChatY", val =>
                        {
                            Vector3 pos = _chatTextChirper.position;
                            pos.y       = val;
                            _chatTextChirper.position = pos;
                        }, new AnimatedFloat(-45f, -155, ChirpPanel.instance.m_ShowHideTime, ChirpPanel.instance.m_ShowEasingType));
                    });
                }
            }
            else
            {
                isVisible = true;
                _chatText.Focus();

                // Reset the timeout counter
                _timeoutCounter = 0;

                // Scroll to bottom of the panel.
                _scrollablepanel.ScrollToBottom();
            }
        }