IGMData_TopMenu_Junction.cs 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. using Microsoft.Xna.Framework;
  2. namespace OpenVIII
  3. {
  4. public partial class Junction
  5. {
  6. #region Classes
  7. private class IGMData_TopMenu_Junction : IGMData.Base
  8. {
  9. #region Methods
  10. public static IGMData_TopMenu_Junction Create() => Create<IGMData_TopMenu_Junction>(2, 1, new IGMDataItem.Box { Pos = new Rectangle(210, 12, 400, 54) }, 2, 1);
  11. public override bool Inputs_CANCEL()
  12. {
  13. base.Inputs_CANCEL();
  14. Junction.SetMode(Mode.TopMenu);
  15. Hide();
  16. return true;
  17. }
  18. public override bool Inputs_OKAY()
  19. {
  20. base.Inputs_OKAY();
  21. if (CURSOR_SELECT == 0)
  22. {
  23. Junction.SetMode(Mode.TopMenu_GF_Group);
  24. Junction.Data[SectionName.TopMenu_GF_Group].Show();
  25. }
  26. else
  27. {
  28. Junction.SetMode(Mode.Mag_Stat);
  29. Junction.Data[SectionName.Mag_Group].Show();
  30. }
  31. return true;
  32. }
  33. public override bool Update()
  34. {
  35. Update_String();
  36. if (Junction != null)
  37. {
  38. if (Junction.GetMode().Equals(Mode.TopMenu_Junction))
  39. Cursor_Status &= ~Cursor_Status.Blinking;
  40. else
  41. Cursor_Status |= Cursor_Status.Blinking;
  42. }
  43. return base.Update();
  44. }
  45. protected override void Init()
  46. {
  47. base.Init();
  48. ITEM[0, 0] = new IGMDataItem.Text() { Data = Strings.Name.GF, Pos = SIZE[0] };
  49. ITEM[1, 0] = new IGMDataItem.Text() { Data = Strings.Name.Magic, Pos = SIZE[1] };
  50. Cursor_Status |= Cursor_Status.Enabled;
  51. Cursor_Status |= Cursor_Status.Horizontal;
  52. Cursor_Status |= Cursor_Status.Vertical;
  53. Hide();
  54. }
  55. protected override void InitShift(int i, int col, int row)
  56. {
  57. base.InitShift(i, col, row);
  58. SIZE[i].Inflate(-40, -12);
  59. SIZE[i].Offset(20 + (-20 * (col > 1 ? col : 0)), 0);
  60. }
  61. private void Update_String()
  62. {
  63. if (Junction != null && Junction.GetMode().Equals(Mode.TopMenu_Junction) && Enabled)
  64. {
  65. FF8String Changed = null;
  66. switch (CURSOR_SELECT)
  67. {
  68. case 0:
  69. Changed = Strings.Description.GF;
  70. break;
  71. case 1:
  72. Changed = Strings.Description.Magic;
  73. break;
  74. }
  75. if (Changed != null && Junction != null)
  76. Junction.ChangeHelp(Changed);
  77. }
  78. }
  79. #endregion Methods
  80. }
  81. #endregion Classes
  82. }
  83. }