| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- using Microsoft.Xna.Framework;
- using System;
- namespace OpenVIII
- {
- namespace IGMData
- {
- public class SlotChoose : IGMData.Base
- {
- #region Properties
- public bool Save { get; protected set; } = false;
- public IGMDataItem.Box Slot1Main { get => (IGMDataItem.Box)ITEM[0, 0]; set => ITEM[0, 0] = value; }
- public IGMDataItem.Box Slot1Title { get => (IGMDataItem.Box)ITEM[0, 1]; set => ITEM[0, 1] = value; }
- public IGMDataItem.Box Slot2Main { get => (IGMDataItem.Box)ITEM[1, 0]; set => ITEM[1, 0] = value; }
- public IGMDataItem.Box Slot2Title { get => (IGMDataItem.Box)ITEM[1, 1]; set => ITEM[1, 1] = value; }
- #endregion Properties
- #region Methods
- public static SlotChoose Create(Rectangle pos)
- {
- SlotChoose r = new SlotChoose();
- r.Init(2, 2, new IGMDataItem.Empty { Pos = pos }, 1, 2);
- return r;
- }
- public override bool Inputs() => base.Inputs();
- public override bool Inputs_CANCEL()
- {
- base.Inputs_CANCEL();
- if (!Save)
- init_debugger_Audio.StopMusic();
- Menu.FadeIn();
- Menu.Module.State = MenuModule.Mode.MainLobby;
- return true;
- }
- public override bool Inputs_OKAY()
- {
- base.Inputs_OKAY();
- IGM_LGSG.Mode mode = IGM_LGSG.Mode.Slot |
- IGM_LGSG.Mode.Checking |
- (Save ? IGM_LGSG.Mode.Save : IGM_LGSG.Mode.Nothing);
- if (CURSOR_SELECT == 0)
- Menu.IGM_LGSG.SetMode(mode | IGM_LGSG.Mode.Slot1);
- else if (CURSOR_SELECT == 1)
- Menu.IGM_LGSG.SetMode(mode | IGM_LGSG.Mode.Slot2);
- return true;
- }
- public override void ModeChangeEvent(object sender, Enum e)
- {
- base.ModeChangeEvent(sender, e);
- if (e.GetType() == typeof(IGM_LGSG.Mode))
- {
- Save = e.HasFlag(IGM_LGSG.Mode.Save);
- if (e.HasFlag(IGM_LGSG.Mode.Slot) && e.HasFlag(IGM_LGSG.Mode.Choose))
- Show();
- else
- Hide();
- }
- }
- protected override void Init()
- {
- base.Init();
- Point offset = new Point(-8, -28);
- Point size = new Point(132, 60);
- Slot1Main = new IGMDataItem.Box { Data = Strings.Name.FF8, Pos = SIZE[0], Options = Box_Options.Buttom | Box_Options.Center };
- Slot2Main = new IGMDataItem.Box { Data = Strings.Name.FF8, Pos = SIZE[1], Options = Box_Options.Buttom | Box_Options.Center };
- Point p = SIZE[0].Location;
- p = p.Offset(offset);
- Slot1Title = new IGMDataItem.Box { Data = Strings.Name.Slot1, Pos = new Rectangle(p, size), Options = Box_Options.Middle | Box_Options.Center };
- p = SIZE[1].Location;
- p = p.Offset(offset);
- Slot2Title = new IGMDataItem.Box { Data = Strings.Name.Slot2, Pos = new Rectangle(p, size), Options = Box_Options.Middle | Box_Options.Center };
- Slot1Main.Draw(true);
- Slot2Main.Draw(true);
- CURSOR[0] = Slot1Main.Dims.Cursor;
- CURSOR[1] = Slot2Main.Dims.Cursor;
- Cursor_Status = Cursor_Status.Enabled;
- }
- protected override void InitShift(int i, int col, int row)
- {
- int SpaceBetween = 60;
- base.InitShift(i, col, row);
- switch (i)
- {
- case 0:
- SIZE[i].Y -= SpaceBetween / 2;
- break;
- case 1:
- default:
- SIZE[i].Y += row * SpaceBetween / 2;
- break;
- }
- }
- #endregion Methods
- }
- }
- }
|