protected void FillData(Icons.ID starticon, Kernel_bin.Stat statatk, Kernel_bin.Stat statdef) { byte pos = 0; Contents[0] = statatk; getColor(pos, out byte palette, out Font.ColorID _colorid, out bool unlocked); FF8String name = Kernel_bin.MagicData[Memory.State.Characters[Character].Stat_J[statatk]].Name; if (name.Length == 0) { name = Misc[Items._]; } ITEM[pos, 0] = new IGMDataItem_Icon(starticon, new Rectangle(SIZE[pos].X, SIZE[pos].Y, 0, 0), palette); ITEM[pos, 1] = new IGMDataItem_String(name, new Rectangle(SIZE[pos].X + 60, SIZE[pos].Y, 0, 0), color: _colorid); BLANKS[pos] = !unlocked; for (pos = 1; pos < Count; pos++) { Contents[pos] = statdef + pos - 1; getColor(pos, out palette, out _colorid, out unlocked); name = Kernel_bin.MagicData[Memory.State.Characters[Character].Stat_J[statdef + pos - 1]].Name; if (name.Length == 0) { name = Misc[Items._]; } ITEM[pos, 0] = new IGMDataItem_Icon(starticon + 1, new Rectangle(SIZE[pos].X, SIZE[pos].Y, 0, 0), palette); ITEM[pos, 1] = new IGMDataItem_String(name, new Rectangle(SIZE[pos].X + 60, SIZE[pos].Y, 0, 0), color: _colorid); BLANKS[pos] = !unlocked; } }
public static IGMData_ConfirmChanges Create(FF8String data, Icons.ID title, FF8String opt1, FF8String opt2, Rectangle pos) { IGMData_ConfirmChanges r = Create <IGMData_ConfirmChanges>(data, title, opt1, opt2, pos); r.startcursor = 1; return(r); }
protected void FillData(Icons.ID starticon, Kernel_bin.Stat statatk, Kernel_bin.Stat statdef) { if (Damageable.GetCharacterData(out Saves.CharacterData c)) { for (byte pos = 0; pos < Count; pos++) { Kernel_bin.Stat stat = pos != 0 ? statdef + pos - 1 : statatk; Contents[pos] = stat; getColor(pos, out byte palette, out Font.ColorID _colorid, out bool unlocked); FF8String name = GetName(stat); UpdateItems(); FF8String GetName(Kernel_bin.Stat key) { FF8String _name = Kernel_bin.MagicData[c.Stat_J[key]].Name; if (_name == null || _name.Length == 0) { _name = Strings.Name._; } return(_name); } void UpdateItems() { ((IGMDataItem.Icon)ITEM[pos, 0]).Data = starticon + 1; ((IGMDataItem.Icon)ITEM[pos, 0]).Palette = palette; ((IGMDataItem.Text)ITEM[pos, 1]).Data = name; ((IGMDataItem.Text)ITEM[pos, 1]).FontColor = _colorid; BLANKS[pos] = !unlocked; } } } }
public IGMData_ConfirmDialog(FF8String data, Icons.ID title, FF8String opt1, FF8String opt2, Rectangle?pos, int startcursor = 0) : base(2, 1, new IGMDataItem_Box(data, pos, title), 1, 2) { this.startcursor = startcursor; opt = new FF8String[Count]; opt[0] = opt1; opt[1] = opt2; ITEM[0, 0] = new IGMDataItem_String(opt[0], SIZE[0]); ITEM[1, 0] = new IGMDataItem_String(opt[1], SIZE[1]); }
public static IGMData_ConfirmRemMag Create(FF8String data, Icons.ID title, FF8String opt1, FF8String opt2, Rectangle pos) => Create <IGMData_ConfirmRemMag>(data, title, opt1, opt2, pos, 1);
public IGMData_ConfirmRemAll(FF8String data, Icons.ID title, FF8String opt1, FF8String opt2, Rectangle pos) : base(data, title, opt1, opt2, pos) => startcursor = 1;
public static void Update() { if (Input2.DelayedButton(InputActions.Cancel)) { Memory.Module = OpenVIII.Module.MainMenuDebug; return; } if (Input2.DelayedButton(new InputButton() { Key = Keys.OemMinus, Trigger = ButtonTrigger.Press }) || Input2.DelayedButton(new InputButton() { Key = Keys.Subtract, Trigger = ButtonTrigger.Press })) { if (zoom - 1 < 1f) { zoom = 1f; } else { zoom--; } Show(); } if (Input2.DelayedButton(new InputButton() { Key = Keys.OemPlus, Trigger = ButtonTrigger.Press }) || Input2.DelayedButton(new InputButton() { Key = Keys.Add, Trigger = ButtonTrigger.Press })) { if (zoom + 1 > 100f) { zoom = 100f; } else { zoom++; } Show(); } if (Input2.DelayedButton(FF8TextTagKey.Up)) { if (palette <= 0) { palette = (int)Memory.Icons.PaletteCount - 1; } else { palette--; } Show(); } if (Input2.DelayedButton(FF8TextTagKey.Down)) { if (palette >= Memory.Icons.PaletteCount - 1) { palette = 0; } else { palette++; } Show(); } if (Input2.DelayedButton(FF8TextTagKey.Right) || Input2.Button(Keys.PageDown)) { do { if (icon >= Enum.GetValues(typeof(Icons.ID)).Cast <Icons.ID>().Max()) { icon = 0; } else { icon++; } }while (Memory.Icons.GetEntry(icon) == null); Show(); } if (Input2.DelayedButton(FF8TextTagKey.Left) || Input2.Button(Keys.PageUp)) { do { if (icon <= 0) { icon = Enum.GetValues(typeof(Icons.ID)).Cast <Icons.ID>().Max(); } //else if (Memory.Icons.GetEntry(icon) != null && Memory.Icons.GetEntry(icon).GetLoc.Count > 1) // icon -= Memory.Icons.GetEntry(icon).GetLoc.Count; else { icon--; } }while (Memory.Icons.GetEntry(icon) == null); Show(); } switch (currentMode) { case Mode.Initialize: //SaveStringToFile(); currentMode++; break; case Mode.Draw: currentMode++; break; case Mode.Wait: Memory.SuppressDraw = true; break; } }
public Iap(Icons.ID id = Icons.ID.None, byte palette = 2) { this.id = id; this.palette = palette; }
public static void Update() { if (Input.Button(Keys.Up)) { if (pallet <= 0) { pallet = Icons.PalletCount - 1; } else { pallet--; } currentMode = Mode.Draw; } if (Input.Button(Keys.Down)) { if (pallet >= Icons.PalletCount - 1) { pallet = 0; } else { pallet++; } currentMode = Mode.Draw; } //if ((Input.Button(Keys.Up) || Input.Button(Keys.Down)) && icons.GetEntry(icon) != null && (icons.GetEntry(icon).GetLoc.count > 1)) // icon -= (icons.GetEntry(icon).GetLoc.count - 1); if (Input.Button(Keys.Right)) { do { if (icon >= Enum.GetValues(typeof(Icons.ID)).Cast <Icons.ID>().Max()) { icon = 0; } else { icon++; } }while (icons.GetEntry(icon) == null); currentMode = Mode.Draw; } if (Input.Button(Keys.Left)) { do { if (icon <= 0) { icon = Enum.GetValues(typeof(Icons.ID)).Cast <Icons.ID>().Max(); } //else if (icons.GetEntry(icon) != null && icons.GetEntry(icon).GetLoc.count > 1) // icon -= icons.GetEntry(icon).GetLoc.count; else { icon--; } }while (icons.GetEntry(icon) == null); currentMode = Mode.Draw; } switch (currentMode) { case Mode.Initialize: Initialize(); currentMode++; break; case Mode.Draw: currentMode++; break; case Mode.Wait: Memory.SuppressDraw = true; break; } }
protected void FillData <T>(Dictionary <T, byte> oldtotal, Dictionary <T, byte> total, Enum[] availableFlagsarray, Icons.ID starticon, sbyte offset = 0, byte palette = 2, Icons.ID[] skip = null) where T : Enum { var _nag = 0; var _pos = 0; var endoffset = (sbyte)(offset > 0 ? offset : 0); for (sbyte pos = 0; pos < Count - endoffset; pos++) { if (skip != null && skip.Contains(starticon + pos)) { offset -= 1; pos += 1; endoffset -= 1; } ITEM[pos + offset, 0] = new IGMDataItem.Icon { Data = starticon + pos, Pos = new Rectangle(SIZE[pos + offset].X, SIZE[pos + offset].Y, 0, 0), Palette = palette }; ITEM[pos + offset, 1] = total[(T)availableFlagsarray[pos + 1]] > 100 ? new IGMDataItem.Icon { Data = Icons.ID.Star, Pos = new Rectangle(SIZE[pos + offset].X + 45, SIZE[pos + offset].Y, 0, 0), Palette = 4 } : null; ITEM[pos + offset, 2] = null; ITEM[pos + offset, 3] = new IGMDataItem.Integer { Data = total[(T)availableFlagsarray[pos + 1]] > 100 ? total[(T)availableFlagsarray[pos + 1]] - 100 : total[(T)availableFlagsarray[pos + 1]], Pos = new Rectangle(SIZE[pos + offset].X + SIZE[pos + offset].Width - 80, SIZE[pos + offset].Y, 0, 0), Palette = 17, NumType = Icons.NumType.SysFntBig, Spaces = 3 }; ITEM[pos + offset, 4] = new IGMDataItem.Text() { Data = "%", Pos = new Rectangle(SIZE[pos + offset].X + SIZE[pos + offset].Width - 20, SIZE[pos + offset].Y, 0, 0) }; if (oldtotal != null) { if (oldtotal[(T)availableFlagsarray[pos + 1]] > total[(T)availableFlagsarray[pos + 1]]) { ((IGMDataItem.Icon)ITEM[pos + offset, 0]).Palette = 5; ((IGMDataItem.Icon)ITEM[pos + offset, 0]).Faded_Palette = 5; ITEM[pos + offset, 2] = new IGMDataItem.Icon { Data = Icons.ID.Arrow_Down, Pos = new Rectangle(SIZE[pos + offset].X + SIZE[pos + offset].Width - 105, SIZE[pos + offset].Y, 0, 0), Palette = 16 }; ((IGMDataItem.Integer)ITEM[pos + offset, 3]).FontColor = Font.ColorID.Red; ((IGMDataItem.Text)ITEM[pos + offset, 4]).FontColor = Font.ColorID.Red; if (++_nag > _pos) { ColorChangeEventListener?.Invoke(this, Font.ColorID.Red); } } else if (oldtotal[(T)availableFlagsarray[pos + 1]] < total[(T)availableFlagsarray[pos + 1]]) { ((IGMDataItem.Icon)ITEM[pos + offset, 0]).Palette = 6; ((IGMDataItem.Icon)ITEM[pos + offset, 0]).Faded_Palette = 6; ITEM[pos + offset, 2] = new IGMDataItem.Icon { Data = Icons.ID.Arrow_Up, Pos = new Rectangle(SIZE[pos + offset].X + SIZE[pos + offset].Width - 105, SIZE[pos + offset].Y, 0, 0), Palette = 17 }; ((IGMDataItem.Integer)ITEM[pos + offset, 3]).FontColor = Font.ColorID.Yellow; ((IGMDataItem.Text)ITEM[pos + offset, 4]).FontColor = Font.ColorID.Yellow; if (_nag <= ++_pos) { ColorChangeEventListener?.Invoke(this, Font.ColorID.Yellow); } } } } }
private void SetPalettes(int pos, byte statIconPalette, byte arrowPalette = 2, Icons.ID arrowIconId = Icons.ID.None) { ((IGMDataItem.Icon)ITEM[pos, 0]).Palette = ((IGMDataItem.Icon)ITEM[pos, 0]).Faded_Palette = statIconPalette; ((IGMDataItem.Icon)ITEM[pos, 4]).Data = arrowIconId; ((IGMDataItem.Icon)ITEM[pos, 4]).Palette = arrowPalette; }
private void SetPalettes(int pos, byte StatIconPalette, byte ArrowPalette = 2, Icons.ID ArrowIconID = Icons.ID.None) { ((IGMDataItem.Icon)ITEM[pos, 0]).Palette = ((IGMDataItem.Icon)ITEM[pos, 0]).Faded_Palette = StatIconPalette; ((IGMDataItem.Icon)ITEM[pos, 4]).Data = ArrowIconID; ((IGMDataItem.Icon)ITEM[pos, 4]).Palette = ArrowPalette; }
public IGMData_ConfirmChanges(FF8String data, Icons.ID title, FF8String opt1, FF8String opt2, Rectangle pos) : base(data, title, opt1, opt2, pos) { startcursor = 1; }
protected void FillData <T>(Dictionary <T, byte> oldtotal, Dictionary <T, byte> total, Enum[] availableFlagsarray, Icons.ID starticon, sbyte offset = 0, byte palette = 2, Icons.ID[] skip = null) where T : Enum { int _nag = 0; int _pos = 0; sbyte endoffset = (sbyte)(offset > 0?offset:0); for (sbyte pos = 0; pos < Count - endoffset; pos++) { if (skip != null && skip.Contains(starticon + pos)) { offset -= 1; pos += 1; endoffset -= 1; } ITEM[pos + offset, 0] = new IGMDataItem_Icon(starticon + pos, new Rectangle(SIZE[pos + offset].X, SIZE[pos + offset].Y, 0, 0), palette); ITEM[pos + offset, 1] = total[(T)availableFlagsarray[pos + 1]] > 100 ? new IGMDataItem_Icon(Icons.ID.Star, new Rectangle(SIZE[pos + offset].X + 45, SIZE[pos + offset].Y, 0, 0), 4) : null; ITEM[pos + offset, 2] = null; ITEM[pos + offset, 3] = new IGMDataItem_Int( total[(T)availableFlagsarray[pos + 1]] > 100 ? total[(T)availableFlagsarray[pos + 1]] - 100 : total[(T)availableFlagsarray[pos + 1]], new Rectangle(SIZE[pos + offset].X + SIZE[pos + offset].Width - 80, SIZE[pos + offset].Y, 0, 0), 17, numtype: Icons.NumType.sysFntBig, spaces: 3); ITEM[pos + offset, 4] = new IGMDataItem_String("%", new Rectangle(SIZE[pos + offset].X + SIZE[pos + offset].Width - 20, SIZE[pos + offset].Y, 0, 0)); if (oldtotal != null) { if (oldtotal[(T)availableFlagsarray[pos + 1]] > total[(T)availableFlagsarray[pos + 1]]) { ((IGMDataItem_Icon)ITEM[pos + offset, 0]).Palette = 5; ((IGMDataItem_Icon)ITEM[pos + offset, 0]).Faded_Palette = 5; ITEM[pos + offset, 2] = new IGMDataItem_Icon(Icons.ID.Arrow_Down, new Rectangle(SIZE[pos + offset].X + SIZE[pos + offset].Width - 105, SIZE[pos + offset].Y, 0, 0), 16); ((IGMDataItem_Int)ITEM[pos + offset, 3]).Colorid = Font.ColorID.Red; ((IGMDataItem_String)ITEM[pos + offset, 4]).Colorid = Font.ColorID.Red; //{ // ((IGMDataItem_Icon)Slots.ITEM[Slots.CURSOR_SELECT, 0]).Palette = 5; // ((IGMDataItem_Icon)Slots.ITEM[Slots.CURSOR_SELECT, 0]).Faded_Palette = 5; // ((IGMDataItem_String)Slots.ITEM[Slots.CURSOR_SELECT, 1]).Colorid = Font.ColorID.Red; //} if (++_nag > _pos) { ColorChangeEventListener?.Invoke(this, Font.ColorID.Red); } } else if (oldtotal[(T)availableFlagsarray[pos + 1]] < total[(T)availableFlagsarray[pos + 1]]) { ((IGMDataItem_Icon)ITEM[pos + offset, 0]).Palette = 6; ((IGMDataItem_Icon)ITEM[pos + offset, 0]).Faded_Palette = 6; ITEM[pos + offset, 2] = new IGMDataItem_Icon(Icons.ID.Arrow_Up, new Rectangle(SIZE[pos + offset].X + SIZE[pos + offset].Width - 105, SIZE[pos + offset].Y, 0, 0), 17); ((IGMDataItem_Int)ITEM[pos + offset, 3]).Colorid = Font.ColorID.Yellow; ((IGMDataItem_String)ITEM[pos + offset, 4]).Colorid = Font.ColorID.Yellow; //{ // ((IGMDataItem_Icon)Slots.ITEM[Slots.CURSOR_SELECT, 0]).Palette = 6; // ((IGMDataItem_Icon)Slots.ITEM[Slots.CURSOR_SELECT, 0]).Faded_Palette = 6; // ((IGMDataItem_String)Slots.ITEM[Slots.CURSOR_SELECT, 1]).Colorid = Font.ColorID.Yellow; //} if (_nag <= ++_pos) { ColorChangeEventListener?.Invoke(this, Font.ColorID.Yellow); } } } } }