Dialog *DialogManager::makeDialog() { reader.readNextStartElement();//<dialog> reader.readNextStartElement();//<dialogName> QString dialogName=reader.readElementText(); reader.readNextStartElement();//<spriteName> QString spriteName=reader.readElementText(); Dialog* dialog=new Dialog(spriteName); reader.readNextStartElement();//<sentenceNumber> int sentenceNumber=reader.readElementText().toInt(); dialog->setName(dialogName); for(int i=0;i<sentenceNumber;i++) { Sentence* sentence=makeSentence(); dialog->addSentence(sentence); } reader.readNextStartElement();//</dialog> return dialog; }
vector<string> makeSentences(string s) { vector<string> ret = split(s, {'.'}); for (auto& elem : ret) { trim(elem); elem = makeSentence(elem); } return ret; }
PlayerMessage::PlayerMessage(const char* t, Priority p) : text(makeSentence(t)), priority(p), freshness(1) {}