void Quest::load(Json::Value& questTree) { name = questTree[NAME_ATTRIBUTE].asString(); Json::Value& descriptionElement = questTree[DESCRIPTION_ELEMENT]; description = descriptionElement.isString() ? descriptionElement.asString() : ""; completed = questTree[COMPLETED_ATTRIBUTE].asBool(); optional = questTree[OPTIONAL_ATTRIBUTE].asBool(); Json::Value& subquestNode = questTree[QUEST_ELEMENT]; for(Json::Value::iterator iter = subquestNode.begin(); iter != subquestNode.end(); ++iter) { Quest* subquest = new Quest(*iter); subquests[subquest->getName()] = subquest; } }
void JournalWindow::selectQuest(CEGUI::ListboxItem* item) { if (item == NULL) { mQuestDescription->setText(""); mQuestState->setText(""); mQuestTitle->setText(""); } else { Quest* quest = static_cast<Quest*>(item->getUserData()); mQuestState->setText(quest->getStateName()); mQuestTitle->setText(quest->getName()); mQuestDescription->setText(quest->getDescription()); } }