/// <summary> /// Things that may of changed before screen loads or junction is changed. /// </summary> public override void Refresh() { if (Memory.State.Characters != null && Damageable.GetCharacterData(out Saves.CharacterData c)) { base.Refresh(); ITEM[0, 0] = new IGMDataItem.Face(c.ID.ToFacesID(), new Rectangle(X + 12, Y, 96, 144)); ITEM[0, 2] = new IGMDataItem.Text(Damageable.Name, new Rectangle(X + 117, Y + 0, 0, 0)); ITEM[0, 4] = new IGMDataItem.Integer(Damageable.Level, new Rectangle(X + 117 + 35, Y + 54, 0, 0), 13, numtype: Icons.NumType.sysFntBig, padding: 1, spaces: 6); ITEM[0, 5] = Memory.State.Party != null && Memory.State.Party.Contains(c.ID) ? new IGMDataItem.Icon(Icons.ID.InParty, new Rectangle(X + 278, Y + 48, 0, 0), 6) : null; ITEM[0, 7] = new IGMDataItem.Integer(Damageable.CurrentHP(), new Rectangle(X + 152, Y + 108, 0, 0), 13, numtype: Icons.NumType.sysFntBig, padding: 1, spaces: 6); ITEM[0, 9] = new IGMDataItem.Integer(Damageable.MaxHP(), new Rectangle(X + 292, Y + 108, 0, 0), 13, numtype: Icons.NumType.sysFntBig, padding: 1, spaces: 5); ITEM[0, 11] = new IGMDataItem.Integer((int)c.Experience, new Rectangle(X + 192, Y + 198, 0, 0), 13, numtype: Icons.NumType.Num_8x8_2, padding: 1, spaces: 9); ITEM[0, 13] = new IGMDataItem.Integer(c.ExperienceToNextLevel, new Rectangle(X + 192, Y + 231, 0, 0), 13, numtype: Icons.NumType.Num_8x8_2, padding: 1, spaces: 9); } }
/// <summary> /// Things that may of changed before screen loads or junction is changed. /// </summary> public override void Refresh() { if (Memory.State?.Characters != null && Damageable != null && Damageable.GetCharacterData(out var c)) { base.Refresh(); ((IGMDataItem.Face)ITEM[0, 0]).Data = c.ID.ToFacesID(); ((IGMDataItem.Text)ITEM[0, 2]).Data = Damageable.Name; ((IGMDataItem.Integer)ITEM[0, 4]).Data = Damageable.Level; if (Memory.State.Party != null && Memory.State.Party.Contains(c.ID)) { ITEM[0, 5].Show(); } else { ITEM[0, 5].Hide(); } ((IGMDataItem.Integer)ITEM[0, 7]).Data = Damageable.CurrentHP(); ((IGMDataItem.Integer)ITEM[0, 9]).Data = Damageable.MaxHP(); ((IGMDataItem.Integer)ITEM[0, 11]).Data = (int)c.Experience; ((IGMDataItem.Integer)ITEM[0, 13]).Data = c.ExperienceToNextLevel; } }
private void RefreshCharacter(sbyte pos, Damageable damageable) { if (SIZE != null) { ((IGMDataItem.Box)ITEM[pos, 0]).Pos = SIZE[pos]; if (damageable != null) { Contents[pos] = damageable; float yoff = 6; ((IGMDataItem.Box)ITEM[pos, 0]).Data = damageable.Name; ((IGMDataItem.Box)ITEM[pos, 0]).Title = Icons.ID.STATUS; BoxReturn dims = DrawBox(SIZE[pos], ((IGMDataItem.Box)ITEM[pos, 0]).Data, options: Box_Options.SkipDraw); Rectangle r = dims.Font; CURSOR[pos] = dims.Cursor; r = dims.Font; r.Offset(184, yoff); ((IGMDataItem.Icon)ITEM[pos, 1]).Pos = r; r = dims.Font; r.Offset((229), yoff); ((IGMDataItem.Integer)ITEM[pos, 2]).Data = damageable.Level; ((IGMDataItem.Integer)ITEM[pos, 2]).Pos = r; r = dims.Font; r.Offset(304, yoff); ((IGMDataItem.Icon)ITEM[pos, 3]).Pos = r; r = dims.Font; r.Offset((354), yoff); ((IGMDataItem.Integer)ITEM[pos, 4]).Data = damageable.CurrentHP(); ((IGMDataItem.Integer)ITEM[pos, 4]).Pos = r; r = dims.Font; r.Offset(437, yoff); ((IGMDataItem.Icon)ITEM[pos, 5]).Pos = r; r = dims.Font; r.Offset((459), yoff); ((IGMDataItem.Integer)ITEM[pos, 6]).Data = damageable.MaxHP(); ((IGMDataItem.Integer)ITEM[pos, 6]).Pos = r; for (int i = 0; i <= 6; i++) { ITEM[pos, i].Show(); } if ((Memory.State.TeamLaguna || Memory.State.SmallTeam) && damageable.GetCharacterData(out Saves.CharacterData c)) { BLANKS[pos] = false; r = dims.Font; r.Offset(145, 36); FF8String s = Strings.Name.CurrentEXP + "\n" + Strings.Name.NextLEVEL; ((IGMDataItem.Text)ITEM[pos, 7]).Data = s; ((IGMDataItem.Text)ITEM[pos, 7]).Pos = r; r = dims.Font; r.Offset((340), 42); ((IGMDataItem.Integer)ITEM[pos, 8]).Data = checked ((int)c.Experience); ((IGMDataItem.Integer)ITEM[pos, 8]).Pos = r; r = dims.Font; r.Offset(520, 42); ((IGMDataItem.Icon)ITEM[pos, 9]).Pos = r; r = dims.Font; r.Offset((340), 75); ((IGMDataItem.Integer)ITEM[pos, 10]).Data = c.ExperienceToNextLevel; ((IGMDataItem.Integer)ITEM[pos, 10]).Pos = r; r = dims.Font; r.Offset(520, 75); ((IGMDataItem.Icon)ITEM[pos, 11]).Pos = r; for (int i = 7; i < Depth; i++) { ITEM[pos, i].Show(); } } else { for (int i = 7; i < Depth; i++) { ITEM[pos, i].Hide(); } } } else { BlankArea(pos); } } }
private void ReInitCharacter(sbyte pos, Damageable damageable) { if (SIZE != null) { if (damageable != null) { Contents[pos] = damageable; float yoff = 6; ITEM[pos, 0] = new IGMDataItem.Box(damageable.Name, title: Icons.ID.STATUS); Tuple <Rectangle, Point, Rectangle> dims = DrawBox(SIZE[pos], ((IGMDataItem.Box)ITEM[pos, 0]).Data, options: Box_Options.SkipDraw); Rectangle r = dims.Item3; ((IGMDataItem.Box)ITEM[pos, 0]).Pos = dims.Item1; CURSOR[pos] = dims.Item2; r = dims.Item3; r.Offset(184, yoff); ITEM[pos, 1] = new IGMDataItem.Icon(Icons.ID.Lv, r, 13); r = dims.Item3; r.Offset((229), yoff); ITEM[pos, 2] = new IGMDataItem.Integer(damageable.Level, r, 2, 0, 1, 3); r = dims.Item3; r.Offset(304, yoff); ITEM[pos, 3] = new IGMDataItem.Icon(Icons.ID.HP2, r, 13); r = dims.Item3; r.Offset((354), yoff); ITEM[pos, 4] = new IGMDataItem.Integer(damageable.CurrentHP(), r, 2, 0, 1, 4); r = dims.Item3; r.Offset(437, yoff); ITEM[pos, 5] = new IGMDataItem.Icon(Icons.ID.Slash_Forward, r, 13); r = dims.Item3; r.Offset((459), yoff); ITEM[pos, 6] = new IGMDataItem.Integer(damageable.MaxHP(), r, 2, 0, 1, 4); if ((Memory.State.TeamLaguna || Memory.State.SmallTeam) && Damageable.GetCharacterData(out Saves.CharacterData c)) { BLANKS[pos] = false; r = dims.Item3; r.Offset(145, 36); FF8String s = Strings[Items.CurrentEXP] + "\n" + Strings[Items.NextLEVEL]; ITEM[pos, 7] = new IGMDataItem.Text(s, r); r = dims.Item3; r.Offset((340), 42); ITEM[pos, 8] = new IGMDataItem.Integer(checked ((int)c.Experience), r, 2, 0, 1, 9); r = dims.Item3; r.Offset(520, 42); ITEM[pos, 9] = new IGMDataItem.Icon(Icons.ID.P, r, 2); r = dims.Item3; r.Offset((340), 75); ITEM[pos, 10] = new IGMDataItem.Integer(c.ExperienceToNextLevel, r, 2, 0, 1, 9); r = dims.Item3; r.Offset(520, 75); ITEM[pos, 11] = new IGMDataItem.Icon(Icons.ID.P, r, 2); } else { for (int i = 7; i < Depth; i++) { ITEM[pos, i] = null; } } } else { ITEM[pos, 0] = new IGMDataItem.Box(pos: SIZE[pos]); BLANKS[pos] = true; for (int i = 1; i < Depth; i++) { ITEM[pos, i] = null; } } } }