IGMData_Clock.cs 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. using Microsoft.Xna.Framework;
  2. namespace OpenVIII
  3. {
  4. public partial class IGM
  5. {
  6. #region Classes
  7. private class IGMData_Clock : IGMData.Base
  8. {
  9. #region Fields
  10. private const int MaxGil = 99999999;
  11. private const int MaxHourOrMins = 99;
  12. private const int MaxSeedRank = 99999;
  13. #endregion Fields
  14. #region Methods
  15. public static IGMData_Clock Create() => Create<IGMData_Clock>(1, 8, new IGMDataItem.Box { Pos = new Rectangle { Width = 226, Height = 114, Y = 630 - 114, X = 843 - 226 } });
  16. public override void Refresh()
  17. {
  18. if (Memory.State?.Fieldvars != null)
  19. {
  20. base.Refresh();
  21. ((IGMDataItem.Integer)ITEM[0, 1]).Data = Memory.State.Timeplayed.TotalHours < MaxHourOrMins ? checked((int)(Memory.State.Timeplayed.TotalHours)) : MaxHourOrMins;
  22. ((IGMDataItem.Integer)ITEM[0, 3]).Data = Memory.State.Timeplayed.TotalHours < MaxHourOrMins ? Memory.State.Timeplayed.Minutes : MaxHourOrMins;
  23. if (!Memory.State.TeamLaguna)
  24. {
  25. //TODO Hide seed rank if not in seed yet.
  26. int SeedRank = Memory.State.Fieldvars.SeedRankPts / 100;
  27. ((IGMDataItem.Integer)ITEM[0, 5]).Data = SeedRank < MaxSeedRank ? SeedRank : MaxSeedRank;
  28. ITEM[0, 4].Show();
  29. ITEM[0, 5].Show();
  30. }
  31. else
  32. {
  33. ITEM[0, 4].Hide();
  34. ITEM[0, 5].Hide();
  35. }
  36. for (int i = 0; i < Depth; i++)
  37. {
  38. if (i != 4 && i != 5)
  39. ITEM[0, i]?.Show();
  40. }
  41. ((IGMDataItem.Integer)ITEM[0, 6]).Data = Memory.State.AmountofGil < MaxGil ? (int)(Memory.State.AmountofGil) : MaxGil;
  42. }
  43. }
  44. protected override void Init()
  45. {
  46. base.Init();
  47. Rectangle r;
  48. r = CONTAINER;
  49. r.Offset(25, 14);
  50. ITEM[0, 0] = new IGMDataItem.Icon { Data = Icons.ID.PLAY, Pos = r, Palette = 13 };
  51. r = CONTAINER;
  52. r.Offset(145, 14);
  53. ITEM[0, 2] = new IGMDataItem.Icon { Data = Icons.ID.Colon, Pos = r, Palette = 13, Faded_Palette = 2, Blink_Adjustment = .5f, Blink = true };
  54. r = CONTAINER;
  55. r.Offset(185, 81);
  56. ITEM[0, 7] = new IGMDataItem.Icon { Data = Icons.ID.G, Pos = r, Palette = 2 };
  57. r = CONTAINER;
  58. r.Offset(105, 14);
  59. ITEM[0, 1] = new IGMDataItem.Integer { Pos = r, Palette = 2, Faded_Palette = 0, Padding = 1, Spaces = 2 };
  60. r = CONTAINER;
  61. r.Offset(165, 14);
  62. ITEM[0, 3] = new IGMDataItem.Integer { Pos = r, Palette = 2, Faded_Palette = 0, Padding = 2, Spaces = 2 };
  63. r = CONTAINER;
  64. r.Offset(25, 48);
  65. ITEM[0, 4] = new IGMDataItem.Icon { Data = Icons.ID.SeeD, Pos = r, Palette = 13 };
  66. r = CONTAINER;
  67. r.Offset(105, 48);
  68. ITEM[0, 5] = new IGMDataItem.Integer { Pos = r, Palette = 2, Faded_Palette = 0, Padding = 1, Spaces = 5 };
  69. r = CONTAINER;
  70. r.Offset(25, 81);
  71. ITEM[0, 6] = new IGMDataItem.Integer { Pos = r, Palette = 2, Faded_Palette = 0, Padding = 1, Spaces = 8 };
  72. }
  73. #endregion Methods
  74. }
  75. #endregion Classes
  76. }
  77. }