本文整理汇总了C++中Person::addTalent方法的典型用法代码示例。如果您正苦于以下问题:C++ Person::addTalent方法的具体用法?C++ Person::addTalent怎么用?C++ Person::addTalent使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Person
的用法示例。
在下文中一共展示了Person::addTalent方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: processPerson
Person* DsaDataLoader::processPerson(DOMElement* personXml)
{
XMLCh* TALENT = XMLString::transcode("Talent");
XMLCh* ID = XMLString::transcode("ID");
XMLCh* ABGELEITETER_WERT = XMLString::transcode("AbgeleiteterWert");
XMLCh* EIGENSCHAFT = XMLString::transcode("Eigenschaft");
CeGuiString name =
XmlHelper::getValueAsUtf8(XmlHelper::getChildNamed(personXml, "Name"));
CeGuiString desc =
XmlHelper::getValueAsUtf8(XmlHelper::getChildNamed(personXml, "Beschreibung"));
Person* rval = new Person(name, desc);
// Eigenschaften laden
DOMNodeList* eigensch =
XmlHelper::getChildNamed(personXml, "Eigenschaften")->
getElementsByTagName(EIGENSCHAFT);
// Die Eigenschaftsnamen müssen durch ihre Abkürzung ersetzt werden.
for (unsigned int idx = 0; idx < eigensch->getLength(); idx++)
{
DOMElement* eigenschXml = reinterpret_cast<DOMElement*>(eigensch->item(idx));
CeGuiString eigName = XmlHelper::transcodeToString(eigenschXml->getAttribute(ID));
if (eigName == DsaManager::getSingleton().getEigenschaft(E_MUT)->getName())
eigName = DsaManager::getSingleton().getEigenschaft(E_MUT)->getNameAbbreviation();
if (eigName == DsaManager::getSingleton().getEigenschaft(E_KLUGHEIT)->getName())
eigName = DsaManager::getSingleton().getEigenschaft(E_KLUGHEIT)->getNameAbbreviation();
if (eigName == DsaManager::getSingleton().getEigenschaft(E_INTUITION)->getName())
eigName = DsaManager::getSingleton().getEigenschaft(E_INTUITION)->getNameAbbreviation();
if (eigName == DsaManager::getSingleton().getEigenschaft(E_CHARISMA)->getName())
eigName = DsaManager::getSingleton().getEigenschaft(E_CHARISMA)->getNameAbbreviation();
if (eigName == DsaManager::getSingleton().getEigenschaft(E_FINGERFERTIGKEIT)->getName())
eigName = DsaManager::getSingleton().getEigenschaft(E_FINGERFERTIGKEIT)->getNameAbbreviation();
if (eigName == DsaManager::getSingleton().getEigenschaft(E_GEWANDTHEIT)->getName())
eigName = DsaManager::getSingleton().getEigenschaft(E_GEWANDTHEIT)->getNameAbbreviation();
if (eigName == DsaManager::getSingleton().getEigenschaft(E_KONSTITUTION)->getName())
eigName = DsaManager::getSingleton().getEigenschaft(E_KONSTITUTION)->getNameAbbreviation();
if (eigName == DsaManager::getSingleton().getEigenschaft(E_KOERPERKRAFT)->getName())
eigName = DsaManager::getSingleton().getEigenschaft(E_KOERPERKRAFT)->getNameAbbreviation();
int wert = XmlHelper::getValueAsInteger(XmlHelper::getChildNamed(eigenschXml, "Wert"));
rval->setEigenschaft(eigName, wert);
}
// Abgeleitete Werte laden
DOMNodeList* werte =
XmlHelper::getChildNamed(personXml, "AbgeleiteteWerte")->
getElementsByTagName(ABGELEITETER_WERT);
for (unsigned int idx = 0; idx < werte->getLength(); idx++)
{
DOMElement* wertXml = reinterpret_cast<DOMElement*>(werte->item(idx));
int basis = XmlHelper::getValueAsInteger(XmlHelper::getChildNamed(wertXml, "Basiswert"));
int wert = XmlHelper::getValueAsInteger(XmlHelper::getChildNamed(wertXml, "Wert"));
char* wertId = XMLString::transcode(wertXml->getAttribute(ID));
if (strcmp(wertId, "Lebensenergie") == 0)
rval->setWert(WERT_MOD_LE, wert - basis);
else if (strcmp(wertId, "Ausdauer") == 0)
rval->setWert(WERT_MOD_AU, wert - basis);
else if (strcmp(wertId, "AttackeBasis") == 0)
rval->setWert(WERT_MOD_AT, wert - basis);
else if (strcmp(wertId, "ParadeBasis") == 0)
rval->setWert(WERT_MOD_PA, wert - basis);
else if (strcmp(wertId, "FernkampfBasis") == 0)
rval->setWert(WERT_MOD_FK, wert - basis);
else if (strcmp(wertId, "InitiativeBasis") == 0)
rval->setWert(WERT_MOD_INI, wert - basis);
else if (strcmp(wertId, "Magieresistenz") == 0)
rval->setWert(WERT_MOD_MR, wert - basis);
else if (strcmp(wertId, "Astralenergie") == 0)
rval->setWert(WERT_MOD_AE, wert - basis);
else if (strcmp(wertId, "Sozialstatus") == 0)
rval->setWert(WERT_SOZIALSTATUS, wert);
XMLString::release(&wertId);
}
// Talente laden
// Talente, die direkt unter <Person> angeordnet sind, ergeben bereits die zusammengefassten Werte
DOMNodeList* talente =
XmlHelper::getChildNamed(personXml, "Talente")->
getElementsByTagName(TALENT);
for (unsigned int idx = 0; idx < talente->getLength(); idx++)
{
DOMElement* talentXml = reinterpret_cast<DOMElement*>(talente->item(idx));
CeGuiString talentName = XmlHelper::transcodeToString(talentXml->getAttribute(ID));
Talent* tal =
DsaManager::getSingleton().getTalent(talentName);
rval->addTalent(talentName);
rval->setTalent(
talentName,
XmlHelper::getValueAsInteger(XmlHelper::getChildNamed(talentXml, "Wert")));
}
XMLString::release(&TALENT);
XMLString::release(&ID);
XMLString::release(&ABGELEITETER_WERT);
//.........这里部分代码省略.........