Example #1
0
        public SAV_EventWork(SaveFile sav)
        {
            InitializeComponent();

            WinFormsUtil.TranslateInterface(this, Main.CurrentLanguage);

            if (sav is SAV7b s7b)
            {
                SAV = s7b.EventWork;
            }
            else if (sav is SAV8SWSH s8ss)
            {
                SAV = s8ss.EventWork;
            }
            SAV    = ((SAV7b)sav).EventWork;
            Origin = sav;

            DragEnter += Main_DragEnter;
            DragDrop  += Main_DragDrop;

            CB_Stats.Items.Clear();
            for (int i = 0; i < SAV.MaxWork; i++)
            {
                CB_Stats.Items.Add(i.ToString());
            }

            var work = GetStringList(sav.Version, "const");
            var flag = GetStringList(sav.Version, "flags");

            Editor = new SplitEventEditor <int>(SAV, work, flag);

            SuspendLayout();
            editing = true;
            LoadFlags(Editor.Flag);
            LoadWork(Editor.Work);
            editing = false;
            ResumeLayout();

            if (CB_Stats.Items.Count > 0)
            {
                CB_Stats.SelectedIndex = 0;
            }
            else
            {
                L_Stats.Visible = CB_Stats.Visible = NUD_Stat.Visible = false;
                TC_Features.TabPages.Remove(GB_Constants);
            }
            NUD_Flag.Maximum     = SAV.MaxFlag - 1;
            NUD_Flag.Text        = "0";
            c_CustomFlag.Checked = SAV.GetFlag(0);

            Text = $"{Text} ({sav.Version})";
        }