diff options
author | Andrei Karas <akaras@inbox.ru> | 2011-07-30 01:02:50 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2011-07-30 05:02:46 +0300 |
commit | 0e9ef0640cab30431bef8a4683a5da549d5c8f88 (patch) | |
tree | b3866e49869019a3278a71290fc78209bac51972 /src/net/tmwa/gui | |
parent | c8b18b47abbb325b6cc4b34abbad52b03825e4f9 (diff) | |
download | manaverse-0e9ef0640cab30431bef8a4683a5da549d5c8f88.tar.gz manaverse-0e9ef0640cab30431bef8a4683a5da549d5c8f88.tar.bz2 manaverse-0e9ef0640cab30431bef8a4683a5da549d5c8f88.tar.xz manaverse-0e9ef0640cab30431bef8a4683a5da549d5c8f88.zip |
Extract shared logic from guildhandler and partyhandler netcode to ea namespace.
Diffstat (limited to 'src/net/tmwa/gui')
-rw-r--r-- | src/net/tmwa/gui/guildtab.cpp | 99 | ||||
-rw-r--r-- | src/net/tmwa/gui/guildtab.h | 20 | ||||
-rw-r--r-- | src/net/tmwa/gui/partytab.cpp | 188 | ||||
-rw-r--r-- | src/net/tmwa/gui/partytab.h | 20 |
4 files changed, 8 insertions, 319 deletions
diff --git a/src/net/tmwa/gui/guildtab.cpp b/src/net/tmwa/gui/guildtab.cpp index ce828b338..99b775089 100644 --- a/src/net/tmwa/gui/guildtab.cpp +++ b/src/net/tmwa/gui/guildtab.cpp @@ -43,111 +43,14 @@ namespace TmwAthena { - -extern Guild *taGuild; - GuildTab::GuildTab() : - ChatTab(_("Guild")) + Ea::GuildTab() { - setTabColor(&Theme::getThemeColor(Theme::GUILD_CHAT_TAB)); } GuildTab::~GuildTab() { } -void GuildTab::handleInput(const std::string &msg) -{ - if (!taGuild) - return; - - if (chatWindow) - { - Net::getGuildHandler()->chat(taGuild->getId(), - chatWindow->doReplace(msg)); - } - else - { - Net::getGuildHandler()->chat(taGuild->getId(), msg); - } -} - -void GuildTab::showHelp() -{ - chatLog(_("/help > Display this help.")); - chatLog(_("/invite > Invite a player to your guild")); - chatLog(_("/leave > Leave the guild you are in")); - chatLog(_("/kick > Kick some one from the guild you are in")); -} - -bool GuildTab::handleCommand(const std::string &type, const std::string &args) -{ - if (type == "help") - { - if (args == "invite") - { - chatLog(_("Command: /invite <nick>")); - chatLog(_("This command invites <nick> to the guild you're in.")); - chatLog(_("If the <nick> has spaces in it, enclose it in " - "double quotes (\").")); - } - else if (args == "leave") - { - chatLog(_("Command: /leave")); - chatLog(_("This command causes the player to leave the guild.")); - } - else - return false; - } -/* - else if (type == "create" || type == "new") - { - if (args.empty()) - chatLog(_("Guild name is missing."), BY_SERVER); - else - Net::getGuildHandler()->create(args); - } -*/ - else if (type == "invite" && taGuild) - { - Net::getGuildHandler()->invite(taGuild->getId(), args); - } - else if (type == "leave" && taGuild) - { - Net::getGuildHandler()->leave(taGuild->getId()); - } - else if (type == "kick" && taGuild) - { - Net::getGuildHandler()->kick(taGuild->getMember(args)); - } - else if (type == "notice" && taGuild) - { - std::string str1 = args.substr(0, 60); - std::string str2 = ""; - if (args.size() > 60) - str2 = args.substr(60); - Net::getGuildHandler()->changeNotice(taGuild->getId(), str1, str2); - } - else - { - return false; - } - - return true; -} - -void GuildTab::getAutoCompleteList(std::vector<std::string> &names) const -{ - if (taGuild) - taGuild->getNames(names); - names.push_back("/notice "); -} - -void GuildTab::saveToLogFile(std::string &msg) -{ - if (chatLogger) - chatLogger->log("#Guild", msg); -} - } // namespace TmwAthena diff --git a/src/net/tmwa/gui/guildtab.h b/src/net/tmwa/gui/guildtab.h index e1af7ed70..21c56c4ed 100644 --- a/src/net/tmwa/gui/guildtab.h +++ b/src/net/tmwa/gui/guildtab.h @@ -23,7 +23,7 @@ #ifndef TA_GUILDTAB_H #define TA_GUILDTAB_H -#include "gui/widgets/chattab.h" +#include "net/ea/gui/guildtab.h" namespace TmwAthena { @@ -31,28 +31,14 @@ namespace TmwAthena /** * A tab for a guild chat channel. */ -class GuildTab : public ChatTab +class GuildTab : public Ea::GuildTab { public: GuildTab(); - ~GuildTab(); - - void showHelp(); - - bool handleCommand(const std::string &type, const std::string &args); - - void saveToLogFile(std::string &msg); - int getType() const { return ChatTab::TAB_GUILD; } - - protected: - void handleInput(const std::string &msg); - - void getAutoCompleteList(std::vector<std::string> &names) const; + ~GuildTab(); }; -extern GuildTab *guildTab; - } // namespace TmwAthena #endif // TA_GUILDTAB_H diff --git a/src/net/tmwa/gui/partytab.cpp b/src/net/tmwa/gui/partytab.cpp index fc8ec138d..d15f4754f 100644 --- a/src/net/tmwa/gui/partytab.cpp +++ b/src/net/tmwa/gui/partytab.cpp @@ -47,199 +47,13 @@ namespace TmwAthena { PartyTab::PartyTab() : - ChatTab(_("Party")) + Ea::PartyTab() { - setTabColor(&Theme::getThemeColor(Theme::PARTY_CHAT_TAB)); } PartyTab::~PartyTab() { } -void PartyTab::handleInput(const std::string &msg) -{ - if (chatWindow) - Net::getPartyHandler()->chat(chatWindow->doReplace(msg)); - else - Net::getPartyHandler()->chat(msg); -} - -void PartyTab::showHelp() -{ - chatLog(_("/help > Display this help.")); - chatLog(_("/invite > Invite a player to your party")); - chatLog(_("/leave > Leave the party you are in")); - chatLog(_("/kick > Kick some one from the party you are in")); - chatLog(_("/item > Show/change party item sharing options")); - chatLog(_("/exp > Show/change party experience sharing options")); -} - -bool PartyTab::handleCommand(const std::string &type, const std::string &args) -{ - if (type == "help") - { - if (args == "invite") - { - chatLog(_("Command: /invite <nick>")); - chatLog(_("This command invites <nick> to party with you.")); - chatLog(_("If the <nick> has spaces in it, enclose it in " - "double quotes (\").")); - } - else if (args == "leave") - { - chatLog(_("Command: /leave")); - chatLog(_("This command causes the player to leave the party.")); - } - else if (args == "item") - { - chatLog(_("Command: /item <policy>")); - chatLog( - _("This command changes the party's item sharing policy.")); - chatLog(_("<policy> can be one of \"1\", \"yes\", \"true\" to " - "enable item sharing, or \"0\", \"no\", \"false\" to " - "disable item sharing.")); - chatLog(_("Command: /item")); - chatLog(_("This command displays the party's" - " current item sharing policy.")); - } - else if (args == "exp") - { - chatLog(_("Command: /exp <policy>")); - chatLog(_("This command changes the party's " - "experience sharing policy.")); - chatLog(_("<policy> can be one of \"1\", \"yes\", \"true\" to " - "enable experience sharing, or \"0\"," - " \"no\", \"false\" to disable experience sharing.")); - chatLog(_("Command: /exp")); - chatLog(_("This command displays the party's current " - "experience sharing policy.")); - } - else - { - return false; - } - } - else if (type == "create" || type == "new") - { - if (args.empty()) - chatLog(_("Party name is missing."), BY_SERVER); - else - Net::getPartyHandler()->create(args); - } - else if (type == "invite") - { - Net::getPartyHandler()->invite(args); - } - else if (type == "leave") - { - Net::getPartyHandler()->leave(); - } - else if (type == "kick") - { - Net::getPartyHandler()->kick(args); - } - else if (type == "item") - { - if (args.empty()) - { - switch (Net::getPartyHandler()->getShareItems()) - { - case PARTY_SHARE: - chatLog(_("Item sharing enabled."), BY_SERVER); - return true; - case PARTY_SHARE_NO: - chatLog(_("Item sharing disabled."), BY_SERVER); - return true; - case PARTY_SHARE_NOT_POSSIBLE: - chatLog(_("Item sharing not possible."), BY_SERVER); - return true; - case PARTY_SHARE_UNKNOWN: - chatLog(_("Item sharing unknown."), BY_SERVER); - return true; - default: - break; - } - } - - char opt = CommandHandler::parseBoolean(args); - - switch (opt) - { - case 1: - Net::getPartyHandler()->setShareItems(PARTY_SHARE); - break; - case 0: - Net::getPartyHandler()->setShareItems(PARTY_SHARE_NO); - break; - case -1: - chatLog(strprintf(BOOLEAN_OPTIONS, "item")); - default: - break; - } - } - else if (type == "exp") - { - if (args.empty()) - { - switch (Net::getPartyHandler()->getShareExperience()) - { - case PARTY_SHARE: - chatLog(_("Experience sharing enabled."), BY_SERVER); - return true; - case PARTY_SHARE_NO: - chatLog(_("Experience sharing disabled."), BY_SERVER); - return true; - case PARTY_SHARE_NOT_POSSIBLE: - chatLog(_("Experience sharing not possible."), BY_SERVER); - return true; - case PARTY_SHARE_UNKNOWN: - chatLog(_("Experience sharing unknown."), BY_SERVER); - return true; - default: - break; - } - } - - char opt = CommandHandler::parseBoolean(args); - - switch (opt) - { - case 1: - Net::getPartyHandler()->setShareExperience(PARTY_SHARE); - break; - case 0: - Net::getPartyHandler()->setShareExperience(PARTY_SHARE_NO); - break; - case -1: - chatLog(strprintf(BOOLEAN_OPTIONS, "exp")); - default: - break; - } - } - else - { - return false; - } - - return true; -} - -void PartyTab::getAutoCompleteList(std::vector<std::string> &names) const -{ - if (!player_node) - return; - - Party *p = player_node->getParty(); - - if (p) - p->getNames(names); -} - -void PartyTab::saveToLogFile(std::string &msg) -{ - if (chatLogger) - chatLogger->log("#Party", msg); -} - } // namespace TmwAthena diff --git a/src/net/tmwa/gui/partytab.h b/src/net/tmwa/gui/partytab.h index f78a4c701..d865995f7 100644 --- a/src/net/tmwa/gui/partytab.h +++ b/src/net/tmwa/gui/partytab.h @@ -23,7 +23,7 @@ #ifndef TA_PARTYTAB_H #define TA_PARTYTAB_H -#include "gui/widgets/chattab.h" +#include "net/ea/gui/partytab.h" namespace TmwAthena { @@ -31,28 +31,14 @@ namespace TmwAthena /** * A tab for a party chat channel. */ -class PartyTab : public ChatTab +class PartyTab : public Ea::PartyTab { public: PartyTab(); - ~PartyTab(); - - void showHelp(); - - bool handleCommand(const std::string &type, const std::string &args); - - int getType() const { return ChatTab::TAB_PARTY; } - void saveToLogFile(std::string &msg); - - protected: - void handleInput(const std::string &msg); - - virtual void getAutoCompleteList(std::vector<std::string>&) const; + ~PartyTab(); }; -extern PartyTab *partyTab; - } // namespace TmwAthena #endif // TA_PARTYTAB_H |