Confirm.cs 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. using Microsoft.Xna.Framework;
  2. namespace OpenVIII.IGMData.Dialog
  3. {
  4. public abstract class Confirm : Base, I_Data<FF8String>
  5. {
  6. #region Fields
  7. protected FF8String[] opt;
  8. protected int startcursor;
  9. #endregion Fields
  10. #region Properties
  11. public FF8String Data { get => ((I_Data<FF8String>)CONTAINER).Data; set => ((I_Data<FF8String>)CONTAINER).Data = value; }
  12. #endregion Properties
  13. #region Methods
  14. public static T Create<T>(FF8String data, Icons.ID title, FF8String opt1, FF8String opt2, Rectangle? pos, int startcursor = 0) where T : Confirm, new()
  15. {
  16. var r = Base.Create<T>(2, 1, new IGMDataItem.Box { Data = data, Pos = pos ?? Rectangle.Empty, Title = title }, 1, 2);
  17. r.startcursor = startcursor;
  18. r.opt = new FF8String[r.Count];
  19. r.opt[0] = opt1;
  20. r.opt[1] = opt2;
  21. r.ITEM[0, 0] = new IGMDataItem.Text { Data = r.opt[0], Pos = r.SIZE[0] };
  22. r.ITEM[1, 0] = new IGMDataItem.Text { Data = r.opt[1], Pos = r.SIZE[1] };
  23. return r;
  24. }
  25. public override void Refresh()
  26. {
  27. base.Refresh();
  28. CURSOR_SELECT = startcursor;
  29. Cursor_Status |= Cursor_Status.Enabled;
  30. Cursor_Status |= Cursor_Status.Vertical;
  31. Cursor_Status |= Cursor_Status.Horizontal;
  32. }
  33. protected override void Init()
  34. {
  35. SkipSIZE = true;
  36. base.Init();
  37. SetSize();
  38. InitSize();
  39. Hide();
  40. }
  41. protected virtual void SetSize()
  42. {
  43. SIZE[0] = new Rectangle(212 + X, 117 + Y, 52, 30);
  44. SIZE[1] = new Rectangle(212 + X, 156 + Y, 52, 30);
  45. }
  46. #endregion Methods
  47. }
  48. }