1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-26 22:57:00 +02:00
vcmi/lib/TurnTimerInfo.h
Ivan Savenko 0c07384293 Refactoring of serialization versioning handling
- Removed 'version' field from serialize() method
- Handler classes - Binary(De)Serializer now have 'version' field
- Serialization versioning now uses named enum

Save compatibility with 1.4.X saves should be intact
2024-01-20 20:34:51 +02:00

51 lines
1.2 KiB
C++

/*
* TurnTimerInfo.h, part of VCMI engine
*
* Authors: listed in file AUTHORS in main folder
*
* License: GNU General Public License v2.0 or later
* Full text of license available in license.txt file, in main folder
*
*/
#pragma once
VCMI_LIB_NAMESPACE_BEGIN
struct DLL_LINKAGE TurnTimerInfo
{
int turnTimer = 0; //in ms, counts down when player is making his turn on adventure map
int baseTimer = 0; //in ms, counts down only when turn timer runs out
int battleTimer = 0; //in ms, counts down during battles when creature timer runs out
int unitTimer = 0; //in ms, counts down when player is choosing action in battle
bool accumulatingTurnTimer = false;
bool accumulatingUnitTimer = false;
bool isActive = false; //is being counting down
bool isBattle = false; //indicator for current timer mode
bool isEnabled() const;
bool isBattleEnabled() const;
void substractTimer(int timeMs);
int valueMs() const;
bool operator == (const TurnTimerInfo & other) const;
template <typename Handler>
void serialize(Handler &h)
{
h & turnTimer;
h & baseTimer;
h & battleTimer;
h & unitTimer;
h & accumulatingTurnTimer;
h & accumulatingUnitTimer;
h & isActive;
h & isBattle;
}
};
VCMI_LIB_NAMESPACE_END