Пример #1
0
        protected override void Init()
        {
            base.Init();
            SIZE[Rows]    = SIZE[0];
            SIZE[Rows].Y  = Y;
            ITEM[Rows, 2] = new IGMDataItem.Icon {
                Data = Icons.ID.NUM_, Pos = new Rectangle(SIZE[Rows].X + SIZE[Rows].Width - 45, SIZE[Rows].Y, 0, 0), Scale = new Vector2(2.5f)
            };

            for (int pos = 0; pos < Rows; pos++)
            {
                ITEM[pos, 0] = new IGMDataItem.Text {
                    Pos = SIZE[pos]
                };
                ITEM[pos, 0].Hide();
                ITEM[pos, 1] = new IGMDataItem.Icon {
                    Data = Icons.ID.JunctionSYM, Pos = new Rectangle(SIZE[pos].X + SIZE[pos].Width - 75, SIZE[pos].Y, 0, 0)
                };
                ITEM[pos, 1].Hide();
                ITEM[pos, 2] = new IGMDataItem.Integer {
                    Pos = new Rectangle(SIZE[pos].X + SIZE[pos].Width - 50, SIZE[pos].Y, 0, 0), Spaces = 3
                };
                ITEM[pos, 2].Hide();
            }

            ITEM[Targets_Window, 0] = IGMData.Target.Group.Create(Damageable);
            BLANKS[Rows]            = true;
            Cursor_Status          &= ~Cursor_Status.Horizontal;
            Cursor_Status          |= Cursor_Status.Vertical;
            Cursor_Status          &= ~Cursor_Status.Blinking;
            PointerZIndex           = Rows - 1;
        }
Пример #2
0
        protected override void Init()
        {
            base.Init();
            CURSOR[0] = Point.Zero; //disable this cursor location

            for (var i = 0; i < Count; i++)
            {
                if (i > 0)
                {
                    ITEM[i, 0] = new IGMDataItem.Icon {
                        Data = Icons.ID.Arrow_Right2, Pos = SIZE[i], Palette = 9
                    };
                    ITEM[i, 1] = new IGMDataItem.Text
                    {
                        Icon    = Icons.ID.Ability_Command,
                        Palette = 9,
                        Pos     = new Rectangle(SIZE[i].X + 40, SIZE[i].Y, 0, 0)
                    };
                }
                else if (i == 0)
                {
                    ITEM[i, 1] = new IGMDataItem.Text
                    {
                        Pos = new Rectangle(SIZE[i].X + 80, SIZE[i].Y, 0, 0)
                    }
                }
                ;
            }
        }
Пример #3
0
 protected override void Init()
 {
     base.Init();
     _helpStr = new FF8String[Count];
     for (byte pos = 0; pos < Rows; pos++)
     {
         ITEM[pos, 0] = new IGMDataItem.Text(null, SIZE[pos]);
         ITEM[pos, 1] = new IGMDataItem.Integer(0, new Rectangle(SIZE[pos].X + SIZE[pos].Width - 60, SIZE[pos].Y, 0, 0), numtype: Icons.NumType.sysFntBig, spaces: 3);
     }
     ITEM[Count - 1, 2] = new IGMDataItem.Icon(Icons.ID.NUM_, new Rectangle(SIZE[Rows - 1].X + SIZE[Rows - 1].Width - 60, Y, 0, 0), scale: new Vector2(2.5f));
     PointerZIndex      = Rows - 1;
 }
Пример #4
0
        protected override void Init()
        {
            base.Init();
            SIZE[Rows]    = SIZE[0];
            SIZE[Rows].Y  = Y;
            ITEM[Rows, 2] = new IGMDataItem.Icon(Icons.ID.NUM_, new Rectangle(SIZE[Rows].X + SIZE[Rows].Width - 45, SIZE[Rows].Y, 0, 0), scale: new Vector2(2.5f));

            ITEM[Targets_Window, 0] = new BattleMenus.IGMData_TargetGroup(Damageable);
            BLANKS[Rows]            = true;
            Cursor_Status          &= ~Cursor_Status.Horizontal;
            Cursor_Status          |= Cursor_Status.Vertical;
            Cursor_Status          &= ~Cursor_Status.Blinking;
            PointerZIndex           = Rows - 1;
        }
Пример #5
0
 protected override void Init()
 {
     base.Init();
     SIZE[Rows]    = SIZE[0];
     SIZE[Rows].Y  = Y;
     ITEM[Rows, 2] = new IGMDataItem.Icon
     {
         Pos   = new Rectangle(SIZE[Rows].X + SIZE[Rows].Width - (Battle ? 50 : 30), SIZE[Rows].Y, 0, 0),
         Scale = new Vector2(2.5f)
     };
     for (var i = 0; i < Rows;)
     {
         AddGF(ref i, GFs.Blank);
     }
 }
