Globals.cpp 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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. LoadMenu *load = new LoadMenu(uiFactory.initParam.bildschirm);
  26. menuRegister->put("load",
  27. RCPointer<Menu>::of(load));
  28. menuRegister->put("serverSelection",
  29. RCPointer<Menu>::of(
  30. new ServerSelectionMenu(uiFactory.initParam.bildschirm)));
  31. menuRegister->put("addServer",
  32. RCPointer<Menu>::of(new AddServerMenu(uiFactory.initParam.bildschirm)));
  33. menuRegister->put(
  34. "game", RCPointer<Menu>::of(new Game(uiFactory.initParam.bildschirm)));
  35. menuRegister->get("load")->show();
  36. }
  37. void releaseVariables()
  38. {
  39. if (World::INSTANCE) World::INSTANCE->release();
  40. menuRegister->release();
  41. fontRegister->release();
  42. dlls->release();
  43. for (int i = 0; i < blockTypeCount; i++)
  44. blockTypes[i]->release();
  45. delete[] blockTypes;
  46. for (int i = 0; i < itemTypeCount; i++)
  47. itemTypes[i]->release();
  48. delete[] itemTypes;
  49. for (int i = 0; i < entityTypeCount; i++)
  50. entityTypes[i]->release();
  51. delete[] entityTypes;
  52. blockTypes = 0;
  53. blockTypeCount = 0;
  54. itemTypes = 0;
  55. itemTypeCount = 0;
  56. entityTypes = 0;
  57. entityTypeCount = 0;
  58. }
  59. const ItemType* zItemType(int id)
  60. {
  61. for (int i = 0; i < itemTypeCount; i++)
  62. if (itemTypes[i]->getId() == id) return itemTypes[i];
  63. return 0;
  64. }