IGMData_Mag_PageTitle.cs 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. using Microsoft.Xna.Framework;
  2. namespace OpenVIII
  3. {
  4. public partial class Junction
  5. {
  6. #region Classes
  7. private class IGMData_Mag_PageTitle : IGMData.Base
  8. {
  9. #region Fields
  10. private Mode last = 0;
  11. #endregion Fields
  12. #region Methods
  13. public static IGMData_Mag_PageTitle Create() => Create<IGMData_Mag_PageTitle>(1, 4, new IGMDataItem.Box { Pos = new Rectangle(0, 345, 435, 66) });
  14. public override void Refresh()
  15. {
  16. base.Refresh();
  17. if (UpdateChild(Mode.Mag_Stat, Icons.ID.Rewind_Fast, Strings.Name.ST_A_D, Icons.ID.Rewind, Strings.Name.EL_A_D))
  18. { }
  19. else if (UpdateChild(Mode.Mag_EL_A, Icons.ID.Rewind, Strings.Name.ST_A_D, Icons.ID.Forward, Strings.Name.Stats))
  20. { }
  21. else if (UpdateChild(Mode.Mag_ST_A, Icons.ID.Forward, Strings.Name.EL_A_D, Icons.ID.Forward_Fast, Strings.Name.Stats))
  22. { }
  23. bool UpdateChild(Mode mode, Icons.ID icon1, FF8StringReference str1, Icons.ID icon2, FF8StringReference str2)
  24. {
  25. if (Junction != null && Junction.GetMode().Equals(mode) && Enabled)
  26. {
  27. ((IGMDataItem.Icon)ITEM[0, 0]).Data = icon1;
  28. ((IGMDataItem.Text)ITEM[0, 1]).Data = str1;
  29. ((IGMDataItem.Icon)ITEM[0, 2]).Data = icon2;
  30. ((IGMDataItem.Text)ITEM[0, 3]).Data = str2;
  31. return true;
  32. }
  33. return false;
  34. }
  35. }
  36. public override bool Update()
  37. {
  38. if (Junction != null && !Junction.GetMode().Equals(last) && Enabled)
  39. {
  40. last = (Mode)Junction.GetMode();
  41. Refresh();
  42. return base.Update();
  43. }
  44. return false;
  45. }
  46. protected override void Init()
  47. {
  48. base.Init();
  49. ITEM[0, 0] = new IGMDataItem.Icon { Data = Icons.ID.Rewind_Fast, Pos = new Rectangle(SIZE[0].X, SIZE[0].Y, 0, 0), Palette = 2, Faded_Palette = 7 };
  50. ITEM[0, 1] = new IGMDataItem.Text { Pos = new Rectangle(SIZE[0].X + 20, SIZE[0].Y, 0, 0) };
  51. ITEM[0, 2] = new IGMDataItem.Icon { Data = Icons.ID.Rewind, Pos = new Rectangle(SIZE[0].X + 143, SIZE[0].Y, 0, 0), Palette = 2, Faded_Palette = 7 };
  52. ITEM[0, 3] = new IGMDataItem.Text { Pos = new Rectangle(SIZE[0].X + 169, SIZE[0].Y, 0, 0) };
  53. }
  54. protected override void InitShift(int i, int col, int row)
  55. {
  56. base.InitShift(i, col, row);
  57. SIZE[0].Inflate(-19, -18);
  58. }
  59. #endregion Methods
  60. }
  61. #endregion Classes
  62. }
  63. }