Пример #6
0
        private void Perfect_Prep(Rectangle r, Rectangle tr, out float scale, out int w, int trigwidtharea, int xbak)
        {
            EntryGroup e = Memory.Icons[Icons.ID.Perfect__];

            scale = 1f;
            w     = 0;
            if (e != null)
            {
                scale = ((float)r.Height) / e.Height;
                w     = (int)(e.Width * scale);
            }
            tr.X = xbak + trigwidtharea / 2 - w / 2;
            ITEM[Count - 6, 0] = new IGMDataItem.Icon {
                Data = Icons.ID.Perfect__, Pos = tr, Palette = 8, Scale = new Vector2(scale)
            };
        }
Пример #7
0
        protected override void Init()
        {
            base.Init();
            Rectangle r = CONTAINER.Pos;

            r.Inflate(-Width * .25f, -Height * .25f);
            for (byte pos = 0; pos < Rows; pos++)
            {
                ITEM[pos, 0] = new IGMDataItem.Text(null, SIZE[pos]);
                ITEM[pos, 1] = new IGMDataItem.Icon(Icons.ID.JunctionSYM, new Rectangle(SIZE[pos].X + SIZE[pos].Width - 60, SIZE[pos].Y, 0, 0));
                ITEM[pos, 2] = new Commands(r, Damageable, Battle);
                ITEM[pos, 2].Hide();
            }

            DepthFirst    = true;
            PointerZIndex = 0;
        }
Пример #8
0
 protected override void Init()
 {
     base.Init();
     for (int i = 0; i < Count; i++)
     {
         ITEM[i, 0] = new IGMDataItem.Icon {
             Data = Icons.ID.Arrow_Right2, Pos = SIZE[i], Palette = 9
         };
         ITEM[i, 0].Hide();
         ITEM[i, 1] = new IGMDataItem.Text
         {
             Palette = 9,
             Pos     = new Rectangle(SIZE[i].X + 40, SIZE[i].Y, 0, 0)
         };
         ITEM[i, 1].Hide();
     }
 }
Пример #9
0
 protected override void Init()
 {
     base.Init();
     _helpStr = new FF8String[Count];
     for (byte pos = 0; pos < Rows; pos++)
     {
         ITEM[pos, 0] = new IGMDataItem.Text {
             Pos = SIZE[pos]
         };
         ITEM[pos, 1] = new IGMDataItem.Integer {
             Pos = new Rectangle(SIZE[pos].X + SIZE[pos].Width - 60, SIZE[pos].Y, 0, 0), NumType = Icons.NumType.SysFntBig, Spaces = 3
         };
     }
     NUM_ = new IGMDataItem.Icon {
         Data = Icons.ID.NUM_, Pos = new Rectangle(SIZE[Rows - 1].X + SIZE[Rows - 1].Width - 60, Y, 0, 0), Scale = new Vector2(2.5f)
     };
     PointerZIndex = Rows - 1;
 }
Пример #10
0
        private void Trigger_Prep(ref Rectangle r, ref Rectangle tr, out float scale, out int w, out int trigwidtharea, out int xbak)
        {
            EntryGroup e = Memory.Icons[Icons.ID.Trigger_];

            scale = 1f;
            w     = 0;
            if (e != null)
            {
                e[0].Offset = Vector2.Zero;
                scale       = ((float)r.Height - 8) / e.Height;
                w           = (int)(e.Width * scale);
            }
            trigwidtharea = (r.Right - tr.Left);
            xbak          = tr.X;
            tr.X         += trigwidtharea / 2 - w / 2;

            ITEM[Count - 1, 0] = new IGMDataItem.Icon {
                Data = Icons.ID.Trigger_, Pos = tr, Palette = 6, Scale = new Vector2(scale)
            };
        }
