ModuleHandler.cs 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. using Microsoft.Xna.Framework;
  2. using Microsoft.Xna.Framework.Input;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. namespace FF8
  9. {
  10. internal static class ModuleHandler
  11. {
  12. private static int module = Memory.module;
  13. private static int lastModule = Memory.module;
  14. public static void Update(GameTime gameTime)
  15. {
  16. if (lastModule != module)
  17. {
  18. GC.Collect();
  19. GC.WaitForPendingFinalizers();
  20. lastModule = module;
  21. }
  22. module = Memory.module;
  23. //#if DEBUG
  24. if (Input.Button(Buttons.Back)||Input.Button(Buttons.Cancel))
  25. {
  26. Memory.module = Memory.MODULE_MAINMENU_DEBUG;
  27. Input.OverrideLockMouse = false;
  28. Input.CurrentMode = Input.MouseLockMode.Screen;
  29. }
  30. //#endif
  31. switch (module)
  32. {
  33. case Memory.MODULE_BATTLE:
  34. module_battle.Update();
  35. break;
  36. case Memory.MODULE_BATTLE_DEBUG:
  37. Module_battle_debug.Update();
  38. break;
  39. case Memory.MODULE_MOVIETEST:
  40. Module_movie_test.Update();
  41. break;
  42. case Memory.MODULE_FIELD_DEBUG:
  43. Module_field_debug.Update();
  44. break;
  45. case Memory.MODULE_OVERTURE_DEBUG:
  46. Module_overture_debug.Update();
  47. break;
  48. case Memory.MODULE_MAINMENU_DEBUG:
  49. Module_main_menu_debug.Update();
  50. break;
  51. case Memory.MODULE_WORLD_DEBUG:
  52. Module_world_debug.Update();
  53. break;
  54. case Memory.MODULE_FACE_TEST:
  55. Module_face_test.Update();
  56. break;
  57. case Memory.MODULE_ICON_TEST:
  58. Module_icon_test.Update();
  59. break;
  60. case Memory.MODULE_CARD_TEST:
  61. Module_card_test.Update();
  62. break;
  63. }
  64. }
  65. public static void Draw(GameTime gameTime)
  66. {
  67. switch (module)
  68. {
  69. case Memory.MODULE_BATTLE:
  70. module_battle.Draw();
  71. break;
  72. case Memory.MODULE_BATTLE_DEBUG:
  73. Module_battle_debug.Draw();
  74. break;
  75. case Memory.MODULE_MOVIETEST:
  76. Module_movie_test.Draw();
  77. break;
  78. case Memory.MODULE_FIELD_DEBUG:
  79. Module_field_debug.Draw();
  80. break;
  81. case Memory.MODULE_OVERTURE_DEBUG:
  82. Module_overture_debug.Draw();
  83. break;
  84. case Memory.MODULE_MAINMENU_DEBUG:
  85. Module_main_menu_debug.Draw();
  86. break;
  87. case Memory.MODULE_WORLD_DEBUG:
  88. Module_world_debug.Draw();
  89. break;
  90. case Memory.MODULE_FACE_TEST:
  91. Module_face_test.Draw();
  92. break;
  93. case Memory.MODULE_ICON_TEST:
  94. Module_icon_test.Draw();
  95. break;
  96. case Memory.MODULE_CARD_TEST:
  97. Module_card_test.Draw();
  98. break;
  99. }
  100. }
  101. internal static void ResetBS()
  102. => Module_battle_debug.ResetState();
  103. }
  104. }