SiegeInfo.h 690 B

123456789101112131415161718192021222324252627282930313233
  1. /*
  2. * SiegeInfo.h, part of VCMI engine
  3. *
  4. * Authors: listed in file AUTHORS in main folder
  5. *
  6. * License: GNU General Public License v2.0 or later
  7. * Full text of license available in license.txt file, in main folder
  8. *
  9. */
  10. #pragma once
  11. #include "../GameConstants.h"
  12. VCMI_LIB_NAMESPACE_BEGIN
  13. //only for use in BattleInfo
  14. struct DLL_LINKAGE SiegeInfo
  15. {
  16. std::map<EWallPart, EWallState> wallState;
  17. EGateState gateState;
  18. SiegeInfo();
  19. // return EWallState decreased by value of damage points
  20. static EWallState applyDamage(EWallState state, unsigned int value);
  21. template <typename Handler> void serialize(Handler &h)
  22. {
  23. h & wallState;
  24. h & gateState;
  25. }
  26. };
  27. VCMI_LIB_NAMESPACE_END