예제 #1
0
            public override void Refresh()
            {
                if (!eventSet && IGM != null)
                {
                    IGM.ModeChangeHandler   += ModeChangeEvent;
                    IGM.ChoiceChangeHandler += ChoiceChangeEvent;
                    eventSet = true;
                }
                base.Refresh();

                if (Memory.State.Characters != null)
                {
                    IGMDataItem_IGMData i  = ((IGMDataItem_IGMData)ITEM[0, 0]);
                    IGMDataItem_IGMData i2 = ((IGMDataItem_IGMData)ITEM[1, 0]);
                    if (i != null && i.Data != null && i2 != null && i2.Data != null)
                    {
                        SIZE = new Rectangle[i.Data.Count + i2.Data.Count];
                        Array.Copy(i.Data.SIZE, SIZE, i.Data.Count);
                        Array.Copy(i2.Data.SIZE, 0, SIZE, i.Data.Count, i2.Data.Count);
                        CURSOR = new Point[i.Data.Count + i2.Data.Count];
                        Array.Copy(i.Data.CURSOR, CURSOR, i.Data.Count);
                        Array.Copy(i2.Data.CURSOR, 0, CURSOR, i.Data.Count, i2.Data.Count);
                        BLANKS = new bool[i.Data.Count + i2.Data.Count];
                        Array.Copy(i.Data.BLANKS, BLANKS, i.Data.Count);
                        Array.Copy(i2.Data.BLANKS, 0, BLANKS, i.Data.Count, i2.Data.Count);
                        Contents = new Tuple <Characters, Characters> [i.Data.Count + i2.Data.Count];
                        Array.Copy(((IGMData_Party)i.Data).Contents, Contents, i.Data.Count);
                        Array.Copy(((IGMData_NonParty)i2.Data).Contents, 0, Contents, i.Data.Count, i2.Data.Count);
                    }
                }
            }
                public override bool Update()
                {
                    bool ret = base.Update();

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

                        IGMDataItem_IGMData i  = ((IGMDataItem_IGMData)ITEM[0, 0]);
                        IGMDataItem_IGMData i2 = ((IGMDataItem_IGMData)ITEM[1, 0]);
                        if (i != null && i.Data != null && i2 != null && i2.Data != null)
                        {
                            if (CURSOR_SELECT >= i.Data.Count)
                            {
                                if (i2.Data.Descriptions != null && i2.Data.Descriptions.ContainsKey(CURSOR_SELECT - i.Data.Count))
                                {
                                    InGameMenu_Junction.ChangeHelp(i2.Data.Descriptions[CURSOR_SELECT - i.Data.Count]);
                                }
                            }
                            else
                            {
                                if (i.Data.Descriptions != null && i.Data.Descriptions.ContainsKey(CURSOR_SELECT))
                                {
                                    InGameMenu_Junction.ChangeHelp(i.Data.Descriptions[CURSOR_SELECT]);
                                }
                            }
                        }
                    }
                    else
                    {
                        Cursor_Status |= Cursor_Status.Blinking;
                    }

                    return(ret);
                }
예제 #3
0
 private void UpdateCharacter()
 {
     if (IGM_Junction != null)
     {
         GFs g = Contents[CURSOR_SELECT];
         IGMDataItem_IGMData i = (IGMDataItem_IGMData)((IGMData_GF_Group)IGM_Junction.Data[SectionName.TopMenu_GF_Group]).ITEM[2, 0];
         ((IGMDataItem_Box)i.Data.CONTAINER).Data = JunctionedGFs.Count > 0 && JunctionedGFs.ContainsKey(g) ? Memory.Strings.GetName(JunctionedGFs[g]) : null;
     }
 }
예제 #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 IGMDataItem_IGMData(new BattleMenus.IGMData_TargetGroup());
            BLANKS[Rows]            = true;
            Cursor_Status          &= ~Cursor_Status.Horizontal;
            Cursor_Status          |= Cursor_Status.Vertical;
            Cursor_Status          &= ~Cursor_Status.Blinking;
            PointerZIndex           = Rows - 1;
        }
                public override void Inputs_OKAY()
                {
                    base.Inputs_OKAY();
                    IGMDataItem_IGMData i  = ((IGMDataItem_IGMData)ITEM[0, 0]);
                    IGMDataItem_IGMData i2 = ((IGMDataItem_IGMData)ITEM[3, 0]);

                    if (i != null && i.Data != null)
                    {
                        if (CURSOR_SELECT >= i.Data.Count)
                        {
                            InGameMenu_Junction.SetMode(Mode.Abilities_Abilities);
                        }
                        else
                        {
                            InGameMenu_Junction.SetMode(Mode.Abilities_Commands);
                        }
                    }
                }
