diff options
Diffstat (limited to 'src/game/client/components/chat.cpp')
| -rw-r--r-- | src/game/client/components/chat.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/game/client/components/chat.cpp b/src/game/client/components/chat.cpp index 60b62188..d0b216a5 100644 --- a/src/game/client/components/chat.cpp +++ b/src/game/client/components/chat.cpp @@ -33,6 +33,11 @@ void CChat::OnReset() m_Show = false; } +void CChat::OnRelease() +{ + m_Show = false; +} + void CChat::OnStateChange(int NewState, int OldState) { if(OldState <= IClient::STATE_CONNECTING) @@ -84,12 +89,16 @@ bool CChat::OnInput(IInput::CEvent e) return false; if(e.m_Flags&IInput::FLAG_PRESS && e.m_Key == KEY_ESCAPE) + { m_Mode = MODE_NONE; + m_pClient->OnRelease(); + } else if(e.m_Flags&IInput::FLAG_PRESS && (e.m_Key == KEY_RETURN || e.m_Key == KEY_KP_ENTER)) { if(m_Input.GetString()[0]) Say(m_Mode == MODE_ALL ? 0 : 1, m_Input.GetString()); m_Mode = MODE_NONE; + m_pClient->OnRelease(); } else m_Input.ProcessInput(e); |