Changeset 8829
- Timestamp:
- Aug 7, 2011, 3:11:16 PM (13 years ago)
- Location:
- code/branches/output/src
- Files:
-
- 4 added
- 2 deleted
- 26 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/output/src/libraries/network/CMakeLists.txt
r8351 r8829 19 19 20 20 SET_SOURCE_FILES(NETWORK_SRC_FILES 21 ChatListener.cc22 21 Client.cc 23 22 ClientConnection.cc … … 45 44 46 45 SET_SOURCE_FILES(NETWORK_HDR_FILES 47 ChatListener.h48 46 Client.h 49 47 ClientConnection.h … … 61 59 WANDiscovery.h 62 60 MasterServerComm.h 61 NetworkChatListener.h 63 62 NetworkFunction.h 64 63 NetworkPrecompiledHeaders.h -
code/branches/output/src/libraries/network/Client.cc
r8807 r8829 116 116 } 117 117 118 bool Client::processChat(const std::string& message, unsigned int playerID)119 {120 // orxout(message) << "Player " << playerID << ": " << message << endl;121 return true;122 }123 124 118 void Client::printRTT() 125 119 { … … 128 122 129 123 /** 130 * This function implements the method of sending a chat message to the server124 * @brief Sends a chat message to the server. 131 125 * @param message message to be sent 132 * @return result(true/false) 126 * @param sourceID the ID of the sender 127 * @param targetID the ID of the receiver 133 128 */ 134 bool Client::chat(const std::string& message) 135 { 136 packet::Chat *m = new packet::Chat(message, Host::getPlayerID()); 137 return m->send(static_cast<Host*>(this)); 138 } 139 129 void Client::doSendChat(const std::string& message, unsigned int sourceID, unsigned int targetID) 130 { 131 // send the message to the server 132 packet::Chat* packet = new packet::Chat(message, sourceID, targetID); 133 packet->send(static_cast<Host*>(this)); 134 } 135 136 /** 137 * @brief Gets called if a packet::Chat packet is received. Calls the parent function which passes the message to the listeners. 138 */ 139 void Client::doReceiveChat(const std::string& message, unsigned int sourceID, unsigned int targetID) 140 { 141 // call the parent function which passes the message to the listeners 142 Host::doReceiveChat(message, sourceID, targetID); 143 } 140 144 141 145 /** … … 203 207 Game::getInstance().popState(); 204 208 } 205 209 206 210 void Client::processPacket(packet::Packet* packet) 207 211 { … … 216 220 packet->process(static_cast<Host*>(this)); 217 221 } 218 219 220 221 222 222 } -
code/branches/output/src/libraries/network/Client.h
r7801 r8829 73 73 Client(); 74 74 ~Client(); 75 75 76 76 static Client* getInstance(){ return singletonPtr_s; } // tolua_export 77 77 … … 81 81 void queuePacket(ENetPacket* packet, int clientID, uint8_t channelID); 82 82 virtual bool sendPacket( packet::Packet* packet ){ return packet->send( static_cast<Host*>(this) ); } 83 bool processChat(const std::string& message, unsigned int playerID); 84 virtual bool chat(const std::string& message); 85 virtual bool broadcast(const std::string& message) { return false; } 83 virtual void doSendChat(const std::string& message, unsigned int sourceID, unsigned int targetID); 84 virtual void doReceiveChat(const std::string& message, unsigned int sourceID, unsigned int targetID); 86 85 virtual void printRTT(); 87 86 -
code/branches/output/src/libraries/network/Host.cc
r8827 r8829 32 32 #include <string> 33 33 34 #include "core/CoreIncludes.h" 34 35 #include "core/ObjectList.h" 35 36 #include "core/command/ConsoleCommand.h" 36 #include " ChatListener.h"37 #include "NetworkChatListener.h" 37 38 38 39 namespace orxonox { … … 41 42 static const std::string __CC_printRTT_name = "printRTT"; 42 43 43 SetConsoleCommand("chat", &Host::Chat);44 44 SetConsoleCommand(__CC_printRTT_group, __CC_printRTT_name, &Host::printRTT); 45 45 … … 89 89 } 90 90 91 void Host::Chat(const std::string& message) 91 /** 92 * @brief Sends a chat message through the network. 93 * @param message message to be sent 94 * @param sourceID the ID of the sender 95 * @param targetID the ID of the receiver 96 */ 97 void Host::sendChat(const std::string& message, unsigned int sourceID, unsigned int targetID) 92 98 { 93 for (ObjectList<ChatListener>::iterator it = ObjectList<ChatListener>::begin(); it != ObjectList<ChatListener>::end(); ++it)94 it->incomingChat(message, 0);95 96 bool result = true;97 99 for( std::vector<Host*>::iterator it = instances_s.begin(); it!=instances_s.end(); ++it ) 98 {99 100 if( (*it)->isActive() ) 100 { 101 if( !(*it)->chat(message) ) 102 result = false; 103 } 104 } 105 // return result; 101 (*it)->doSendChat(message, sourceID, targetID); 106 102 } 107 103 108 bool Host::Broadcast(const std::string& message) 104 /** 105 * @brief Gets called if a packet::Chat packet is received. Passes the message to the listeners. 106 */ 107 void Host::doReceiveChat(const std::string& message, unsigned int sourceID, unsigned int targetID) 109 108 { 110 for (ObjectList<ChatListener>::iterator it = ObjectList<ChatListener>::begin(); it != ObjectList<ChatListener>::end(); ++it) 111 it->incomingChat(message, NETWORK_PEER_ID_BROADCAST); 112 113 bool result = true; 114 for( std::vector<Host*>::iterator it = instances_s.begin(); it!=instances_s.end(); ++it ) 115 { 116 if( (*it)->isActive() ) 117 { 118 if( !(*it)->broadcast(message) ) 119 result = false; 120 } 121 } 122 return result; 109 for (ObjectList<NetworkChatListener>::iterator it = ObjectList<NetworkChatListener>::begin(); it != ObjectList<NetworkChatListener>::end(); ++it) 110 it->incomingChat(message, sourceID); 123 111 } 124 112 125 bool Host::incomingChat(const std::string& message, unsigned int playerID)126 {127 for (ObjectList<ChatListener>::iterator it = ObjectList<ChatListener>::begin(); it != ObjectList<ChatListener>::end(); ++it)128 it->incomingChat(message, playerID);129 130 bool result = true;131 for( std::vector<Host*>::iterator it = instances_s.begin(); it!=instances_s.end(); ++it )132 {133 if( (*it)->isActive() )134 {135 if( !(*it)->processChat(message, playerID) )136 result = false;137 }138 }139 return result;140 }141 113 142 114 bool Host::isServer() … … 167 139 168 140 141 ////////////////////////////////////////////////////////////////////////// 142 // NetworkChatListener // 143 ////////////////////////////////////////////////////////////////////////// 144 145 NetworkChatListener::NetworkChatListener() 146 { 147 RegisterRootObject(NetworkChatListener); 148 } 149 169 150 }//namespace orxonox -
code/branches/output/src/libraries/network/Host.h
r8403 r8829 52 52 class _NetworkExport Host: public GamestateManager 53 53 { 54 friend class packet::Chat; 55 54 56 private: 55 //TODO add these functions or adequate56 //virtual bool processChat(packet::Chat *message, unsigned int clientID)=0;57 //virtual bool sendChat(packet::Chat *chat)=0;58 57 virtual void queuePacket(ENetPacket *packet, int clientID, uint8_t channelID)=0; 59 virtual bool chat(const std::string& message)=0;60 virtual bool broadcast(const std::string& message)=0;61 virtual bool processChat(const std::string& message, unsigned int playerID)=0;62 58 virtual bool isServer_()=0; 63 64 65 59 66 60 protected: … … 68 62 virtual ~Host(); 69 63 void setActive( bool bActive ){ bIsActive_ = bActive; } 70 // static Host *instance_; 64 65 virtual void doSendChat(const std::string& message, unsigned int sourceID, unsigned int targetID)=0; 66 virtual void doReceiveChat(const std::string& message, unsigned int sourceID, unsigned int targetID)=0; 71 67 72 68 public: … … 74 70 static bool running(){ return instances_s.size(); } 75 71 static void addPacket(ENetPacket* packet, int clientID = NETWORK_PEER_ID_SERVER, uint8_t channelID = 0); 76 //static bool chat(std::string& message);77 // static bool receiveChat(packet::Chat *message, unsigned int clientID);78 72 static unsigned int getPlayerID(){ return clientID_s; } 79 73 static void setClientID(unsigned int id){ clientID_s = id; } 80 74 static bool isServer(); 81 static void Chat(const std::string& message); 82 static bool Broadcast(const std::string& message); 83 static bool incomingChat(const std::string& message, unsigned int playerID); 75 static void sendChat(const std::string& message, unsigned int sourceID, unsigned int targetID); 84 76 virtual void printRTT()=0; 85 77 bool isActive(){ return bIsActive_; } -
code/branches/output/src/libraries/network/NetworkPrereqs.h
r8351 r8829 118 118 namespace orxonox 119 119 { 120 class ChatListener;121 120 class Client; 122 121 class ClientConnection; … … 130 129 class GamestateManager; 131 130 class Host; 131 class NetworkChatListener; 132 132 class NetworkFunctionBase; 133 133 struct NetworkFunctionPointer; -
code/branches/output/src/libraries/network/Server.cc
r8807 r8829 56 56 #include "packet/Gamestate.h" 57 57 #include "packet/Welcome.h" 58 #include "ChatListener.h"59 58 // #include "ClientInformation.h" 60 59 #include "FunctionCallManager.h" … … 104 103 void Server::helper_ConnectToMasterserver() 105 104 { 106 // WANDiscovery::getInstance().msc.sendRequest( MSPROTO_GAME_SERVER " " 105 // WANDiscovery::getInstance().msc.sendRequest( MSPROTO_GAME_SERVER " " 107 106 // MSPROTO_REGISTER_SERVER ); 108 107 } … … 116 115 orxout(verbose, context::network) << "opening server" << endl; 117 116 this->openListener(); 118 117 119 118 /* make discoverable on LAN */ 120 119 LANDiscoverable::setActivity(true); … … 123 122 WANDiscoverable::setActivity(true); 124 123 /* TODO this needs to be optional, we need a switch from the UI to 125 * enable/disable this 124 * enable/disable this 126 125 */ 127 126 // helper_ConnectToMasterserver(); … … 143 142 /* tell master server we're closing */ 144 143 orxout(internal_info, context::network) << "disconnecting." << endl; 145 WANDiscoverable::setActivity(false); 144 WANDiscoverable::setActivity(false); 146 145 orxout(internal_info, context::network) << "disconnecting done" << endl; 147 146 … … 150 149 } 151 150 152 bool Server::processChat(const std::string& message, unsigned int playerID)153 {154 // ClientInformation *temp = ClientInformation::getBegin();155 packet::Chat *chat;156 // while(temp){157 chat = new packet::Chat(message, playerID);158 chat->setPeerID(NETWORK_PEER_ID_BROADCAST);159 chat->send( static_cast<Host*>(this) );160 // orxout(internal_warning, context::network) << "could not send Chat message to client ID: " << temp->getID() << endl;161 // temp = temp->next();162 // }163 // orxout(message) << "Player " << playerID << ": " << message << endl;164 return true;165 }166 167 168 151 /* handle incoming data */ 169 152 int rephandler( char *addr, ENetEvent *ev ) 170 { 153 { 171 154 /* reply to pings */ 172 if( !strncmp( (char *)ev->packet->data, MSPROTO_PING_GAMESERVER, 155 if( !strncmp( (char *)ev->packet->data, MSPROTO_PING_GAMESERVER, 173 156 MSPROTO_PING_GAMESERVER_LEN ) ) 174 157 //this->msc.sendRequest( MSPROTO_ACK ); 175 158 /* NOTE implement this after pollForReply 176 * reimplementation 159 * reimplementation 177 160 */ 178 161 return 0; … … 183 166 184 167 void Server::helper_HandleMasterServerRequests() 185 { 186 /* poll the master server for replies and see whether something 168 { 169 /* poll the master server for replies and see whether something 187 170 * has to be done or changed. 188 171 */ … … 202 185 // receive and process incoming discovery packets 203 186 LANDiscoverable::update(); 204 187 205 188 // receive and process requests from master server 206 189 /* todo */ … … 330 313 { 331 314 // static unsigned int newid=1; 332 // 315 // 333 316 // orxout(internal_info, context::network) << "Server: adding client" << endl; 334 317 // ClientInformation *temp = ClientInformation::insertBack(new ClientInformation); … … 375 358 // } 376 359 } 377 360 378 361 void Server::processPacket(packet::Packet* packet) 379 362 { … … 411 394 // temp->setSynched(true); 412 395 GamestateManager::setSynched(clientID); 413 396 414 397 orxout(verbose, context::network) << "sending welcome" << endl; 415 398 packet::Welcome *w = new packet::Welcome(clientID); … … 438 421 } 439 422 440 bool Server::chat(const std::string& message) 441 { 442 return this->sendChat(message, Host::getPlayerID()); 443 } 444 445 bool Server::broadcast(const std::string& message) 446 { 447 return this->sendChat(message, NETWORK_PEER_ID_BROADCAST); 448 } 449 450 bool Server::sendChat(const std::string& message, unsigned int clientID) 451 { 452 // ClientInformation *temp = ClientInformation::getBegin(); 453 packet::Chat *chat; 454 // while(temp) 455 { 456 chat = new packet::Chat(message, clientID); 457 chat->setPeerID(NETWORK_PEER_ID_BROADCAST); 458 chat->send( static_cast<Host*>(this) ); 459 // orxout(internal_warning, context::network) << "could not send Chat message to client ID: " << temp->getID() << endl; 460 // temp = temp->next(); 461 } 462 // orxout(message) << "Player " << Host::getPlayerID() << ": " << message << endl; 463 for (ObjectList<ChatListener>::iterator it = ObjectList<ChatListener>::begin(); it != ObjectList<ChatListener>::end(); ++it) 464 it->incomingChat(message, clientID); 465 466 return true; 423 /** 424 * @brief Sends a chat message to the given target ID. 425 * @param message message to be sent 426 * @param sourceID the ID of the sender 427 * @param targetID the ID of the receiver 428 */ 429 void Server::doSendChat(const std::string& message, unsigned int sourceID, unsigned int targetID) 430 { 431 // check if the target exists. just ignore the message otherwise 432 if (!this->isValidTarget(targetID)) // TODO: remove this if an invalid clientIDs don't trigger assertions anymore 433 return; 434 435 // send the message to the target 436 packet::Chat* packet = new packet::Chat(message, sourceID, targetID); 437 packet->setPeerID(targetID); 438 packet->send( static_cast<Host*>(this) ); 439 440 // if the target is (or includes) this host as well, call the parent function which passes the message to the listeners 441 if (targetID == NETWORK_PEER_ID_BROADCAST || targetID == Host::getPlayerID()) 442 Host::doReceiveChat(message, sourceID, targetID); 443 } 444 445 /** 446 * @brief Gets called if a packet::Chat packet is received. Forwards the packet to the target 447 * and calls the parent function if necessary. 448 */ 449 void Server::doReceiveChat(const std::string& message, unsigned int sourceID, unsigned int targetID) 450 { 451 this->doSendChat(message, sourceID, targetID); 452 } 453 454 /** 455 * @brief Returns true if the target ID is in the list of clients (or if it 456 * corresponds to the broadcast or the server ID). 457 */ 458 bool Server::isValidTarget(unsigned int targetID) 459 { 460 if (targetID == NETWORK_PEER_ID_BROADCAST || targetID == NETWORK_PEER_ID_SERVER) 461 return true; 462 463 std::vector<uint32_t>::iterator it; 464 for( it=this->clientIDs_.begin(); it!=this->clientIDs_.end(); ++it ) 465 if( *it == targetID ) 466 return true; 467 468 return false; 467 469 } 468 470 -
code/branches/output/src/libraries/network/Server.h
r8351 r8829 68 68 void open(); 69 69 void close(); 70 bool processChat(const std::string& message, unsigned int playerID);71 70 void queuePacket(ENetPacket *packet, int clientID, uint8_t channelID); 72 71 virtual bool sendPacket( packet::Packet* packet ){ return packet->send( static_cast<Host*>(this) ); } … … 89 88 bool sendGameStates(); 90 89 bool sendObjectDeletes(); 91 virtual bool chat(const std::string& message);92 virtual bool broadcast(const std::string& message);93 bool sendChat(const std::string& message, unsigned int clientID);90 bool isValidTarget(unsigned int targetID); 91 virtual void doSendChat(const std::string& message, unsigned int sourceID, unsigned int targetID); 92 virtual void doReceiveChat(const std::string& message, unsigned int sourceID, unsigned int targetID); 94 93 void syncClassid(unsigned int clientID); 95 94 -
code/branches/output/src/libraries/network/packet/Chat.cc
r7801 r8829 39 39 40 40 /* Some lengths */ 41 #define _PACKETID 0 42 const int _PLAYERID = _PACKETID + sizeof(Type::Value); 43 #define _MESSAGELENGTH _PLAYERID + sizeof(uint32_t) 44 #define _MESSAGE _MESSAGELENGTH + sizeof(uint32_t) 41 #define _PACKETID 0 42 #define _SOURCEID _PACKETID + sizeof(Type::Value) 43 #define _TARGETID _SOURCEID + sizeof(uint32_t) 44 #define _MESSAGELENGTH _TARGETID + sizeof(uint32_t) 45 #define _MESSAGE _MESSAGELENGTH + sizeof(uint32_t) 45 46 46 Chat::Chat( const std::string& message, unsigned int playerID )47 Chat::Chat( const std::string& message, unsigned int sourceID, unsigned int targetID ) 47 48 : Packet() 48 49 { … … 57 58 58 59 *(Type::Value *)(data_ + _PACKETID ) = Type::Chat; 59 *(unsigned int *)(data_ + _PLAYERID ) = playerID; 60 *(unsigned int *)(data_ + _SOURCEID ) = sourceID; 61 *(unsigned int *)(data_ + _TARGETID ) = targetID; 60 62 *(unsigned int *)(data_ + _MESSAGELENGTH ) = messageLength_; 61 63 … … 81 83 82 84 bool Chat::process(orxonox::Host* host){ 83 bool b = host->incomingChat(std::string((const char*)data_+_MESSAGE), *(uint32_t *)(data_+_PLAYERID));85 host->doReceiveChat(std::string((const char*)data_+_MESSAGE), *(uint32_t *)(data_+_SOURCEID), *(uint32_t *)(data_+_TARGETID)); 84 86 delete this; 85 return b;87 return true; 86 88 } 87 89 -
code/branches/output/src/libraries/network/packet/Chat.h
r7801 r8829 42 42 public: 43 43 /* constructors */ 44 Chat( const std::string& message, unsigned int playerID );44 Chat( const std::string& message, unsigned int sourceID, unsigned int targetID ); 45 45 Chat( uint8_t* data, unsigned int clientID ); 46 46 -
code/branches/output/src/modules/gametypes/RaceCheckPoint.cc
r8822 r8829 32 32 #include "core/CoreIncludes.h" 33 33 #include "core/XMLPort.h" 34 #include " network/Host.h"34 #include "chat/ChatManager.h" 35 35 #include "SpaceRace.h" 36 36 … … 112 112 + " seconds to reach the check point " + multi_cast<std::string>(this->bCheckpointIndex_+1); 113 113 const_cast<GametypeInfo*>(gametype->getGametypeInfo())->sendAnnounceMessage(message); 114 Host::Broadcast(message);114 ChatManager::message(message); 115 115 } 116 116 } -
code/branches/output/src/modules/gametypes/SpaceRace.cc
r8822 r8829 30 30 31 31 #include "core/CoreIncludes.h" 32 #include " network/Host.h"33 #include <util/Clock.h>34 #include <util/Math.h>32 #include "chat/ChatManager.h" 33 #include "util/Clock.h" 34 #include "util/Math.h" 35 35 #include "util/Convert.h" 36 36 … … 60 60 + " before the time limit. You lose!"; 61 61 const_cast<GametypeInfo*>(this->getGametypeInfo())->sendAnnounceMessage(message); 62 Host::Broadcast(message);62 ChatManager::message(message); 63 63 } 64 64 else … … 70 70 + "." + multi_cast<std::string>(ms) + " seconds."; 71 71 const_cast<GametypeInfo*>(this->getGametypeInfo())->sendAnnounceMessage(message); 72 Host::Broadcast(message);72 ChatManager::message(message); 73 73 /* 74 74 float time = this->clock_.getSecondsPrecise(); … … 86 86 87 87 std::string message("The match has started! Reach the check points as quickly as possible!"); 88 Host::Broadcast(message);88 ChatManager::message(message); 89 89 } 90 90 … … 99 99 + " seconds."; 100 100 const_cast<GametypeInfo*>(this->getGametypeInfo())->sendAnnounceMessage(message); 101 Host::Broadcast(message);101 ChatManager::message(message); 102 102 } 103 103 -
code/branches/output/src/modules/overlays/hud/ChatOverlay.cc
r8826 r8829 67 67 } 68 68 69 void ChatOverlay::incomingChat(const std::string& message, unsigned int senderID)69 void ChatOverlay::incomingChat(const std::string& message, const std::string& /*name*/) 70 70 { 71 std::string text = message; 72 73 if (senderID != NETWORK_PEER_ID_UNKNOWN) 74 { 75 PlayerInfo* player = PlayerManager::getInstance().getClient(senderID); 76 if (player) 77 text = player->getName() + ": " + message; 78 } 79 80 this->messages_.push_back(multi_cast<Ogre::DisplayString>(text)); 71 this->messages_.push_back(multi_cast<Ogre::DisplayString>(message)); 81 72 82 73 Timer* timer = new Timer(); -
code/branches/output/src/modules/overlays/hud/ChatOverlay.h
r6417 r8829 35 35 #include <OgreOverlayElement.h> 36 36 37 #include " network/ChatListener.h"37 #include "chat/ChatListener.h" 38 38 #include "overlays/OverlayText.h" 39 39 … … 49 49 50 50 protected: 51 virtual void incomingChat(const std::string& message, unsigned int senderID);51 virtual void incomingChat(const std::string& message, const std::string& name); 52 52 53 53 std::list<Ogre::DisplayString> messages_; -
code/branches/output/src/orxonox/OrxonoxPrereqs.h
r8351 r8829 77 77 class Radar; 78 78 class Scene; 79 80 // chat 81 class ChatHistory; 82 class ChatInputHandler; 83 class ChatListener; 84 class ChatManager; 79 85 80 86 // collisionshapes -
code/branches/output/src/orxonox/chat/CMakeLists.txt
r8828 r8829 2 2 ChatHistory.cc 3 3 ChatInputHandler.cc 4 ChatManager.cc 4 5 ) -
code/branches/output/src/orxonox/chat/ChatHistory.cc
r8828 r8829 74 74 75 75 /* react to incoming chat */ 76 void ChatHistory::incomingChat(const std::string& message, 77 unsigned int senderID) 76 void ChatHistory::incomingChat(const std::string& message, const std::string& /*name*/) 78 77 { 79 /* --> a) look up the actual name of the sender */80 std::string text = message;81 82 #ifndef CHATTEST83 /* get sender ID and prepend it to the message */84 if (senderID != NETWORK_PEER_ID_UNKNOWN)85 {86 PlayerInfo* player = PlayerManager::getInstance().getClient(senderID);87 if (player)88 text = player->getName() + ": " + message;89 }90 #endif91 92 78 /* add the line to the history */ 93 this->chat_hist_addline( text);79 this->chat_hist_addline( message ); 94 80 95 81 /* add the line to the log */ 96 this->chat_hist_logline( text);82 this->chat_hist_logline( message ); 97 83 } 98 84 -
code/branches/output/src/orxonox/chat/ChatHistory.h
r8828 r8829 37 37 38 38 #ifndef CHATTEST 39 #include <OrxonoxPrereqs.h> 40 #include <PlayerManager.h> 41 #include <infos/PlayerInfo.h> 42 #include <core/BaseObject.h> 43 #include <network/ChatListener.h> 44 #include <core/PathConfig.h> 45 #include <util/Singleton.h> 39 #include "OrxonoxPrereqs.h" 40 41 #include "util/Singleton.h" 42 #include "core/BaseObject.h" 43 #include "core/PathConfig.h" 44 #include "chat/ChatListener.h" 45 #include "infos/PlayerInfo.h" 46 #include "PlayerManager.h" 46 47 #endif 47 48 … … 82 83 * \param senderID Identification number of the sender 83 84 */ 84 virtual void incomingChat(const std::string& message, 85 unsigned int senderID); 85 virtual void incomingChat(const std::string& message, const std::string& name); 86 86 87 87 /** Synchronize logfile onto the hard drive -
code/branches/output/src/orxonox/chat/ChatInputHandler.cc
r8828 r8829 44 44 #include "core/input/InputManager.h" 45 45 #include "core/input/InputState.h" 46 #include "network/Host.h" 47 46 47 #include "chat/ChatManager.h" 48 48 #include "PlayerManager.h" 49 49 #include "infos/PlayerInfo.h" … … 213 213 214 214 /* handle incoming chat */ 215 void ChatInputHandler::incomingChat(const std::string& message, 216 unsigned int senderID) 217 { 218 /* look up the actual name of the sender */ 219 std::string text = message; 220 std::string name = ""; 221 222 /* setup player name info */ 223 if (senderID != NETWORK_PEER_ID_UNKNOWN) 224 { 225 PlayerInfo* player = PlayerManager::getInstance().getClient(senderID); 226 if (player) 227 { 228 name = player->getName(); 229 text = name + ": " + message; 230 } 231 } 232 215 void ChatInputHandler::incomingChat(const std::string& message, const std::string& name) 216 { 233 217 /* create item */ 234 CEGUI::ListboxTextItem *toadd = new CEGUI::ListboxTextItem( text);218 CEGUI::ListboxTextItem *toadd = new CEGUI::ListboxTextItem( message ); 235 219 236 220 /* setup colors */ … … 320 304 321 305 /* c) send the chat via some call */ 322 Host::Chat( msgtosend );306 ChatManager::chat( msgtosend ); 323 307 324 308 /* d) stop listening to input - only if this is not fullchat */ -
code/branches/output/src/orxonox/chat/ChatInputHandler.h
r8828 r8829 30 30 #define _ChatInputHandler_H__ 31 31 32 #include <OrxonoxPrereqs.h>32 #include "OrxonoxPrereqs.h" 33 33 34 34 #include <string> … … 37 37 38 38 #include "util/Singleton.h" 39 #include " network/ChatListener.h"39 #include "chat/ChatListener.h" 40 40 41 41 namespace orxonox // tolua_export … … 112 112 * history window of the full chat window) 113 113 */ 114 void incomingChat( const std::string& message, 115 unsigned int senderID ); 114 void incomingChat(const std::string& message, const std::string& name); 116 115 117 116 /** \param full true means show full chat window with history, -
code/branches/output/src/orxonox/gametypes/Asteroids.cc
r8822 r8829 30 30 31 31 #include "core/CoreIncludes.h" 32 #include " network/Host.h"32 #include "chat/ChatManager.h" 33 33 #include "worldentities/pawns/Pawn.h" 34 34 … … 74 74 75 75 std::string message("The match has started! Reach the first chekpoint within 15 seconds! But be aware, there may be pirates around..."); 76 Host::Broadcast(message);76 ChatManager::message(message); 77 77 78 78 } … … 83 83 84 84 std::string message("The match has ended."); 85 Host::Broadcast(message);85 ChatManager::message(message); 86 86 } 87 87 } -
code/branches/output/src/orxonox/gametypes/Deathmatch.cc
r8822 r8829 30 30 31 31 #include "core/CoreIncludes.h" 32 #include " network/Host.h"32 #include "chat/ChatManager.h" 33 33 #include "infos/PlayerInfo.h" 34 34 #include "worldentities/pawns/Pawn.h" … … 48 48 49 49 std::string message("The match has started!"); 50 Host::Broadcast(message);50 ChatManager::message(message); 51 51 } 52 52 … … 56 56 57 57 std::string message("The match has ended."); 58 Host::Broadcast(message);58 ChatManager::message(message); 59 59 } 60 60 … … 64 64 65 65 const std::string& message = player->getName() + " entered the game"; 66 Host::Broadcast(message);66 ChatManager::message(message); 67 67 } 68 68 … … 74 74 { 75 75 const std::string& message = player->getName() + " left the game"; 76 Host::Broadcast(message);76 ChatManager::message(message); 77 77 } 78 78 … … 87 87 { 88 88 const std::string& message = player->getOldName() + " changed name to " + player->getName(); 89 Host::Broadcast(message);89 ChatManager::message(message); 90 90 } 91 91 … … 108 108 message = victim->getPlayer()->getName() + " died"; 109 109 110 Host::Broadcast(message);110 ChatManager::message(message); 111 111 } 112 112 … … 121 121 { 122 122 const std::string& message = player->getName() + " scores!"; 123 Host::Broadcast(message);123 ChatManager::message(message); 124 124 } 125 125 } -
code/branches/output/src/orxonox/gametypes/Dynamicmatch.cc
r8822 r8829 49 49 #include "core/CoreIncludes.h" 50 50 #include "core/command/Executor.h" 51 #include " network/Host.h"51 #include "chat/ChatManager.h" 52 52 #include "infos/PlayerInfo.h" 53 53 #include "worldentities/pawns/Pawn.h" … … 343 343 Gametype::playerEntered(player); 344 344 const std::string& message = player->getName() + " entered the game"; 345 Host::Broadcast(message);345 ChatManager::message(message); 346 346 } 347 347 … … 358 358 } 359 359 const std::string& message = player->getName() + " left the game"; 360 Host::Broadcast(message);360 ChatManager::message(message); 361 361 //remove player from map 362 362 playerParty_.erase (player); … … 615 615 { 616 616 const std::string& message = player->getOldName() + " changed name to " + player->getName(); 617 Host::Broadcast(message);617 ChatManager::message(message); 618 618 } 619 619 … … 627 627 { 628 628 std::string message("Dynamicmatch started!"); 629 Host::Broadcast(message);629 ChatManager::message(message); 630 630 } 631 631 else if(tutorial) // Announce selectionphase … … 643 643 { 644 644 std::string message("Earn points:\n\n\n\tIf you're red: Chase the blue player!\n\n\tIf you're blue shoot at a red player or hide.\n\n\tIf you're green: You've got the licence to kill red players!"); 645 Host::Broadcast(message);645 ChatManager::message(message); 646 646 callInstructions_.setTimer(10, false, createExecutor(createFunctor(&Dynamicmatch::furtherInstructions, this))); 647 647 } … … 650 650 { 651 651 std::string message("After 3 Minutes the game is over."); 652 Host::Broadcast(message);652 ChatManager::message(message); 653 653 }*/ 654 654 void Dynamicmatch::end() … … 657 657 658 658 std::string message("Time out. Press F2 to see the points you scored."); 659 Host::Broadcast(message);659 ChatManager::message(message); 660 660 } 661 661 SpawnPoint* Dynamicmatch::getBestSpawnPoint(PlayerInfo* player) const -
code/branches/output/src/orxonox/gametypes/LastManStanding.cc
r8822 r8829 30 30 31 31 #include "core/CoreIncludes.h" 32 #include " network/Host.h"32 #include "chat/ChatManager.h" 33 33 #include "infos/PlayerInfo.h" 34 34 #include "worldentities/pawns/Pawn.h" … … 105 105 this->playersAlive--; 106 106 const std::string& message = victim->getPlayer()->getName() + " has lost all lives"; 107 Host::Broadcast(message);107 ChatManager::message(message); 108 108 } 109 109 -
code/branches/output/src/orxonox/gametypes/LastTeamStanding.cc
r8822 r8829 30 30 31 31 #include "core/CoreIncludes.h" 32 #include "network/NetworkPrereqs.h" 33 #include "network/Host.h" 32 #include "chat/ChatManager.h" 34 33 #include "infos/PlayerInfo.h" 35 34 #include "worldentities/pawns/Pawn.h" … … 119 118 this->teamsAlive--; 120 119 const std::string& message = victim->getPlayer()->getName() + " has lost all lives"; 121 Host::Broadcast(message);120 ChatManager::message(message); 122 121 } 123 122 return allow; -
code/branches/output/src/orxonox/gametypes/UnderAttack.cc
r8822 r8829 32 32 #include "core/CoreIncludes.h" 33 33 #include "core/ConfigValueIncludes.h" 34 #include " network/Host.h"34 #include "chat/ChatManager.h" 35 35 #include "worldentities/pawns/Destroyer.h" 36 36 #include "infos/PlayerInfo.h" … … 70 70 this->end(); //end gametype 71 71 std::string message("Ship destroyed! Team 0 has won!"); 72 Host::Broadcast(message);72 ChatManager::message(message); 73 73 this->gameEnded_ = true; 74 74 … … 152 152 this->end(); 153 153 std::string message("Time is up! Team 1 has won!"); 154 Host::Broadcast(message);154 ChatManager::message(message); 155 155 156 156 for (std::map<PlayerInfo*, int>::iterator it = this->teamnumbers_.begin(); it != this->teamnumbers_.end(); ++it) … … 171 171 const std::string& message = multi_cast<std::string>(timesequence_) + " seconds left!"; 172 172 /* 173 Host::Broadcast(message);173 ChatManager::message(message); 174 174 */ 175 175 this->gtinfo_->sendAnnounceMessage(message);
Note: See TracChangeset
for help on using the changeset viewer.