forked from mirror/openmw-tes3mp
Player member variables in WindowManager are updated directly when a dialog finishes, needed for review dialog which is shown directly after another closes.
This commit is contained in:
parent
cf9b90386c
commit
81e83a0813
1 changed files with 15 additions and 10 deletions
|
@ -485,7 +485,8 @@ void WindowManager::onNameDialogDone()
|
||||||
{
|
{
|
||||||
if (nameDialog)
|
if (nameDialog)
|
||||||
{
|
{
|
||||||
environment.mMechanicsManager->setPlayerName(nameDialog->getTextInput());
|
playerName = nameDialog->getTextInput();
|
||||||
|
environment.mMechanicsManager->setPlayerName(playerName);
|
||||||
removeDialog(nameDialog);
|
removeDialog(nameDialog);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -504,9 +505,9 @@ void WindowManager::onRaceDialogDone()
|
||||||
{
|
{
|
||||||
if (raceDialog)
|
if (raceDialog)
|
||||||
{
|
{
|
||||||
const std::string &raceId = raceDialog->getRaceId();
|
playerRaceId = raceDialog->getRaceId();
|
||||||
if (!raceId.empty())
|
if (!playerRaceId.empty())
|
||||||
environment.mMechanicsManager->setPlayerRace(raceId, raceDialog->getGender() == RaceDialog::GM_Male);
|
environment.mMechanicsManager->setPlayerRace(playerRaceId, raceDialog->getGender() == RaceDialog::GM_Male);
|
||||||
removeDialog(raceDialog);
|
removeDialog(raceDialog);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -525,9 +526,9 @@ void WindowManager::onRaceDialogBack()
|
||||||
{
|
{
|
||||||
if (raceDialog)
|
if (raceDialog)
|
||||||
{
|
{
|
||||||
const std::string &raceId = raceDialog->getRaceId();
|
playerRaceId = raceDialog->getRaceId();
|
||||||
if (!raceId.empty())
|
if (!playerRaceId.empty())
|
||||||
environment.mMechanicsManager->setPlayerRace(raceId, raceDialog->getGender() == RaceDialog::GM_Male);
|
environment.mMechanicsManager->setPlayerRace(playerRaceId, raceDialog->getGender() == RaceDialog::GM_Male);
|
||||||
removeDialog(raceDialog);
|
removeDialog(raceDialog);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -665,6 +666,9 @@ void WindowManager::onPickClassDialogDone()
|
||||||
const std::string &classId = pickClassDialog->getClassId();
|
const std::string &classId = pickClassDialog->getClassId();
|
||||||
if (!classId.empty())
|
if (!classId.empty())
|
||||||
environment.mMechanicsManager->setPlayerClass(classId);
|
environment.mMechanicsManager->setPlayerClass(classId);
|
||||||
|
const ESM::Class *klass = environment.mWorld->getStore().classes.find(classId);
|
||||||
|
if (klass)
|
||||||
|
playerClass = *klass;
|
||||||
removeDialog(pickClassDialog);
|
removeDialog(pickClassDialog);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -718,6 +722,7 @@ void WindowManager::onCreateClassDialogDone()
|
||||||
klass.data.skills[i][0] = minorSkills[i];
|
klass.data.skills[i][0] = minorSkills[i];
|
||||||
}
|
}
|
||||||
environment.mMechanicsManager->setPlayerClass(klass);
|
environment.mMechanicsManager->setPlayerClass(klass);
|
||||||
|
playerClass = klass;
|
||||||
|
|
||||||
removeDialog(createClassDialog);
|
removeDialog(createClassDialog);
|
||||||
}
|
}
|
||||||
|
@ -745,9 +750,9 @@ void WindowManager::onBirthSignDialogDone()
|
||||||
{
|
{
|
||||||
if (birthSignDialog)
|
if (birthSignDialog)
|
||||||
{
|
{
|
||||||
const std::string birthSignId = birthSignDialog->getBirthId();
|
playerBirthSignId = birthSignDialog->getBirthId();
|
||||||
if (!birthSignId.empty())
|
if (!playerBirthSignId.empty())
|
||||||
environment.mMechanicsManager->setPlayerBirthsign(birthSignId);
|
environment.mMechanicsManager->setPlayerBirthsign(playerBirthSignId);
|
||||||
removeDialog(birthSignDialog);
|
removeDialog(birthSignDialog);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue