1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-06 00:55:50 +00:00
OpenMW/apps/openmw/mwworld/timestamp.hpp
dteviot 407cd50890 fixed warning C4099:
type name first seen using 'class' now seen using 'struct'
2015-03-06 21:36:42 +13:00

53 lines
1.4 KiB
C++

#ifndef GAME_MWWORLD_TIMESTAMP_H
#define GAME_MWWORLD_TIMESTAMP_H
namespace ESM
{
struct TimeStamp;
}
namespace MWWorld
{
/// \brief In-game time stamp
///
/// This class is based on the global variables GameHour and DaysPassed.
class TimeStamp
{
float mHour;
int mDay;
public:
explicit TimeStamp (float hour = 0, int day = 0);
///< \param hour [0, 23)
/// \param day >=0
explicit TimeStamp (const ESM::TimeStamp& esm);
ESM::TimeStamp toEsm () const;
float getHour() const;
int getDay() const;
TimeStamp& operator+= (double hours);
///< \param hours >=0
};
bool operator== (const TimeStamp& left, const TimeStamp& right);
bool operator!= (const TimeStamp& left, const TimeStamp& right);
bool operator< (const TimeStamp& left, const TimeStamp& right);
bool operator<= (const TimeStamp& left, const TimeStamp& right);
bool operator> (const TimeStamp& left, const TimeStamp& right);
bool operator>= (const TimeStamp& left, const TimeStamp& right);
TimeStamp operator+ (const TimeStamp& stamp, double hours);
TimeStamp operator+ (double hours, const TimeStamp& stamp);
double operator- (const TimeStamp& left, const TimeStamp& right);
///< Returns the difference between \a left and \a right in in-game hours.
}
#endif