CTownHandler.cpp 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #include "stdafx.h"
  2. #include "CTownHandler.h"
  3. #include "CGameInfo.h"
  4. #include "CLodHandler.h"
  5. #include <sstream>
  6. CTownHandler::CTownHandler()
  7. {
  8. smallIcons = CGI->spriteh->giveDef("ITPA.DEF");
  9. }
  10. CTownHandler::~CTownHandler()
  11. {
  12. delete smallIcons;
  13. }
  14. void CTownHandler::loadNames()
  15. {
  16. std::istringstream ins;
  17. ins.str(CGI->bitmaph->getTextFile("TOWNTYPE.TXT"));
  18. while (!ins.eof())
  19. {
  20. CTown town;
  21. ins >> town.name;
  22. town.bonus=towns.size();
  23. if (town.bonus==8) town.bonus=3;
  24. if (town.name.length())
  25. towns.push_back(town);
  26. }
  27. }
  28. SDL_Surface * CTownHandler::getPic(int ID, bool fort, bool builded)
  29. {
  30. if (ID==-1)
  31. return smallIcons->ourImages[0].bitmap;
  32. else if (ID==-2)
  33. return smallIcons->ourImages[1].bitmap;
  34. else if (ID==-3)
  35. return smallIcons->ourImages[2+F_NUMBER*4].bitmap;
  36. else if (ID>F_NUMBER || ID<-3)
  37. throw new std::exception("Invalid ID");
  38. else
  39. {
  40. int pom = 3;
  41. if(!fort)
  42. pom+=F_NUMBER*2;
  43. pom += ID*2;
  44. if (!builded)
  45. pom--;
  46. return smallIcons->ourImages[pom].bitmap;
  47. }
  48. }