// Ryzom - MMORPG Framework // Copyright (C) 2010 Winch Gate Property Limited // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU Affero General Public License as // published by the Free Software Foundation, either version 3 of the // License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Affero General Public License for more details. // // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . #error "Deprecated" #ifndef RYAI_BOT_CHAT_INTERFACE_H #define RYAI_BOT_CHAT_INTERFACE_H // Nel Misc #include "nel/misc/types_nl.h" #include "nel/misc/entity_id.h" #include "game_share/news_types.h" #include "game_share/bot_chat_types.h" // the class class CBotChatInterface { public: // the callback type for user callbacks for start of bot chat // returns the name of the bot chat automaton to use // if an empty string is returned no bot chat is launched typedef std::string (*TCallbackBegin)(NLMISC::CEntityId player,NLMISC::CEntityId bot); // the callback types for user callback for end of bot chat // called just after the chat session has been closed typedef void (*TCallbackEnd)(NLMISC::CEntityId player,NLMISC::CEntityId bot); public: // classic init() and release() static void init(TCallbackBegin cbBegin=NULL,TCallbackEnd cbEnd=NULL); static void release(); // build a vector of the players currently chatting with a given bot // this routine may not be very fast as the entire bot chat map is // parsed in order to build the vector static void getBotChatPartners(NLMISC::CEntityId bot,std::vector &result); // routines to force the end of a bot chat static void endChatForPlayer(NLMISC::CEntityId player); static void endAllChatForBot(NLMISC::CEntityId bot); }; #endif