/* * PVVMUD a 3D MUD * Copyright (C) 1998-1999 Programvareverkstedet (pvv@pvv.org) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #ifndef _CLIENTMANAGER_H #define _CLIENTMANAGER_H #include "manager.H" #include "objectlist.H" #include "worldworld.H" #include "srvobject.H" #include "player.H" #include "srvviewpoint.H" #include "srvclicmdparser.H" #define MANAGER_INIT 0 #define MANAGER_LOGIN 1 #define MANAGER_PLAYING 2 class CSrvProtocol; class CMud; class CClientManager : public CManager { // int m_status; int m_quit; CPlayer * m_player; CSrvViewpoint * m_viewpoint; CMud * m_mud; CSrvCliCmdParser * m_commandParser; public: CClientManager(CMud * mud, CSrvProtocol * protocol); virtual ~CClientManager(); CSrvProtocol * getProtocol(){ return (CSrvProtocol*)CManager::getCommunicate(); } void quit(); int getQuit(){ return m_quit; } CWorldWorld * getWorld(); void setPlayer(CPlayer * player); // Message/Communication rutines void login(char * name,char * passwd,BOOL newUser); void online(); void logout(); void sendWorld(); void sendBye(WORD reason); void userCommand(WORD command); void selection(WORD objectId); void action(WORD objectId,WORD actionId); void userCommand(char * messageString); void sendMsg(const char * message); virtual void updateMasterCell(CSrvObject * newcell); }; #endif /* _CLIENTMANAGER_H */