void Creature::initAsPC(const CharacterGenerationInfo &chargenInfo, const CreatureInfo &info) { _name = chargenInfo.getName(); _usable = false; _isPC = true; _race = kRaceHuman; _subRace = kSubRaceNone; _gender = chargenInfo.getGender(); switch (_gender) { case kGenderMale: case kGenderFemale: break; default: throw Common::Exception("Unknown gender"); } _info = info; _skin = chargenInfo.getSkin(); _face = chargenInfo.getFace(); reloadEquipment(); loadEquippedModel(); }
void CharacterGeneration::showName() { CharacterGenerationInfo info = *_chargenInfo; _charGenMenu.reset(new CharacterGenerationNameMenu(info)); sub(*_charGenMenu, kStartCodeNone, true, false); if (_charGenMenu->isAccepted()) { _step += 1; _chargenInfo->setName(info.getName()); getLabel("LBL_NAME")->setText(_chargenInfo->getName()); } }
void CharacterGenerationMenu::showName() { // Operate on a copy of the character object CharacterGenerationInfo info = *_pc; _charGenMenu.reset(new CharacterGenerationNameMenu(info)); sub(*_charGenMenu); if (_charGenMenu->isAccepted()) { *_pc = info; getLabel("LBL_NAME")->setText(info.getName()); _step += 1; } }
void CharacterGeneration::showPortrait() { CharacterGenerationInfo info = *_chargenInfo; _charGenMenu.reset(new CharacterGenerationPortraitMenu(info)); sub(*_charGenMenu); if (_charGenMenu->isAccepted()) { _step += 1; _chargenInfo->setFace(info.getFace()); _chargenInfo->setSkin(info.getSkin()); getLabel("PORTRAIT_LBL")->setFill(_chargenInfo->getPortrait()); } }