diff options
author | madmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2013-05-30 21:34:09 +0200 |
---|---|---|
committer | madmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2013-05-30 21:34:09 +0200 |
commit | 9684f90f8361fb314a60a387dc9ecf9bc4c3062a (patch) | |
tree | 37e595d7f4b6fdd51b18943db2be6b538ea1caea /source/Player.cpp | |
parent | ProtoProxy: Added a note in the documentation about the need to switch off username verification (diff) | |
download | cuberite-9684f90f8361fb314a60a387dc9ecf9bc4c3062a.tar cuberite-9684f90f8361fb314a60a387dc9ecf9bc4c3062a.tar.gz cuberite-9684f90f8361fb314a60a387dc9ecf9bc4c3062a.tar.bz2 cuberite-9684f90f8361fb314a60a387dc9ecf9bc4c3062a.tar.lz cuberite-9684f90f8361fb314a60a387dc9ecf9bc4c3062a.tar.xz cuberite-9684f90f8361fb314a60a387dc9ecf9bc4c3062a.tar.zst cuberite-9684f90f8361fb314a60a387dc9ecf9bc4c3062a.zip |
Diffstat (limited to 'source/Player.cpp')
-rw-r--r-- | source/Player.cpp | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/source/Player.cpp b/source/Player.cpp index d659c949a..254e58655 100644 --- a/source/Player.cpp +++ b/source/Player.cpp @@ -128,7 +128,7 @@ void cPlayer::Initialize( cWorld* a_World ) void cPlayer::Destroyed() { - CloseWindow(-1); + CloseWindow(); m_ClientHandle = NULL; } @@ -433,9 +433,9 @@ Vector3d cPlayer::GetEyePosition() -void cPlayer::OpenWindow( cWindow* a_Window ) +void cPlayer::OpenWindow(cWindow * a_Window) { - CloseWindow(m_CurrentWindow ? (char)m_CurrentWindow->GetWindowType() : 0); + CloseWindow(); a_Window->OpenedByPlayer(*this); m_CurrentWindow = a_Window; } @@ -444,12 +444,29 @@ void cPlayer::OpenWindow( cWindow* a_Window ) -void cPlayer::CloseWindow(char a_WindowType) +void cPlayer::CloseWindow(void) { - if (m_CurrentWindow != NULL) + if (m_CurrentWindow == NULL) { - m_CurrentWindow->ClosedByPlayer(*this); + m_CurrentWindow = m_InventoryWindow; + return; + } + + m_CurrentWindow->ClosedByPlayer(*this); + m_CurrentWindow = m_InventoryWindow; +} + + + + + +void cPlayer::CloseWindowIfID(char a_WindowID) +{ + if ((m_CurrentWindow == NULL) || (m_CurrentWindow->GetWindowID() != a_WindowID)) + { + return; } + m_CurrentWindow->ClosedByPlayer(*this); m_CurrentWindow = m_InventoryWindow; } |