IGMData_TopMenu_Auto.cs 3.3 KB

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