Configuration.cpp 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /*
  2. * Configuration.cpp, 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. #include "StdInc.h"
  11. #include "Configuration.h"
  12. #include "../serializer/JsonSerializeFormat.h"
  13. VCMI_LIB_NAMESPACE_BEGIN
  14. Rewardable::EVisitMode Rewardable::Configuration::getVisitMode() const
  15. {
  16. return static_cast<EVisitMode>(visitMode);
  17. }
  18. ui16 Rewardable::Configuration::getResetDuration() const
  19. {
  20. return resetParameters.period;
  21. }
  22. void Rewardable::ResetInfo::serializeJson(JsonSerializeFormat & handler)
  23. {
  24. handler.serializeInt("period", period);
  25. handler.serializeBool("visitors", visitors);
  26. handler.serializeBool("rewards", rewards);
  27. }
  28. void Rewardable::VisitInfo::serializeJson(JsonSerializeFormat & handler)
  29. {
  30. handler.serializeStruct("limiter", limiter);
  31. handler.serializeStruct("reward", reward);
  32. handler.serializeStruct("message", message);
  33. handler.serializeInt("visitType", visitType);
  34. }
  35. void Rewardable::Configuration::serializeJson(JsonSerializeFormat & handler)
  36. {
  37. handler.serializeStruct("onSelect", onSelect);
  38. handler.enterArray("info").serializeStruct(info);
  39. handler.serializeEnum("selectMode", selectMode, std::vector<std::string>{SelectModeString.begin(), SelectModeString.end()});
  40. handler.serializeEnum("visitMode", visitMode, std::vector<std::string>{VisitModeString.begin(), VisitModeString.end()});
  41. handler.serializeStruct("resetParameters", resetParameters);
  42. handler.serializeBool("canRefuse", canRefuse);
  43. handler.serializeInt("infoWindowType", infoWindowType);
  44. }
  45. VCMI_LIB_NAMESPACE_END