Globals.cpp 2.1 KB

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