Exit waiting at the correct time when the player is in air

pull/541/head
Capostrophic 6 years ago
parent 5266520e20
commit 272df29a12

@ -80,18 +80,18 @@ namespace MWGui
mTimeAdvancer.eventInterrupted += MyGUI::newDelegate(this, &WaitDialog::onWaitingInterrupted);
mTimeAdvancer.eventFinished += MyGUI::newDelegate(this, &WaitDialog::onWaitingFinished);
}
void WaitDialog::onReferenceUnavailable ()
{
MWBase::Environment::get().getWindowManager()->removeGuiMode(GM_Rest);
resetReference();
}
void WaitDialog::setPtr(const MWWorld::Ptr &ptr)
{
mPtr = ptr;
setCanRest(!mPtr.isEmpty() || MWBase::Environment::get().getWorld ()->canRest () == MWBase::World::Rest_Allowed);
setCanRest(!ptr.isEmpty() || MWBase::Environment::get().getWorld ()->canRest () == MWBase::World::Rest_Allowed);
if (ptr.isEmpty() && MWBase::Environment::get().getWorld ()->canRest() == MWBase::World::Rest_PlayerIsInAir)
{
// Resting in air is not allowed unless you're using a bed
MWBase::Environment::get().getWindowManager()->messageBox ("#{sNotifyMessage1}");
MWBase::Environment::get().getWindowManager()->removeGuiMode(GM_Rest);
}
if (mUntilHealedButton->getVisible())
MWBase::Environment::get().getWindowManager()->setKeyFocusWidget(mUntilHealedButton);
else
@ -107,7 +107,6 @@ namespace MWGui
{
mSleeping = false;
mTimeAdvancer.stop();
resetReference();
}
void WaitDialog::onOpen()
@ -141,12 +140,6 @@ namespace MWGui
MWBase::Environment::get().getWindowManager()->messageBox ("#{sNotifyMessage1}");
MWBase::Environment::get().getWindowManager()->popGuiMode ();
}
else if (mPtr.isEmpty() && canRest == MWBase::World::Rest_PlayerIsInAir)
{
// Resting in air is not allowed either, unless you're using a bed
MWBase::Environment::get().getWindowManager()->messageBox ("#{sNotifyMessage1}");
MWBase::Environment::get().getWindowManager()->popGuiMode ();
}
onHourSliderChangedPosition(mHourSlider, 0);
mHourSlider->setScrollPosition (0);
@ -303,8 +296,6 @@ namespace MWGui
void WaitDialog::onFrame(float dt)
{
checkReferenceAvailable();
mTimeAdvancer.onFrame(dt);
if (mFadeTimeRemaining <= 0)

@ -4,7 +4,6 @@
#include "timeadvancer.hpp"
#include "windowbase.hpp"
#include "referenceinterface.hpp"
namespace MWGui
{
@ -23,7 +22,7 @@ namespace MWGui
MyGUI::TextBox* mProgressText;
};
class WaitDialog : public WindowBase, public ReferenceInterface
class WaitDialog : public WindowBase
{
public:
WaitDialog();
@ -64,8 +63,6 @@ namespace MWGui
WaitDialogProgressBar mProgressBar;
virtual void onReferenceUnavailable();
void onUntilHealedButtonClicked(MyGUI::Widget* sender);
void onWaitButtonClicked(MyGUI::Widget* sender);
void onCancelButtonClicked(MyGUI::Widget* sender);

Loading…
Cancel
Save