mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-01-15 17:19:56 +00:00
9f2408473f
The setting of time-related values was previously handled directly in OpenMW's World class. It is now handled in OpenMW's DateTimeManager class instead when the variable names passed to World's setGlobalInt() and setGlobalFloat() are time-related.
43 lines
966 B
C++
43 lines
966 B
C++
#ifndef GAME_MWWORLD_DATETIMEMANAGER_H
|
|
#define GAME_MWWORLD_DATETIMEMANAGER_H
|
|
|
|
#include <string>
|
|
|
|
namespace ESM
|
|
{
|
|
struct EpochTimeStamp;
|
|
}
|
|
|
|
namespace MWWorld
|
|
{
|
|
class Globals;
|
|
class TimeStamp;
|
|
|
|
class DateTimeManager
|
|
{
|
|
int mDaysPassed = 0;
|
|
int mDay = 0;
|
|
int mMonth = 0;
|
|
int mYear = 0;
|
|
float mGameHour = 0.f;
|
|
float mTimeScale = 0.f;
|
|
|
|
void setHour(double hour);
|
|
void setDay(int day);
|
|
void setMonth(int month);
|
|
|
|
public:
|
|
std::string getMonthName(int month) const;
|
|
TimeStamp getTimeStamp() const;
|
|
ESM::EpochTimeStamp getEpochTimeStamp() const;
|
|
float getTimeScaleFactor() const;
|
|
|
|
void advanceTime(double hours, Globals& globalVariables);
|
|
|
|
void setup(Globals& globalVariables);
|
|
bool updateGlobalInt(const std::string& name, int value);
|
|
bool updateGlobalFloat(const std::string& name, float value);
|
|
};
|
|
}
|
|
|
|
#endif
|