Пример #1
0
            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));
                }
            }
Пример #2
0
            //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);
            }
Пример #3
0
 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);
         }
     }
 }
Пример #4
0
            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
                    };
                }
            }