diff options
Diffstat (limited to 'src/net/tmwserv')
-rw-r--r-- | src/net/tmwserv/generalhandler.cpp | 16 | ||||
-rw-r--r-- | src/net/tmwserv/partyhandler.cpp | 59 | ||||
-rw-r--r-- | src/net/tmwserv/partyhandler.h | 25 |
3 files changed, 89 insertions, 11 deletions
diff --git a/src/net/tmwserv/generalhandler.cpp b/src/net/tmwserv/generalhandler.cpp index c5f00624..504af023 100644 --- a/src/net/tmwserv/generalhandler.cpp +++ b/src/net/tmwserv/generalhandler.cpp @@ -51,19 +51,19 @@ namespace TmwServ { GeneralHandler::GeneralHandler(): mBeingHandler(new BeingHandler), mBuySellHandler(new BuySellHandler), - mCharServerHandler(new TmwServ::CharServerHandler), - mChatHandler(new TmwServ::ChatHandler), + mCharServerHandler(new CharServerHandler), + mChatHandler(new ChatHandler), mEffectHandler(new EffectHandler), mGuildHandler(new GuildHandler), - mInventoryHandler(new TmwServ::InventoryHandler), + mInventoryHandler(new InventoryHandler), mItemHandler(new ItemHandler), - mLoginHandler(new TmwServ::LoginHandler), + mLoginHandler(new LoginHandler), mLogoutHandler(new LogoutHandler), - mMapHandler(new TmwServ::MapHandler), - mNpcHandler(new TmwServ::NpcHandler), + mMapHandler(new MapHandler), + mNpcHandler(new NpcHandler), mPartyHandler(new PartyHandler), - mPlayerHandler(new TmwServ::PlayerHandler), - mTradeHandler(new TmwServ::TradeHandler) + mPlayerHandler(new PlayerHandler), + mTradeHandler(new TradeHandler) { accountServerConnection = Net::getConnection(); gameServerConnection = Net::getConnection(); diff --git a/src/net/tmwserv/partyhandler.cpp b/src/net/tmwserv/partyhandler.cpp index 08e58667..5aecca76 100644 --- a/src/net/tmwserv/partyhandler.cpp +++ b/src/net/tmwserv/partyhandler.cpp @@ -21,9 +21,11 @@ #include "net/tmwserv/partyhandler.h" -#include "net/tmwserv/chatserver/chatserver.h" #include "net/tmwserv/protocol.h" +#include "net/tmwserv/chatserver/chatserver.h" +#include "net/tmwserv/chatserver/party.h" + #include "net/messagein.h" #include "gui/partywindow.h" @@ -35,6 +37,10 @@ #include <iostream> +Net::PartyHandler *partyHandler; + +namespace TmwServ { + PartyHandler::PartyHandler() { static const Uint16 _messages[] = { @@ -47,7 +53,7 @@ PartyHandler::PartyHandler() 0 }; handledMessages = _messages; - + partyHandler = this; } void PartyHandler::handleMessage(MessageIn &msg) @@ -104,3 +110,52 @@ void PartyHandler::handleMessage(MessageIn &msg) } break; } } + +void PartyHandler::create(const std::string &name) +{ + // TODO +} + +void PartyHandler::join(int partyId) +{ + // TODO +} + +void PartyHandler::invite(Player *player) +{ + invite(player->getName()); +} + +void PartyHandler::invite(const std::string &name) +{ + Net::ChatServer::Party::invitePlayer(name); +} + +void PartyHandler::inviteResponse(const std::string &inviter, bool accept) +{ + if (accept) + Net::ChatServer::Party::acceptInvite(inviter); + // TODO: rejection +} + +void PartyHandler::leave() +{ + // TODO +} + +void PartyHandler::kick(int playerId) +{ + // TODO +} + +void PartyHandler::chat(const std::string &text) +{ + // TODO +} + +void PartyHandler::requestPartyMembers() +{ + // TODO +} + +} // namespace TmwServ diff --git a/src/net/tmwserv/partyhandler.h b/src/net/tmwserv/partyhandler.h index 66e29b0d..9dad4bbc 100644 --- a/src/net/tmwserv/partyhandler.h +++ b/src/net/tmwserv/partyhandler.h @@ -23,16 +23,39 @@ #define NET_TMWSERV_PARTYHANDLER_H #include "net/messagehandler.h" +#include "net/partyhandler.h" #include <string> -class PartyHandler : public MessageHandler +namespace TmwServ { + +class PartyHandler : public MessageHandler, public Net::PartyHandler { public: PartyHandler(); void handleMessage(MessageIn &msg); + + void create(const std::string &name = ""); + + void join(int partyId); + + void invite(Player *player); + + void invite(const std::string &name); + + void inviteResponse(const std::string &inviter, bool accept); + + void leave(); + + void kick(int playerId); + + void chat(const std::string &text); + + void requestPartyMembers(); }; +} // namespace TmwServ + #endif |