예제 #6
0
            public override bool Inputs_OKAY()
            {
                base.Inputs_OKAY();
                IGMDataItem_IGMData i  = ((IGMDataItem_IGMData)ITEM[0, 0]);
                IGMDataItem_IGMData i2 = ((IGMDataItem_IGMData)ITEM[3, 0]);

                if (i != null && i.Data != null)
                {
                    if (CURSOR_SELECT >= i.Data.Count)
                    {
                        IGM_Junction.SetMode(Mode.Abilities_Abilities);
                    }
                    else
                    {
                        IGM_Junction.SetMode(Mode.Abilities_Commands);
                    }
                    return(true);
                }
                return(false);
            }
                public override bool Inputs()
                {
                    skipdata = true;
                    bool ret = base.Inputs();

                    skipdata = false;
                    IGMDataItem_IGMData i  = ((IGMDataItem_IGMData)ITEM[0, 0]);
                    IGMDataItem_IGMData i2 = ((IGMDataItem_IGMData)ITEM[3, 0]);

                    if (ret && i != null && i.Data != null)
                    {
                        if (CURSOR_SELECT >= i.Data.Count)
                        {
                            i2.Data.Show();
                        }
                        else
                        {
                            i2.Data.Hide();
                        }
                    }
                    return(ret);
                }
                public override void ReInit()
                {
                    base.ReInit();
                    IGMDataItem_IGMData i  = ((IGMDataItem_IGMData)ITEM[0, 0]);
                    IGMDataItem_IGMData i2 = ((IGMDataItem_IGMData)ITEM[1, 0]);

                    if (i != null && i.Data != null && i2 != null && i2.Data != null)
                    {
                        SIZE = new Rectangle[i.Data.Count + i2.Data.Count];
                        Array.Copy(i.Data.SIZE, SIZE, i.Data.Count);
                        Array.Copy(i2.Data.SIZE, 0, SIZE, i.Data.Count, i2.Data.Count);
                        CURSOR = new Point[i.Data.Count + i2.Data.Count];
                        Array.Copy(i.Data.CURSOR, CURSOR, i.Data.Count);
                        Array.Copy(i2.Data.CURSOR, 0, CURSOR, i.Data.Count, i2.Data.Count);
                        BLANKS = new bool[i.Data.Count + i2.Data.Count];
                        Array.Copy(i.Data.BLANKS, BLANKS, i.Data.Count);
                        Array.Copy(i2.Data.BLANKS, 0, BLANKS, i.Data.Count, i2.Data.Count);
                    }
                    if (CURSOR_SELECT == 0)
                    {
                        CURSOR_SELECT = 1;
                    }
                }
                public override void Inputs_Square()
                {
                    skipdata = true;
                    base.Inputs_Square();
                    skipdata = false;

                    IGMDataItem_IGMData i  = ((IGMDataItem_IGMData)ITEM[0, 0]);
                    IGMDataItem_IGMData i2 = ((IGMDataItem_IGMData)ITEM[3, 0]);

                    if (i != null && i.Data != null)
                    {
                        if (CURSOR_SELECT < i.Data.Count)
                        {
                            Memory.State.Characters[Character].Commands[CURSOR_SELECT - 1] = Kernel_bin.Abilities.None;
                            InGameMenu_Junction.Data[SectionName.TopMenu_Abilities].ReInit();
                            InGameMenu_Junction.Data[SectionName.Commands].ReInit();
                        }
                        else
                        {
                            Memory.State.Characters[Character].Abilities[CURSOR_SELECT - i.Data.Count] = Kernel_bin.Abilities.None;
                            InGameMenu_Junction.ReInit();
                        }
                    }
                }
예제 #10
0
 public virtual bool ITEMUpdate(IGMDataItem_IGMData i, int pos = 0) => i.Update();
예제 #11
0
 public virtual void ITEMShow(IGMDataItem_IGMData i, int pos = 0) => i.Show();
예제 #12
0
 public virtual bool ITEMInputs(IGMDataItem_IGMData i, int pos = 0) => i.Inputs();
예제 #13
0
 public virtual void ITEMHide(IGMDataItem_IGMData i, int pos = 0) => i.Hide();