public override void ReInit() { base.ReInit(); if (InGameMenu_Junction != null && InGameMenu_Junction.GetMode() == Mode.Mag_Stat && Enabled) { ITEM[0, 0] = new IGMDataItem_Icon(Icons.ID.Rewind_Fast, new Rectangle(SIZE[0].X, SIZE[0].Y, 0, 0), 2, 7); ITEM[0, 1] = new IGMDataItem_String(Descriptions[Items.ST_A_D], new Rectangle(SIZE[0].X + 20, SIZE[0].Y, 0, 0)); ITEM[0, 2] = new IGMDataItem_Icon(Icons.ID.Rewind, new Rectangle(SIZE[0].X + 143, SIZE[0].Y, 0, 0), 2, 7); ITEM[0, 3] = new IGMDataItem_String(Descriptions[Items.EL_A_D], new Rectangle(SIZE[0].X + 169, SIZE[0].Y, 0, 0)); } else if (InGameMenu_Junction != null && InGameMenu_Junction.GetMode() == Mode.Mag_EL_A && Enabled) //coords for these two need checked. { ITEM[0, 0] = new IGMDataItem_Icon(Icons.ID.Rewind, new Rectangle(SIZE[0].X, SIZE[0].Y, 0, 0), 2, 7); ITEM[0, 1] = new IGMDataItem_String(Descriptions[Items.ST_A_D], new Rectangle(SIZE[0].X + 20, SIZE[0].Y, 0, 0)); ITEM[0, 2] = new IGMDataItem_Icon(Icons.ID.Forward, new Rectangle(SIZE[0].X + 143, SIZE[0].Y, 0, 0), 2, 7); ITEM[0, 3] = new IGMDataItem_String(Descriptions[Items.Stats], new Rectangle(SIZE[0].X + 169, SIZE[0].Y, 0, 0)); } else if (InGameMenu_Junction != null && InGameMenu_Junction.GetMode() == Mode.Mag_ST_A && Enabled) { ITEM[0, 0] = new IGMDataItem_Icon(Icons.ID.Forward, new Rectangle(SIZE[0].X, SIZE[0].Y, 0, 0), 2, 7); ITEM[0, 1] = new IGMDataItem_String(Descriptions[Items.EL_A_D], new Rectangle(SIZE[0].X + 20, SIZE[0].Y, 0, 0)); ITEM[0, 2] = new IGMDataItem_Icon(Icons.ID.Forward_Fast, new Rectangle(SIZE[0].X + 143, SIZE[0].Y, 0, 0), 2, 7); ITEM[0, 3] = new IGMDataItem_String(Descriptions[Items.Stats], new Rectangle(SIZE[0].X + 169, SIZE[0].Y, 0, 0)); } }
private void Get_Sort_Stat() { SortMode = (Mode)InGameMenu_Junction.GetMode(); switch (SortMode) { default: case Mode.Mag_Stat: case Mode.Mag_Pool_Stat: SortMode = Mode.Mag_Pool_Stat; break; case Mode.Mag_ST_D: case Mode.Mag_Pool_ST_D: SortMode = Mode.Mag_Pool_ST_D; break; case Mode.Mag_ST_A: case Mode.Mag_Pool_ST_A: SortMode = Mode.Mag_Pool_ST_A; Stat = Kernel_bin.Stat.ST_Atk; break; case Mode.Mag_EL_D: case Mode.Mag_Pool_EL_D: SortMode = Mode.Mag_Pool_EL_D; break; case Mode.Mag_EL_A: case Mode.Mag_Pool_EL_A: SortMode = Mode.Mag_Pool_EL_A; Stat = Kernel_bin.Stat.EL_Atk; break; } }
private void Update_String() { if (InGameMenu_Junction != null && InGameMenu_Junction.GetMode().Equals(Mode.TopMenu_Auto) && Enabled) { FF8String Changed = null; switch (CURSOR_SELECT) { case 0: Changed = Descriptions[Items.AutoAtk]; break; case 1: Changed = Descriptions[Items.AutoDef]; break; case 2: Changed = Descriptions[Items.AutoMag]; break; } if (Changed != null && InGameMenu_Junction != null) { InGameMenu_Junction.ChangeHelp(Changed); } } }
public override void Inputs_OKAY() { if (Memory.State.Characters != null) { if (!BLANKS[CURSOR_SELECT]) { skipsnd = true; init_debugger_Audio.PlaySound(31); base.Inputs_OKAY(); SlotConfirmListener?.Invoke(this, (Mode)InGameMenu_Junction.GetMode()); if (InGameMenu_Junction.GetMode().Equals(Mode.Mag_Pool_Stat)) { InGameMenu_Junction.SetMode(Mode.Mag_Stat); } else if (InGameMenu_Junction.GetMode().Equals(Mode.Mag_Pool_EL_A) || InGameMenu_Junction.GetMode().Equals(Mode.Mag_Pool_EL_D)) { InGameMenu_Junction.SetMode(Mode.Mag_EL_A); } else if (InGameMenu_Junction.GetMode().Equals(Mode.Mag_Pool_ST_A) || InGameMenu_Junction.GetMode().Equals(Mode.Mag_Pool_ST_D)) { InGameMenu_Junction.SetMode(Mode.Mag_ST_A); } Cursor_Status &= ~Cursor_Status.Enabled; InGameMenu_Junction.ReInit(); } } }
public override void Inputs_CANCEL() { if (Memory.State.Characters != null) { base.Inputs_CANCEL(); SlotUndoListener?.Invoke(this, (Mode)InGameMenu_Junction.GetMode()); SlotConfirmListener?.Invoke(this, (Mode)InGameMenu_Junction.GetMode()); SlotReinitListener?.Invoke(this, (Mode)InGameMenu_Junction.GetMode()); switch (SortMode) { case Mode.Mag_Pool_Stat: InGameMenu_Junction.SetMode(Mode.Mag_Stat); break; case Mode.Mag_Pool_EL_A: InGameMenu_Junction.SetMode(Mode.Mag_EL_A); break; case Mode.Mag_Pool_EL_D: InGameMenu_Junction.SetMode(Mode.Mag_EL_D); break; case Mode.Mag_Pool_ST_A: InGameMenu_Junction.SetMode(Mode.Mag_ST_A); break; case Mode.Mag_Pool_ST_D: InGameMenu_Junction.SetMode(Mode.Mag_ST_D); break; } Cursor_Status &= ~Cursor_Status.Enabled; Source = Memory.State.Characters[Character]; } }
public override bool Update() { bool ret = base.Update(); if (InGameMenu_Junction != null && InGameMenu_Junction.GetMode().Equals(Mode.TopMenu) && Enabled) { FF8String Changed = null; switch (CURSOR_SELECT) { case 0: Changed = Descriptions[Items.Junction]; break; case 1: Changed = Descriptions[Items.Off]; break; case 2: Changed = Descriptions[Items.Auto]; break; case 3: Changed = Descriptions[Items.Ability]; break; } if (Changed != null) { InGameMenu_Junction.ChangeHelp(Changed); } } return(ret); }
public override bool Update() { bool ret = base.Update(); if (InGameMenu_Junction != null && InGameMenu_Junction.GetMode() == Mode.Abilities) { Cursor_Status &= ~Cursor_Status.Blinking; IGMDataItem_IGMData i = ((IGMDataItem_IGMData)ITEM[0, 0]); IGMDataItem_IGMData i2 = ((IGMDataItem_IGMData)ITEM[1, 0]); if (i != null && i.Data != null && i2 != null && i2.Data != null) { if (CURSOR_SELECT >= i.Data.Count) { if (i2.Data.Descriptions != null && i2.Data.Descriptions.ContainsKey(CURSOR_SELECT - i.Data.Count)) { InGameMenu_Junction.ChangeHelp(i2.Data.Descriptions[CURSOR_SELECT - i.Data.Count]); } } else { if (i.Data.Descriptions != null && i.Data.Descriptions.ContainsKey(CURSOR_SELECT)) { InGameMenu_Junction.ChangeHelp(i.Data.Descriptions[CURSOR_SELECT]); } } } } else { Cursor_Status |= Cursor_Status.Blinking; } return(ret); }
private bool Undo() { SlotUndoListener?.Invoke(this, (Mode)InGameMenu_Junction.GetMode()); if (Memory.State.Characters != null) { Source = Memory.State.Characters[Character]; } return(true); }
public override bool Update() { Update_String(); if (InGameMenu_Junction != null) { if (InGameMenu_Junction.GetMode() == Mode.TopMenu_Junction) { Cursor_Status &= ~Cursor_Status.Blinking; } else { Cursor_Status |= Cursor_Status.Blinking; } } return(base.Update()); }
private void UpdateOnEvent(object sender, Mode?mode = null, Kernel_bin.Stat?stat = null) { mode = mode ?? (Mode)InGameMenu_Junction.GetMode(); if ( mode != Mode.Mag_Pool_ST_A && mode != Mode.Mag_Pool_ST_D && mode != Mode.Mag_Pool_EL_A && mode != Mode.Mag_Pool_EL_D && mode != Mode.Mag_Pool_Stat) { Cursor_Status &= ~Cursor_Status.Enabled; } else { Cursor_Status |= Cursor_Status.Enabled; } if (Memory.State.Characters != null) { Get_Sort_Stat(); Stat = stat ?? Stat; Get_Slots_Values(); if (SortMode != LastMode || this.Stat != LastStat || Character != LastCharacter) { Get_Sort(); } bool skipundo = false; if (!(SortMode == LastMode && Character == LastCharacter && this.Stat == LastStat && Page == LastPage)) { LastCharacter = Character; LastStat = this.Stat; LastPage = Page; LastMode = SortMode; skipundo = Undo(); FillMagic(); UpdateTitle(); } if ( mode == Mode.Mag_Pool_ST_A || mode == Mode.Mag_Pool_ST_D || mode == Mode.Mag_Pool_EL_A || mode == Mode.Mag_Pool_EL_D || mode == Mode.Mag_Pool_Stat) { Generate_Preview(skipundo); } } }
public void Generate_Preview(bool skipundo = false) { if (Stat != Kernel_bin.Stat.None && CURSOR_SELECT < Contents.Length) { Cursor_Status |= Cursor_Status.Enabled; if (Source.Stat_J[Stat] != Contents[CURSOR_SELECT]) { if (!skipundo) { Undo(); skipundo = false; } Source.JunctionSpell(Stat, Contents[CURSOR_SELECT]); SlotReinitListener?.Invoke(this, (Mode)InGameMenu_Junction.GetMode()); } } }
public override bool ITEMInputs(IGMDataItem i, int pos = 0) { bool ret = false; if (InputsModeTest(pos)) { Mode lastmode = (Mode)InGameMenu_Junction.GetMode(); ret = base.ITEMInputs(i, pos); if (ret) { if (!InGameMenu_Junction.GetMode().Equals(lastmode)) { Show(); } } } return(ret); }
public override bool Update() { bool ret = base.Update(); Update_String(); if (InGameMenu_Junction != null) { if (InGameMenu_Junction.GetMode().Equals(Mode.TopMenu_Off)) { Cursor_Status &= ~Cursor_Status.Blinking; } else { Cursor_Status |= Cursor_Status.Blinking; } } return(ret); }
private bool InputsModeTest(int pos) { pos = cnv(pos); switch (InGameMenu_Junction.GetMode()) { case Mode.Mag_Pool_Stat: case Mode.Mag_Pool_EL_A: case Mode.Mag_Pool_EL_D: case Mode.Mag_Pool_ST_A: case Mode.Mag_Pool_ST_D: if (pos == 2) { return(true); } break; case Mode.Mag_Stat: if (pos == 0) { return(true); } break; case Mode.Mag_EL_A: case Mode.Mag_EL_D: if (pos == 3) { return(true); } break; case Mode.Mag_ST_A: case Mode.Mag_ST_D: if (pos == 6) { return(true); } break; } return(false); }
private void Update_String() { if (InGameMenu_Junction != null && InGameMenu_Junction.GetMode() == Mode.TopMenu_Off && Enabled) { FF8String Changed = null; switch (CURSOR_SELECT) { case 0: Changed = Descriptions[Items.RemMag]; break; case 1: Changed = Descriptions[Items.RemAll]; break; } if (Changed != null && InGameMenu_Junction != null) { InGameMenu_Junction.ChangeHelp(Changed); } } }
public override void CheckMode(bool cursor = true) => CheckMode(0, Mode.Mag_ST_A, Mode.Mag_ST_D, InGameMenu_Junction != null && (InGameMenu_Junction.GetMode().Equals(Mode.Mag_ST_A) || InGameMenu_Junction.GetMode().Equals(Mode.Mag_ST_D)), InGameMenu_Junction != null && (InGameMenu_Junction.GetMode().Equals(Mode.Mag_Pool_ST_A) || InGameMenu_Junction.GetMode().Equals(Mode.Mag_Pool_ST_D)), cursor);
public override void ITEMShow(IGMDataItem i, int pos = 0) { if (InGameMenu_Junction != null) { pos = cnv(pos); switch (InGameMenu_Junction.GetMode()) { default: if (pos < 1) { base.ITEMShow(i, pos); } else { base.ITEMHide(i, pos); } break; case Mode.Mag_Pool_Stat: case Mode.Mag_Stat: if (pos < 3) { base.ITEMShow(i, pos); } else { base.ITEMHide(i, pos); } break; case Mode.Mag_EL_A: case Mode.Mag_Pool_EL_A: if (pos > 0 && pos < 5) { base.ITEMShow(i, pos); } else { base.ITEMHide(i, pos); } break; case Mode.Mag_EL_D: case Mode.Mag_Pool_EL_D: if (pos > 0 && pos < 4 || pos == 5) { base.ITEMShow(i, pos); } else { base.ITEMHide(i, pos); } break; case Mode.Mag_ST_A: case Mode.Mag_Pool_ST_A: if (pos > 0 && pos < 3 || pos == 6 || pos == 7) { base.ITEMShow(i, pos); } else { base.ITEMHide(i, pos); } break; case Mode.Mag_ST_D: case Mode.Mag_Pool_ST_D: if (pos > 0 && pos < 3 || pos == 6 || pos == 8) { base.ITEMShow(i, pos); } else { base.ITEMHide(i, pos); } break; } } }
public override void CheckMode(bool cursor = true) => CheckMode(0, Mode.Mag_EL_A, Mode.Mag_EL_D, InGameMenu_Junction != null && (InGameMenu_Junction.GetMode() == Mode.Mag_EL_A || InGameMenu_Junction.GetMode() == Mode.Mag_EL_D), InGameMenu_Junction != null && (InGameMenu_Junction.GetMode() == Mode.Mag_Pool_EL_A || InGameMenu_Junction.GetMode() == Mode.Mag_Pool_EL_D), cursor);
public override void CheckMode(bool cursor = true) => CheckMode(-1, Mode.None, Mode.Mag_Stat, InGameMenu_Junction != null && (InGameMenu_Junction.GetMode() == Mode.Mag_Stat), InGameMenu_Junction != null && (InGameMenu_Junction.GetMode() == Mode.Mag_Pool_Stat), (InGameMenu_Junction.GetMode() == Mode.Mag_Stat || InGameMenu_Junction.GetMode() == Mode.Mag_Pool_Stat) && cursor);
public override bool Update() { if (InGameMenu_Junction != null && InGameMenu_Junction.GetMode() != Mode.Abilities_Abilities) { Cursor_Status &= ~Cursor_Status.Enabled; } else { Cursor_Status |= Cursor_Status.Enabled; } int pos = 0; int skip = Page * rows; for (int i = 0; Memory.State.Characters != null && i < Memory.State.Characters[Character].UnlockedGFAbilities.Count && pos < rows; i++) { if (Memory.State.Characters[Character].UnlockedGFAbilities[i] != Kernel_bin.Abilities.None) { Kernel_bin.Abilities j = Memory.State.Characters[Character].UnlockedGFAbilities[i]; if (Source.ContainsKey(j)) { if (skip > 0) { skip--; continue; } Font.ColorID cid = Memory.State.Characters[Character].Abilities.Contains(j) ? Font.ColorID.Grey : Font.ColorID.White; BLANKS[pos] = cid == Font.ColorID.Grey ? true : false; ITEM[pos, 0] = new IGMDataItem_String( Source[j].Icon, 9, Source[j].Name, new Rectangle(SIZE[pos].X, SIZE[pos].Y, 0, 0), cid); Contents[pos] = j; pos++; } } } for (; pos < rows; pos++) { ITEM[pos, 0] = null; BLANKS[pos] = true; Contents[pos] = Kernel_bin.Abilities.None; } if (Contents[CURSOR_SELECT] != Kernel_bin.Abilities.None && InGameMenu_Junction.GetMode() == Mode.Abilities_Abilities) { InGameMenu_Junction.ChangeHelp(Source[Contents[CURSOR_SELECT]].Description.ReplaceRegion()); } UpdateTitle(); if (Contents[CURSOR_SELECT] == Kernel_bin.Abilities.None) { CURSOR_NEXT(); } if (Pages > 1) { if (Contents[0] == Kernel_bin.Abilities.None) { Pages = Page; PAGE_NEXT(); return(Update()); } else if (Contents[rows - 1] == Kernel_bin.Abilities.None) { Pages = Page + 1; } } return(base.Update()); }