CScenarioInfoScreen.cpp 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. /*
  2. * CScenarioInfoScreen.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 "CScenarioInfoScreen.h"
  12. #include "OptionsTab.h"
  13. #include "../CGameInfo.h"
  14. #include "../CPlayerInterface.h"
  15. #include "../gui/CGuiHandler.h"
  16. #include "../gui/Shortcut.h"
  17. #include "../widgets/Buttons.h"
  18. #include "../../CCallback.h"
  19. #include "../../lib/texts/CGeneralTextHandler.h"
  20. #include "../../lib/StartInfo.h"
  21. #include "../../lib/mapping/CMapInfo.h"
  22. #include "../../lib/mapping/CMapHeader.h"
  23. CScenarioInfoScreen::CScenarioInfoScreen()
  24. {
  25. OBJECT_CONSTRUCTION;
  26. pos.w = 800;
  27. pos.h = 600;
  28. pos = center();
  29. localSi = new StartInfo(*LOCPLINT->cb->getStartInfo());
  30. localMi = new CMapInfo();
  31. localMi->mapHeader = std::unique_ptr<CMapHeader>(new CMapHeader(*LOCPLINT->cb->getMapHeader()));
  32. screenType = ESelectionScreen::scenarioInfo;
  33. card = std::make_shared<InfoCard>();
  34. opt = std::make_shared<OptionsTab>();
  35. opt->recActions = UPDATE | SHOWALL;
  36. opt->recreate();
  37. card->changeSelection();
  38. card->iconDifficulty->setSelected(getCurrentDifficulty());
  39. buttonBack = std::make_shared<CButton>(Point(584, 535), AnimationPath::builtin("SCNRBACK.DEF"), CGI->generaltexth->zelp[105], [=](){ close();}, EShortcut::GLOBAL_CANCEL);
  40. }
  41. CScenarioInfoScreen::~CScenarioInfoScreen()
  42. {
  43. vstd::clear_pointer(localSi);
  44. vstd::clear_pointer(localMi);
  45. }
  46. const CMapInfo * CScenarioInfoScreen::getMapInfo()
  47. {
  48. return localMi;
  49. }
  50. const StartInfo * CScenarioInfoScreen::getStartInfo()
  51. {
  52. return localSi;
  53. }