private Damageable GetDamagable(Faces.ID id) { GFs gf = id.ToGFs(); Characters c = id.ToCharacters(); if (c == OpenVIII.Characters.Blank) { return(GetDamagable(gf)); } else { return(GetDamagable(c)); } }
//public Damageable this[Damageable damageable] /// <summary> /// return -1 on error /// </summary> /// <param name="id"></param> /// <param name="character"></param> /// <param name="gf"></param> /// <returns></returns> public int CurrentHP(Faces.ID id = Faces.ID.Blank, Characters character = OpenVIII.Characters.Blank, GFs gf = OpenVIII.GFs.Blank) { if (character == OpenVIII.Characters.Blank) { character = id.ToCharacters(); } if (gf == OpenVIII.GFs.Blank) { gf = id.ToGFs(); } int hp = (Characters.ContainsKey(character) ? Characters[character].CurrentHP() : -1); hp = (hp < 0 && GFs.ContainsKey(gf) ? GFs[gf].CurrentHP() : hp); return(hp); }
private void Fill(Faces.ID e) { if ((e == Faces.ID.Blank && Target != Faces.ID.Blank) || All) { Target = e; foreach (IGMDataItem i in ITEM) { i?.Hide(); } } else { if (Target == Faces.ID.Blank) { foreach (IGMDataItem i in ITEM) { i?.Show(); } } Target = e; Characters character = e.ToCharacters(); GFs gf = e.ToGFs(); if (character != Characters.Blank || (gf != GFs.Blank && gf != GFs.All)) { ITEM[0, 0] = new IGMDataItem_String(Misc[Items.LV], new Rectangle(SIZE[0].X, SIZE[0].Y, 0, 0)); ITEM[1, 0] = new IGMDataItem_String(Misc[Items.HP], new Rectangle(SIZE[1].X, SIZE[1].Y, 0, 0)); ITEM[1, 2] = new IGMDataItem_String(Misc[Items.ForwardSlash], new Rectangle(SIZE[1].X + 155, SIZE[1].Y, 0, 0)); } if (Memory.State.Characters != null && character != Characters.Blank) { ITEM[0, 1] = new IGMDataItem_Int(Memory.State.Characters[character].Level, new Rectangle(SIZE[0].X + 35, SIZE[0].Y, 0, 0), 13, numtype: Icons.NumType.sysFntBig, padding: 1, spaces: 6); ITEM[0, 2] = Memory.State.Party != null && Memory.State.Party.Contains(character) ? new IGMDataItem_Icon(Icons.ID.InParty, new Rectangle(SIZE[0].X + 155, SIZE[0].Y, 0, 0), 6) : null; ITEM[1, 1] = new IGMDataItem_Int(Memory.State.Characters[character].CurrentHP(character), new Rectangle(SIZE[1].X + 35, SIZE[1].Y, 0, 0), 13, numtype: Icons.NumType.sysFntBig, padding: 1, spaces: 6); ITEM[1, 3] = new IGMDataItem_Int(Memory.State.Characters[character].MaxHP(character), new Rectangle(SIZE[1].X + 155, SIZE[1].Y, 0, 0), 13, numtype: Icons.NumType.sysFntBig, padding: 1, spaces: 5); } if (Memory.State.GFs != null && (gf != GFs.Blank && gf != GFs.All)) { ITEM[0, 1] = new IGMDataItem_Int(Memory.State.GFs[gf].Level, new Rectangle(SIZE[0].X + 35, SIZE[0].Y, 0, 0), 13, numtype: Icons.NumType.sysFntBig, padding: 1, spaces: 6); ITEM[0, 2] = null; ITEM[1, 1] = new IGMDataItem_Int(Memory.State.GFs[gf].CurrentHP(), new Rectangle(SIZE[1].X + 35, SIZE[1].Y, 0, 0), 13, numtype: Icons.NumType.sysFntBig, padding: 1, spaces: 6); ITEM[1, 3] = new IGMDataItem_Int(Memory.State.GFs[gf].MaxHP(), new Rectangle(SIZE[1].X + 155, SIZE[1].Y, 0, 0), 13, numtype: Icons.NumType.sysFntBig, padding: 1, spaces: 5); } } }
private void Fill(Faces.ID e) { if ((e == Faces.ID.Blank && _target != Faces.ID.Blank) || All) { _target = e; foreach (var i in ITEM) { i?.Hide(); } } else { if (_target == Faces.ID.Blank) { foreach (var i in ITEM) { i?.Show(); } } _target = e; var character = e.ToCharacters(); var gf = e.ToGFs(); if (character != Characters.Blank || (gf != GFs.Blank && gf != GFs.All)) { ITEM[0, 0] = new IGMDataItem.Text { Data = Strings.Name.LV, Pos = new Rectangle(SIZE[0].X, SIZE[0].Y, 0, 0) }; ITEM[1, 0] = new IGMDataItem.Text { Data = Strings.Name.HP, Pos = new Rectangle(SIZE[1].X, SIZE[1].Y, 0, 0) }; ITEM[1, 2] = new IGMDataItem.Text { Data = Strings.Name.ForwardSlash, Pos = new Rectangle(SIZE[1].X + 155, SIZE[1].Y, 0, 0) }; } if (Memory.State.Characters && character != Characters.Blank) { ITEM[0, 1] = new IGMDataItem.Integer { Data = Memory.State[character].Level, Pos = new Rectangle(SIZE[0].X + 35, SIZE[0].Y, 0, 0), Palette = 13, NumType = Icons.NumType.SysFntBig, Padding = 1, Spaces = 6 }; ITEM[0, 2] = Memory.State.Party != null && Memory.State.Party.Contains(character) ? new IGMDataItem.Icon { Data = Icons.ID.InParty, Pos = new Rectangle(SIZE[0].X + 155, SIZE[0].Y, 0, 0), Palette = 6 } : null; ITEM[1, 1] = new IGMDataItem.Integer { Data = Memory.State[character].CurrentHP(character), Pos = new Rectangle(SIZE[1].X + 35, SIZE[1].Y, 0, 0), Palette = 13, NumType = Icons.NumType.SysFntBig, Padding = 1, Spaces = 6 }; ITEM[1, 3] = new IGMDataItem.Integer { Data = Memory.State[character].MaxHP(character), Pos = new Rectangle(SIZE[1].X + 155, SIZE[1].Y, 0, 0), Palette = 13, NumType = Icons.NumType.SysFntBig, Padding = 1, Spaces = 5 }; } if (Memory.State.GFs == null || (gf == GFs.Blank || gf == GFs.All)) { return; } ITEM[0, 1] = new IGMDataItem.Integer { Data = Memory.State.GFs[gf].Level, Pos = new Rectangle(SIZE[0].X + 35, SIZE[0].Y, 0, 0), Palette = 13, NumType = Icons.NumType.SysFntBig, Padding = 1, Spaces = 6 }; ITEM[0, 2] = null; ITEM[1, 1] = new IGMDataItem.Integer { Data = Memory.State.GFs[gf].CurrentHP(), Pos = new Rectangle(SIZE[1].X + 35, SIZE[1].Y, 0, 0), Palette = 13, NumType = Icons.NumType.SysFntBig, Padding = 1, Spaces = 6 }; ITEM[1, 3] = new IGMDataItem.Integer { Data = Memory.State.GFs[gf].MaxHP(), Pos = new Rectangle(SIZE[1].X + 155, SIZE[1].Y, 0, 0), Palette = 13, NumType = Icons.NumType.SysFntBig, Padding = 1, Spaces = 5 }; } }