32#ifndef RCSC_PLAYER_AUDIO_SENSOR_H
33#define RCSC_PLAYER_AUDIO_SENSOR_H
45#include <unordered_map>
60 typedef std::unordered_map< char, SayMessageParser::Ptr > ParserMap;
61 typedef std::unordered_map< std::string, FreeformMessageParser::Ptr > FreeformParserMap;
64 ParserMap M_say_message_parsers;
67 FreeformParserMap M_freeform_parsers;
73 std::list< HearMessage > M_teammate_messages;
79 std::list< HearMessage > M_opponent_messages;
85 std::string M_freeform_message;
91 std::string M_trainer_message;
97 std::string M_clang_message;
162 return M_teammate_message_time;
171 return M_teammate_messages;
180 return M_opponent_message_time;
189 return M_opponent_messages;
199 return M_freeform_message_time;
208 return M_freeform_message;
217 return M_trainer_message_time;
226 return M_trainer_message;
245 return M_clang_message;
254 return M_clang_parser;
262 void parseTeammateMessage(
const HearMessage & message );
268 void buildFreeformMessage(
const char * msg );
274 bool parseFreeformMessage();
281 void buildCLangMessage(
const char * msg );
287 bool parseCLangMessage();
abstract audio message parser Header File
clang parser class Header File
processor for players' communication
Definition: audio_sensor.h:56
void parseCoachMessage(const char *msg, const GameTime ¤t)
analyze message from online coach
void parseTrainerMessage(const char *msg, const GameTime ¤t)
analyze trainer's audio message
const GameTime & freeformMessageTime() const
get the time when last freeform message is received
Definition: audio_sensor.h:197
void removeSayMessageParser(const char header)
remove registered parser object
const CLangParser & clangParser() const
get the clang parser object
Definition: audio_sensor.h:252
const std::list< HearMessage > & opponentMessages() const
get the last received opponent messages
Definition: audio_sensor.h:187
const GameTime & opponentMessageTime() const
get time when opponent message is received
Definition: audio_sensor.h:178
void removeFreeformMessageParser(const std::string &type)
remove registerd freeform parser object
void addSayMessageParser(SayMessageParser::Ptr parser)
add new player message parer.
const GameTime & teammateMessageTime() const
get time when teammate message is received
Definition: audio_sensor.h:160
void parsePlayerMessage(const char *msg, const GameTime ¤t)
analyze other player's audio message
const GameTime & trainerMessageTime() const
get the time when last freeform message is received
Definition: audio_sensor.h:215
AudioSensor()
init member variables by default value
const std::string & freeformMessage() const
get the last received freeform message
Definition: audio_sensor.h:206
const std::string & trainerMessage() const
get the last received trainer message info
Definition: audio_sensor.h:224
void addFreeformMessageParser(FreeformMessageParser::Ptr parser)
set new freeform message parer.
const std::list< HearMessage > & teammateMessages() const
get the last received teammate messages
Definition: audio_sensor.h:169
const std::string & clangMessage() const
get the last clang message
Definition: audio_sensor.h:243
const GameTime & clangTime() const
get the time when last clang is received.
Definition: audio_sensor.h:233
clang message parser
Definition: clang_parser.h:46
game time object
Definition: game_time.h:43
std::shared_ptr< SayMessageParser > Ptr
pointer type alias
Definition: say_message_parser.h:54
game time depending on RCSSServer2D Header File
player's say message parser Header File
player message instance
Definition: audio_message.h:48
the type definition set for the RCSSServer2D
2d vector class Header File.