mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-01-01 03:21:41 +00:00
59 lines
1.5 KiB
C++
59 lines
1.5 KiB
C++
#ifndef MWGUI_TRAININGWINDOW_H
|
|
#define MWGUI_TRAININGWINDOW_H
|
|
|
|
#include "referenceinterface.hpp"
|
|
#include "timeadvancer.hpp"
|
|
#include "waitdialog.hpp"
|
|
#include "windowbase.hpp"
|
|
|
|
namespace MWMechanics
|
|
{
|
|
class NpcStats;
|
|
}
|
|
|
|
namespace MWGui
|
|
{
|
|
|
|
class TrainingWindow : public WindowBase, public ReferenceInterface
|
|
{
|
|
public:
|
|
TrainingWindow();
|
|
|
|
void onOpen() override;
|
|
|
|
bool exit() override;
|
|
|
|
void setPtr(const MWWorld::Ptr& actor) override;
|
|
|
|
void onFrame(float dt) override;
|
|
|
|
WindowBase* getProgressBar() { return &mProgressBar; }
|
|
|
|
void clear() override { resetReference(); }
|
|
|
|
protected:
|
|
void onReferenceUnavailable() override;
|
|
|
|
void onCancelButtonClicked(MyGUI::Widget* sender);
|
|
void onTrainingSelected(MyGUI::Widget* sender);
|
|
|
|
void onTrainingProgressChanged(int cur, int total);
|
|
void onTrainingFinished();
|
|
|
|
// Retrieve the base skill value if the setting 'training skills based on base skill' is set;
|
|
// otherwise returns the modified skill
|
|
float getSkillForTraining(const MWMechanics::NpcStats& stats, int skillId) const;
|
|
|
|
MyGUI::Widget* mTrainingOptions;
|
|
MyGUI::Button* mCancelButton;
|
|
MyGUI::TextBox* mPlayerGold;
|
|
|
|
WaitDialogProgressBar mProgressBar;
|
|
TimeAdvancer mTimeAdvancer;
|
|
bool mTrainingSkillBasedOnBaseSkill; // corresponds to the setting 'training skills based on base skill'
|
|
};
|
|
|
|
}
|
|
|
|
#endif
|