

Dialog is const class only sound is lazy loaded.
Definition at line 14 of file Dialog.h.
Public Member Functions | |
| Dialog (const std::string &lang, const std::string &soundfile, const std::string &subtitle) | |
| Create new dialog.   | |
| virtual | ~Dialog () | 
| bool | isSpeechless () const | 
| int | talk (int volume, int loops=0) const | 
| Run dialog.   | |
| virtual void | runSubtitle (const StringTool::t_args &args) const | 
| Override this method to run subtitles.   | |
| std::string | getLang () const | 
| std::string | getSubtitle () const | 
| std::string | getFormatedSubtitle (const StringTool::t_args &args) const | 
| Replace 1, 2, .   | |
| int | getMinTime () const | 
| Minimal time according subtitle length.   | |
| bool | equalSound (const Mix_Chunk *other) const | 
Static Public Attributes | |
| static const std::string | DEFAULT_LANG = "en" | 
      
  | 
  ||||||||||||||||
| 
 Create new dialog. Both sound file and subtitles are optional. Definition at line 23 of file Dialog.cpp. 00025     : m_soundfile(soundfile), m_lang(lang), m_subtitle(subtitle)
00026 {
00027     m_sound = NULL;
00028 }
  | 
  
      
  | 
  
| 
 
 Definition at line 30 of file Dialog.cpp. 00031 {
00032     if (m_sound) {
00033         Mix_FreeChunk(m_sound);
00034     }
00035 }
  | 
  
      
  | 
  
| 
 
 Definition at line 35 of file Dialog.h. 00036         { return m_sound == other; }
  | 
  
      
  | 
  
| 
 Replace 1, 2, . .. with the arguments. NOTE: 0 is not expanded Definition at line 72 of file Dialog.cpp. 00073 {
00074     std::string buffer = m_subtitle;
00075     for (unsigned int i = 1; i < args.size(); ++i) {
00076         StringTool::replace(buffer,
00077                 "%" + StringTool::toString(i), args[i]);
00078     }
00079     return buffer;
00080 }
  | 
  
      
  | 
  
| 
 
 Definition at line 30 of file Dialog.h. 00030 { return m_lang; }
  | 
  
      
  | 
  
| 
 Minimal time according subtitle length. 
 
 Definition at line 87 of file Dialog.cpp. 00088 {
00089     return min(180, m_subtitle.size());
00090 }
  | 
  
      
  | 
  
| 
 
 Definition at line 31 of file Dialog.h. 00031 { return m_subtitle; }
  | 
  
      
  | 
  
| 
 
 Definition at line 27 of file Dialog.h. 00027 { return m_soundfile.empty(); }
  | 
  
      
  | 
  
| 
 Override this method to run subtitles. 
 Reimplemented in FishDialog. Definition at line 61 of file Dialog.cpp. 00062 {
00063     LOG_INFO(ExInfo("subtitle")
00064             .addInfo("content", getFormatedSubtitle(args)));
00065 }
  | 
  
      
  | 
  ||||||||||||
| 
 Run dialog. Do lazy loading of sound. 
 
 
 Definition at line 46 of file Dialog.cpp. 00047 {
00048     if (NULL == m_sound && !m_soundfile.empty()) {
00049         Path soundPath = Path::dataReadPath(m_soundfile);
00050         m_sound = ResSoundPack::loadSound(soundPath);
00051     }
00052 
00053     int channel = SoundAgent::agent()->playSound(m_sound, volume, loops);
00054     return channel;
00055 }
  | 
  
      
  | 
  
| 
 
 Definition at line 17 of file Dialog.cpp.  | 
  
 1.4.2