Пример #11
0
 private void AddGF(ref int pos, GFs g, Font.ColorID color = Font.ColorID.White)
 {
     Contents[pos] = g;
     if (g != GFs.Blank)
     {
         ((IGMDataItem.Text)ITEM[pos, 0]).Data      = Memory.Strings.GetName(g);
         ((IGMDataItem.Text)ITEM[pos, 0]).FontColor = color;
         ((IGMDataItem.Integer)ITEM[pos, 2]).Data   = Battle ? Source.GFs[g].CurrentHP() : Source.GFs[g].Level;
         ShowChild(pos, g);
         if (Battle)
         {
             ITEM[pos, 1].Hide();
         }
     }
     else
     {
         if (ITEM[pos, 0] == null)
         {
             ITEM[pos, 0] = new IGMDataItem.Text {
                 Pos = SIZE[pos], FontColor = color
             }
         }
         ;
         if (ITEM[pos, 1] == null)
         {
             ITEM[pos, 1] = new IGMDataItem.Icon {
                 Data = Icons.ID.JunctionSYM, Pos = new Rectangle(SIZE[pos].X + SIZE[pos].Width - 100, SIZE[pos].Y, 0, 0)
             }
         }
         ;
         if (ITEM[pos, 2] == null)
         {
             ITEM[pos, 2] = new IGMDataItem.Integer {
                 Pos = new Rectangle(SIZE[pos].X + SIZE[pos].Width - 50, SIZE[pos].Y, 0, 0), Spaces = 3
             }
         }
         ;
         HideChild(pos);
     }
     pos++;
 }
Пример #12
0
        private Rectangle _0_Hit_Prep(Rectangle r, Rectangle tr, out float scale, out int w, int trigwidtharea, int xbak)
        {
            EntryGroup e;

            scale = 1f;
            w     = 0;
            IEnumerable <EntryGroup> range = (from i in Enumerable.Range(0, 8)
                                              where Memory.Icons[Icons.ID._0_Hit_ + (byte)i] != null &&
                                              Memory.Icons[Icons.ID._0_Hit_ + (byte)i].Count > 0
                                              select Memory.Icons[Icons.ID._0_Hit_ + (byte)i]);
            float avgx = range.Count() > 0?(int)range.Average(x => x[0].Offset.X):0;

            range.ForEach(x => x[0].Offset.X = avgx);
            //float totalx = 0;
            //for (byte i = 0; i <= 7; i++)
            //{
            //    e = Memory.Icons[Icons.ID._0_Hit_ + i];
            //    if(e!=null)
            //        totalx += e[0].Offset.X;
            //}
            //float avgx = (float)Math.Round(totalx / 8);
            //for (byte i = 0; i <= 7; i++)
            //{
            //    e = Memory.Icons[Icons.ID._0_Hit_ + i];
            //    if (e != null)
            //        e[0].Offset.X = avgx;
            //}
            e = Memory.Icons[Icons.ID._0_Hit_];
            if (e != null)
            {
                scale = ((float)r.Height) / e.Height;
                w     = (int)(e.Width * scale);
            }
            tr.X = xbak + trigwidtharea / 2 - w / 2;
            ITEM[Count - 5, 0] = new IGMDataItem.Icon {
                Data = Icons.ID._0_Hit_, Pos = tr, Scale = new Vector2(scale)
            };
            return(tr);
        }
Пример #13
0
        private void Renzokeken_Seperator_Prep(out Rectangle r, out Rectangle hotspot, out Rectangle tr)
        {
            EntryGroup e     = Memory.Icons[Icons.ID.Renzokeken_Seperator];
            int        w     = 0;
            float      scale = 1f;

            r = CONTAINER.Pos;
            r.Inflate(-16, -20);
            r.X      += r.X % 4;
            r.Y      += r.Y % 4;
            r.Width  += r.Width % 4;
            r.Height += r.Height % 4;
            if (e != null)
            {
                e[0].Offset = Vector2.Zero;
                scale       = (float)r.Height / e.Height;
                w           = (int)(e.Width * scale);
            }
            ITEM[0, 0] = new IGMDataItem.Texture {
                Data = pixel, Pos = r, Color = Renzokenken_Seperator_Color_Faded
            };
            r.Inflate(-4, -4);
            ITEM[1, 0] = new IGMDataItem.Texture {
                Data = pixel, Pos = r, Color = Color.Black
            };
            ITEM[Count - 3, 0] = new IGMDataItem.Icon {
                Data = Icons.ID.Renzokeken_Seperator, Pos = new Rectangle(r.X + 80, r.Y, w, r.Height), Scale = new Vector2(scale)
            };
            ITEM[Count - 2, 0] = new IGMDataItem.Icon {
                Data = Icons.ID.Renzokeken_Seperator, Pos = new Rectangle(r.X + 208, r.Y, w, r.Height), Scale = new Vector2(scale)
            };
            hotspot            = new Rectangle(r.X + 80 + (w / 2), r.Y + 4, 208 - 80, r.Height - 8);
            ITEM[Count - 4, 0] = new IGMDataItem.Texture {
                Data = pixel, Pos = hotspot, Color = Color.TransparentBlack
            };
            hotspot.Width += (int)(hotspot.Width * .50f);
            tr             = new Rectangle(r.X + 208 + (w / 2), r.Y + 4, 0, r.Height - 4);
        }