diff options
author | Andrei Karas <akaras@inbox.ru> | 2013-03-29 00:44:18 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2013-03-29 00:44:18 +0300 |
commit | e02996049927ca4f52852fe0e437010fd07238a3 (patch) | |
tree | 7ef583190ec9b20a7e35d880fcdc2c1c7cb51934 /src/playerinfo.cpp | |
parent | be3c1cf049d3df146d18acfb7cbead2ef3f660f1 (diff) | |
download | manaplus-e02996049927ca4f52852fe0e437010fd07238a3.tar.gz manaplus-e02996049927ca4f52852fe0e437010fd07238a3.tar.bz2 manaplus-e02996049927ca4f52852fe0e437010fd07238a3.tar.xz manaplus-e02996049927ca4f52852fe0e437010fd07238a3.zip |
remove some code from deprivatedevent class.
Diffstat (limited to 'src/playerinfo.cpp')
-rw-r--r-- | src/playerinfo.cpp | 70 |
1 files changed, 20 insertions, 50 deletions
diff --git a/src/playerinfo.cpp b/src/playerinfo.cpp index 7e837162b..101574600 100644 --- a/src/playerinfo.cpp +++ b/src/playerinfo.cpp @@ -40,10 +40,6 @@ namespace PlayerInfo { -class PlayerInfoListener; - -PlayerInfoListener *mListener = nullptr; - PlayerInfoBackend mData; int mCharId = 0; @@ -308,59 +304,13 @@ void updateAttrs() } } -class PlayerInfoListener final : private Listener -{ -public: - PlayerInfoListener() - { - listen(CHANNEL_CLIENT); - listen(CHANNEL_GAME); - } - - void processEvent(Channels channel, const DepricatedEvent &event) - { - if (channel == CHANNEL_CLIENT) - { - if (event.getName() == EVENT_STATECHANGE) - { - const int newState = event.getInt("newState"); - if (newState == STATE_GAME) - { - if (!mInventory) - { - mInventory = new Inventory(Inventory::INVENTORY); - mEquipment = new Equipment(); - } - } - } - } - else if (channel == CHANNEL_GAME) - { - if (event.getName() == EVENT_DESTRUCTED) - { - delete mInventory; - mInventory = nullptr; - delete mEquipment; - mEquipment = nullptr; - } - } - } -}; - void init() { - if (mListener) - return; - - // may be need remove it? - mListener = new PlayerInfoListener(); } void deinit() { clearInventory(); - delete mListener; - mListener = nullptr; } void clear() @@ -374,4 +324,24 @@ bool isTalking() || InventoryWindow::isStorageActive(); } +void gameDestroyed() +{ + delete mInventory; + mInventory = nullptr; + delete mEquipment; + mEquipment = nullptr; +} + +void stateChange(const int state) +{ + if (state == STATE_GAME) + { + if (!mInventory) + { + mInventory = new Inventory(Inventory::INVENTORY); + mEquipment = new Equipment(); + } + } +} + } // namespace PlayerInfo |