Пример #1
0
        void UpdateList()
        {
            this.FlagList.Clear();
            uint mapid = (uint)this.MAP_LISTBOX.SelectedIndex;

            EventCondForm.MakeFlagIDArray(mapid, this.FlagList);
            MapChangeForm.MakeFlagIDArray(mapid, this.FlagList);

            List <UseFlagID> flagListInner = new List <UseFlagID>();

            if (Program.ROM.RomInfo.version() == 8)
            {
                EventHaikuForm.MakeFlagIDArray(flagListInner);
                EventBattleTalkForm.MakeFlagIDArray(flagListInner);
            }
            else if (Program.ROM.RomInfo.version() == 7)
            {//7
                EventHaikuFE7Form.MakeFlagIDArray(flagListInner);
                EventBattleTalkFE7Form.MakeFlagIDArray(flagListInner);
            }
            else
            {//6
                EventHaikuFE6Form.MakeFlagIDArray(flagListInner);
                EventBattleTalkFE6Form.MakeFlagIDArray(flagListInner);
            }

            if (this.ShowANYCheckBox.Checked)
            {
                foreach (UseFlagID u in flagListInner)
                {
                    if (u.MapID == mapid || u.MapID == U.NOT_FOUND)
                    {
                        this.FlagList.Add(u);
                    }
                }
            }
            else
            {
                foreach (UseFlagID u in flagListInner)
                {
                    if (u.MapID == mapid)
                    {
                        this.FlagList.Add(u);
                    }
                }
            }


            this.FlagList.Sort((UseFlagID a, UseFlagID b) =>
            {
                if (a.ID == b.ID)
                {
                    if (a.MapID == b.MapID)
                    {
                        return((int)a.DataType - (int)b.DataType);
                    }
                    return((int)a.MapID - (int)b.MapID);
                }
                return((int)a.ID - (int)b.ID);
            });
        }