Globals.cpp 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #define variable
  2. #include "Globals.h"
  3. #include <Text.h>
  4. #include "AddServerMenu.h"
  5. #include "Game.h"
  6. #include "Load.h"
  7. #include "ServerSelection.h"
  8. void initVariables()
  9. {
  10. dlls = new DLLRegister();
  11. menuRegister = new HashMap<Framework::Text, Framework::RCPointer<Menu>>(
  12. 10, [](Text txt) { return txt.hashCode(); });
  13. fontRegister = new HashMap<Framework::Text, Framework::RCPointer<Schrift>>(
  14. 10, [](Text txt) { return txt.hashCode(); });
  15. window = 0;
  16. blockTypes = 0;
  17. blockTypeCount = 0;
  18. itemTypes = 0;
  19. itemTypeCount = 0;
  20. entityTypes = 0;
  21. entityTypeCount = 0;
  22. }
  23. void initMenus()
  24. {
  25. menuRegister->put("load",
  26. RCPointer<Menu>::of(new LoadMenu(uiFactory.initParam.bildschirm)));
  27. menuRegister->put("serverSelection",
  28. RCPointer<Menu>::of(
  29. new ServerSelectionMenu(uiFactory.initParam.bildschirm)));
  30. menuRegister->put("addServer",
  31. RCPointer<Menu>::of(new AddServerMenu(uiFactory.initParam.bildschirm)));
  32. menuRegister->put(
  33. "game", RCPointer<Menu>::of(new Game(uiFactory.initParam.bildschirm)));
  34. menuRegister->get("load")->show();
  35. }
  36. void releaseVariables()
  37. {
  38. if (World::INSTANCE) World::INSTANCE->release();
  39. menuRegister->release();
  40. fontRegister->release();
  41. dlls->release();
  42. for (int i = 0; i < blockTypeCount; i++)
  43. blockTypes[i]->release();
  44. delete[] blockTypes;
  45. for (int i = 0; i < itemTypeCount; i++)
  46. itemTypes[i]->release();
  47. delete[] itemTypes;
  48. for (int i = 0; i < entityTypeCount; i++)
  49. entityTypes[i]->release();
  50. delete[] entityTypes;
  51. blockTypes = 0;
  52. blockTypeCount = 0;
  53. itemTypes = 0;
  54. itemTypeCount = 0;
  55. entityTypes = 0;
  56. entityTypeCount = 0;
  57. }
  58. const ItemType* zItemType(int id)
  59. {
  60. for (int i = 0; i < itemTypeCount; i++)
  61. if (itemTypes[i]->getId() == id) return itemTypes[i];
  62. return 0;
  63. }