From 50658d0b86e7fcd0ea92449310b1dbcc75237267 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Thu, 19 Jul 2012 23:22:41 +0300 Subject: Block moving in storage is open. Move some code from being to playerinfo. --- src/being.cpp | 5 ----- src/being.h | 2 -- src/game.cpp | 2 +- src/gui/viewport.cpp | 3 ++- src/playerinfo.cpp | 10 ++++++++++ src/playerinfo.h | 2 ++ 6 files changed, 15 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/being.cpp b/src/being.cpp index b8e50b764..2f1555246 100644 --- a/src/being.cpp +++ b/src/being.cpp @@ -2015,11 +2015,6 @@ void Being::talkTo() Net::getNpcHandler()->talk(mId); } -bool Being::isTalking() -{ - return NpcDialog::isActive() || NpcPostDialog::isActive(); -} - bool Being::draw(Graphics *graphics, int offsetX, int offsetY) const { bool res = true; diff --git a/src/being.h b/src/being.h index 1d9e1691d..725163d9c 100644 --- a/src/being.h +++ b/src/being.h @@ -632,8 +632,6 @@ class Being : public ActorSprite, public ConfigListener void talkTo(); - static bool isTalking(); - bool draw(Graphics *graphics, int offsetX, int offsetY) const; bool drawSpriteAt(Graphics *graphics, int x, int y) const; diff --git a/src/game.cpp b/src/game.cpp index 9aad672da..e5a86f4a3 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -759,7 +759,7 @@ void Game::resetAdjustLevel() void Game::handleMove() { // Moving player around - if (player_node->isAlive() && !Being::isTalking() + if (player_node->isAlive() && !PlayerInfo::isTalking() && chatWindow && !chatWindow->isInputFocused() && !InventoryWindow::isAnyInputFocused() && !quitDialog) { diff --git a/src/gui/viewport.cpp b/src/gui/viewport.cpp index 319476591..2a8d36a60 100644 --- a/src/gui/viewport.cpp +++ b/src/gui/viewport.cpp @@ -33,6 +33,7 @@ #include "localplayer.h" #include "map.h" #include "maplayer.h" +#include "playerinfo.h" #include "textmanager.h" #include "gui/beingpopup.h" @@ -409,7 +410,7 @@ void Viewport::mousePressed(gcn::MouseEvent &event) // Check if we are busy // if commented, allow context menu if npc dialog open - if (Being::isTalking()) + if (PlayerInfo::isTalking()) return; const int pixelX = event.getX() + mPixelViewX; diff --git a/src/playerinfo.cpp b/src/playerinfo.cpp index d00eb217d..61d72df3b 100644 --- a/src/playerinfo.cpp +++ b/src/playerinfo.cpp @@ -28,6 +28,10 @@ #include "listener.h" #include "logger.h" +#include "gui/inventorywindow.h" +#include "gui/npcdialog.h" +#include "gui/npcpostdialog.h" + #include "resources/itemdb.h" #include "resources/iteminfo.h" @@ -368,4 +372,10 @@ void deinit() mListener = nullptr; } +bool isTalking() +{ + return NpcDialog::isActive() || NpcPostDialog::isActive() + || InventoryWindow::isStorageActive(); +} + } // namespace PlayerInfo diff --git a/src/playerinfo.h b/src/playerinfo.h index 36a8bb799..46204638f 100644 --- a/src/playerinfo.h +++ b/src/playerinfo.h @@ -229,6 +229,8 @@ namespace PlayerInfo void deinit(); + bool isTalking(); + void triggerAttr(int id); void triggerAttr(int id, int old); -- cgit v1.2.3-60-g2f50