예제 #1
0
            private void Update_String()
            {
                if (Junction != null && Junction.GetMode().Equals(Mode.TopMenu_Auto) && Enabled)
                {
                    FF8String Changed = null;
                    switch (CURSOR_SELECT)
                    {
                    case 0:
                        Changed = Strings.Description.AutoAtk;
                        break;

                    case 1:
                        Changed = Strings.Description.AutoDef;
                        break;

                    case 2:
                        Changed = Strings.Description.AutoMag;
                        break;
                    }
                    if (Changed != null && Junction != null)
                    {
                        Junction.ChangeHelp(Changed);
                    }
                }
            }
예제 #2
0
            public override bool Update()
            {
                var ret = base.Update();

                if (Junction != null && Junction.GetMode().Equals(Mode.Abilities))
                {
                    Cursor_Status &= ~Cursor_Status.Blinking;

                    if (Commands != null && Ability != null)
                    {
                        if (CURSOR_SELECT >= Commands.Count)
                        {
                            if (Ability.Descriptions != null && Ability.Descriptions.TryGetValue(CURSOR_SELECT - Commands.Count, out var v))
                            {
                                Junction.ChangeHelp(v);
                            }
                        }
                        else
                        {
                            if (Commands.Descriptions != null && Commands.Descriptions.TryGetValue(CURSOR_SELECT, out var v))
                            {
                                Junction.ChangeHelp(v);
                            }
                        }
                    }
                }
                else
                {
                    Cursor_Status |= Cursor_Status.Blinking;
                }

                return(ret);
            }
예제 #3
0
            public override void Refresh()
            {
                base.Refresh();

                if (UpdateChild(Mode.Mag_Stat, Icons.ID.Rewind_Fast, Strings.Name.ST_A_D, Icons.ID.Rewind, Strings.Name.EL_A_D))
                {
                }
                else if (UpdateChild(Mode.Mag_EL_A, Icons.ID.Rewind, Strings.Name.ST_A_D, Icons.ID.Forward, Strings.Name.Stats))
                {
                }
                else if (UpdateChild(Mode.Mag_ST_A, Icons.ID.Forward, Strings.Name.EL_A_D, Icons.ID.Forward_Fast, Strings.Name.Stats))
                {
                }
                bool UpdateChild(Mode mode, Icons.ID icon1, FF8StringReference str1, Icons.ID icon2, FF8StringReference str2)
                {
                    if (Junction != null && Junction.GetMode().Equals(mode) && Enabled)
                    {
                        ((IGMDataItem.Icon)ITEM[0, 0]).Data = icon1;
                        ((IGMDataItem.Text)ITEM[0, 1]).Data = str1;
                        ((IGMDataItem.Icon)ITEM[0, 2]).Data = icon2;
                        ((IGMDataItem.Text)ITEM[0, 3]).Data = str2;
                        return(true);
                    }
                    return(false);
                }
            }
예제 #4
0
 public override bool Update()
 {
     if (Junction != null && !Junction.GetMode().Equals(last) && Enabled)
     {
         last = (Mode)Junction.GetMode();
         Refresh();
         return(base.Update());
     }
     return(false);
 }
예제 #5
0
 public override bool Update()
 {
     Update_String();
     if (Junction != null)
     {
         if (Junction.GetMode().Equals(Mode.TopMenu_Junction))
         {
             Cursor_Status &= ~Cursor_Status.Blinking;
         }
         else
         {
             Cursor_Status |= Cursor_Status.Blinking;
         }
     }
     return(base.Update());
 }
예제 #6
0
 public override void CheckMode(bool cursor = true) =>
 CheckMode(-1, Mode.None, Mode.Mag_Stat,
           Junction != null && (Junction.GetMode().Equals(Mode.Mag_Stat)),
           Junction != null && (Junction.GetMode().Equals(Mode.Mag_Pool_Stat)),
           Junction != null && ((Junction.GetMode().Equals(Mode.Mag_Stat) || Junction.GetMode().Equals(Mode.Mag_Pool_Stat)) && cursor));
            public override bool Update()
            {
                if (Junction != null && !Junction.GetMode().Equals(Mode.Abilities_Commands))
                {
                    Cursor_Status &= ~Cursor_Status.Enabled;
                }
                else
                {
                    Cursor_Status |= Cursor_Status.Enabled;
                }
                var pos  = 0;
                var skip = Page * Rows;

                if (Damageable != null && Damageable.GetCharacterData(out var c))
                {
                    for (var i = 0;
                         Memory.State.Characters &&
                         i < c.UnlockedGFAbilities.Count &&
                         pos < Rows; i++)
                    {
                        if (c.UnlockedGFAbilities[i] == Kernel.Abilities.None)
                        {
                            continue;
                        }
                        var j = (c.UnlockedGFAbilities[i]);
                        if (!Source.ContainsKey(j) || skip-- > 0)
                        {
                            continue;
                        }
                        Font.ColorID cid;
                        if (c.Commands.Contains(j))
                        {
                            cid         = Font.ColorID.Grey;
                            BLANKS[pos] = true;
                        }
                        else
                        {
                            cid         = Font.ColorID.White;
                            BLANKS[pos] = false;
                        }
                        ((IGMDataItem.Text)ITEM[pos, 0]).Data      = Source[j].Name;
                        ((IGMDataItem.Text)ITEM[pos, 0]).FontColor = cid;
                        ITEM[pos, 0].Show();
                        Contents[pos] = j;
                        pos++;
                    }
                }
                for (; pos < Rows; pos++)
                {
                    ITEM[pos, 0].Hide();
                    BLANKS[pos]   = true;
                    Contents[pos] = Kernel.Abilities.None;
                }

                if (Contents[CURSOR_SELECT] != Kernel.Abilities.None && Junction.GetMode().Equals(Mode.Abilities_Commands))
                {
                    Junction.ChangeHelp(Source[Contents[CURSOR_SELECT]].Description);
                }
                UpdateTitle();
                if (Contents[CURSOR_SELECT] == Kernel.Abilities.None)
                {
                    CURSOR_NEXT();
                }
                if (Pages > 1)
                {
                    if (Contents[0] == Kernel.Abilities.None)
                    {
                        //Pages = Page;
                        PAGE_NEXT();
                        return(Update());
                    }
                    //else if (Contents[Rows - 1] == Kernel_bin.Abilities.None)
                    //    Pages = Page + 1;
                }
                return(base.Update());
            }
예제 #8
0
 public override void CheckMode(bool cursor = true) =>
 CheckMode(0, Mode.Mag_EL_A, Mode.Mag_EL_D,
           Junction != null && (Junction.GetMode().Equals(Mode.Mag_EL_A) || Junction.GetMode().Equals(Mode.Mag_EL_D)),
           Junction != null && (Junction.GetMode().Equals(Mode.Mag_Pool_EL_A) || Junction.GetMode().Equals(Mode.Mag_Pool_EL_D)),
           cursor);