diff options
author | Ira Rice <irarice@gmail.com> | 2009-02-25 19:04:39 -0700 |
---|---|---|
committer | Ira Rice <irarice@gmail.com> | 2009-02-25 19:04:39 -0700 |
commit | 0dde31c3db09113639fa443142995b6efcff6646 (patch) | |
tree | 9e91488f812067dae7a91f84393a930ffe31b626 /src/gui/npc_text.cpp | |
parent | 6cd131052c78af04e794409189a0d7e16dcc0c51 (diff) | |
download | mana-0dde31c3db09113639fa443142995b6efcff6646.tar.gz mana-0dde31c3db09113639fa443142995b6efcff6646.tar.bz2 mana-0dde31c3db09113639fa443142995b6efcff6646.tar.xz mana-0dde31c3db09113639fa443142995b6efcff6646.zip |
Fix NPC handling to not need a handle on the NPC
Loosely based on TMW commit f04a8713ffc83db8b3dc4a472b28aad25a2b2bd1
Signed-off-by: Ira Rice <irarice@gmail.com>
Diffstat (limited to 'src/gui/npc_text.cpp')
-rw-r--r-- | src/gui/npc_text.cpp | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/src/gui/npc_text.cpp b/src/gui/npc_text.cpp index c28f1403..b94e8aa4 100644 --- a/src/gui/npc_text.cpp +++ b/src/gui/npc_text.cpp @@ -29,10 +29,13 @@ #include "../npc.h" +#include "../net/messageout.h" +#include "../net/protocol.h" + #include "../utils/gettext.h" -NpcTextDialog::NpcTextDialog(): - Window(_("NPC")) +NpcTextDialog::NpcTextDialog(Network *network): + Window(_("NPC")), mNetwork(network) { setResizable(true); @@ -87,12 +90,19 @@ void NpcTextDialog::action(const gcn::ActionEvent &event) setVisible(false); if (current_npc) - current_npc->nextDialog(); + nextDialog(); - current_npc = NULL; + current_npc = 0; } } +void NpcTextDialog::nextDialog(int npcID) +{ + MessageOut outMsg(mNetwork); + outMsg.writeInt16(CMSG_NPC_NEXT_REQUEST); + outMsg.writeInt32(npcID); +} + void NpcTextDialog::widgetResized(const gcn::Event &event) { Window::widgetResized(event); |