예제 #1
0
        private readonly ComboBox?BoxSelect; // this is just us holding a reference; disposal is done by its parent
#pragma warning restore CA2213               // Disposable fields should be disposed

        public LiveHeXUI(ISaveFileProvider sav, IPKMView editor)
        {
            SAV = sav;
            CurrentInjectionType = AutoLegality.Default.USBBotBasePreferred ? InjectorCommunicationType.USB : InjectorCommunicationType.SocketNetwork;
            Remote = new LiveHeXController(sav, editor, CurrentInjectionType);

            InitializeComponent();
            this.TranslateInterface(WinFormsTranslator.CurrentLanguage);

            TB_IP.Text = AutoLegality.Default.LatestIP;
            SetInjectionTypeView();

            // add an event to the editor
            // ReSharper disable once SuspiciousTypeConversion.Global
            BoxSelect = ((Control)sav).Controls.Find("CB_BoxSelect", true).FirstOrDefault() as ComboBox;
            if (BoxSelect != null)
            {
                BoxSelect.SelectedIndexChanged += ChangeBox;
                Closing += (s, e) => BoxSelect.SelectedIndexChanged -= ChangeBox;
            }

            var type   = sav.GetType();
            var fields = type.GetTypeInfo().DeclaredFields;
            var test   = fields.First(z => z.Name == "EditEnv");

            x = (SaveDataEditor <PictureBox>)test.GetValue(sav);
            x.Slots.Publisher.Subscribers.Add(this);

            TB_Port.Text = Remote.Bot.com.Port.ToString();
            CenterToParent();
        }
예제 #2
0
        public SAV_GroupViewer(SaveFile sav, IPKMView view, IReadOnlyList <SlotGroup> groups)
        {
            SAV  = sav;
            View = view;
            InitializeComponent();

            Groups = groups;
            int count = groups[0].Slots.Length;

            Regenerate(count);
            CenterToParent();

            MouseWheel += (s, e) => CurrentGroup = e.Delta > 1 ? MoveLeft() : MoveRight();

            var names = groups.Select(z => $"{z.GroupName}").ToArray();

            CB_BoxSelect.Items.AddRange(names);
            CB_BoxSelect.SelectedIndex = GetFirstTeamWithContent(groups);

            foreach (PictureBox pb in Box.Entries)
            {
                pb.Click           += (o, args) => OmniClick(pb, args);
                pb.MouseHover      += (o, args) => HoverSlot(pb, args);
                pb.ContextMenuStrip = mnu;
            }
        }
예제 #3
0
        public LiveHexUI(ISaveFileProvider sav, IPKMView editor)
        {
            SAV    = sav;
            Remote = new LiveHexController(sav, editor);

            InitializeComponent();

            TB_IP.Text = Properties.Settings.Default.LatestIP;

            // add an event to the editor
            // ReSharper disable once SuspiciousTypeConversion.Global
            BoxSelect = ((Control)sav).Controls.Find("CB_BoxSelect", true).FirstOrDefault() as ComboBox;
            if (BoxSelect != null)
            {
                BoxSelect.SelectedIndexChanged += ChangeBox;
            }

            var type   = sav.GetType();
            var fields = type.GetTypeInfo().DeclaredFields;
            var test   = fields.First(z => z.Name == "EditEnv");

            x = (SaveDataEditor <PictureBox>)test.GetValue(sav);
            x.Slots.Publisher.Subscribers.Add(this);

            TB_Port.Text = Remote.Bot.Port.ToString();
            CenterToParent();
        }
예제 #4
0
        public LiveHeXController(ISaveFileProvider boxes, IPKMView editor, InjectorCommunicationType ict)
        {
            SAV    = boxes;
            Editor = editor;
            var ValidVers = RamOffsets.GetValidVersions(boxes.SAV);

            Bot = new PokeSysBotMini(ValidVers[0], ict);
        }
예제 #5
0
        public void Initialize(params object[] args)
        {
            Console.WriteLine($"Loading {Name}...");
            SaveFileEditor = (ISaveFileProvider)Array.Find(args, z => z is ISaveFileProvider) !;
            PKMEditor      = (IPKMView)Array.Find(args, z => z is IPKMView) !;
            var menu = (ToolStrip)Array.Find(args, z => z is ToolStrip);

            LoadMenuStrip(menu);
        }
예제 #6
0
        public void Initialize(params object[] args)
        {
            Debug.WriteLine($"[Auto Legality Mod] Loading {Name}");
            SaveFileEditor = (ISaveFileProvider)Array.Find(args, z => z is ISaveFileProvider);
            PKMEditor      = (IPKMView)Array.Find(args, z => z is IPKMView);
            var menu = (ToolStrip)Array.Find(args, z => z is ToolStrip);

            LoadMenuStrip(menu);
        }
예제 #7
0
        public void Initialize(params object[] args)
        {
            SaveFileEditor = (ISaveFileProvider)Array.Find(args, z => z is ISaveFileProvider);
            PKMEditor      = (IPKMView)Array.Find(args, z => z is IPKMView);
            controller     = new LiveHeXController(SaveFileEditor, PKMEditor);
            var menu = (ToolStrip)Array.Find(args, z => z is ToolStrip);

            LoadMenuStrip(menu);
        }
예제 #8
0
 public void Initialize(params object[] args)
 {
     Console.WriteLine($"Loading {Name}...");
     if (args == null)
     {
         return;
     }
     globalArgs     = args;
     SaveFileEditor = (ISaveFileProvider)Array.Find(args, z => z is ISaveFileProvider);
     PKMEditor      = (IPKMView)Array.Find(args, z => z is IPKMView);
     LoadMenuStrip(GetMenuFromArgs(args));
 }
예제 #9
0
        public void Initialize(params object[] args)
        {
            Debug.WriteLine($"[Auto Legality Mod] Loading {Name}");
            SaveFileEditor = (ISaveFileProvider)Array.Find(args, z => z is ISaveFileProvider);
            PKMEditor      = (IPKMView)Array.Find(args, z => z is IPKMView);
            var menu = (ToolStrip)Array.Find(args, z => z is ToolStrip);

            LoadMenuStrip(menu);
            // ReSharper disable once SuspiciousTypeConversion.Global
            ((ContainerControl)SaveFileEditor).ParentForm.TranslateInterface(WinFormsTranslator.CurrentLanguage);

            // ALM Settings
            ShowdownSetLoader.SetAPILegalitySettings();
        }
예제 #10
0
        public void Initialize(params object[] args)
        {
            arguments = args;
            Console.WriteLine($"[Auto Legality Mod] Loading {Name}");
            if (args == null)
            {
                return;
            }
            SaveFileEditor = (ISaveFileProvider)Array.Find(args, z => z is ISaveFileProvider);
            PKMEditor      = (IPKMView)Array.Find(args, z => z is IPKMView);
            var menu = (ToolStrip)Array.Find(args, z => z is ToolStrip);

            LoadMenuStrip(menu);
        }
예제 #11
0
파일: RNGPlugin.cs 프로젝트: kwsch/PKHeXRNG
        public void Initialize(params object[] args)
        {
            Console.WriteLine($"Loading {Name}...");
            if (args == null)
            {
                return;
            }
            SaveFileEditor = (ISaveFileProvider)Array.Find(args, z => z is ISaveFileProvider);
            PKMEditor      = (IPKMView)Array.Find(args, z => z is IPKMView);
            var menu = (ToolStrip)Array.Find(args, z => z is ToolStrip);

            parent = menu.FindForm();
            LoadMenuStrip(menu);
        }
예제 #12
0
        public void Initialize(params object[] args)
        {
            Debug.WriteLine($"{LoggingPrefix} Loading {Name}");
            SaveFileEditor = (ISaveFileProvider)Array.Find(args, z => z is ISaveFileProvider);
            PKMEditor      = (IPKMView)Array.Find(args, z => z is IPKMView);
            var menu = (ToolStrip)Array.Find(args, z => z is ToolStrip);

            LoadMenuStrip(menu);

            // Match PKHeX Versioning and ALM Settings only on parent plugin
            if (Priority != 0)
            {
                return;
            }

            Task.Run(SetUpEnvironment);
        }
예제 #13
0
 public SaveDataEditor(SaveFile sav, IPKMView editor)
 {
     SAV       = sav;
     Slots     = new SlotEditor <T>(sav);
     PKMEditor = editor;
 }
예제 #14
0
 public SaveDataEditor(SaveFile sav)
 {
     SAV       = sav;
     Slots     = new SlotEditor <T>(sav);
     PKMEditor = new FakePKMEditor(SAV.BlankPKM);
 }
예제 #15
0
 public LiveHexController(ISaveFileProvider boxes, IPKMView editor)
 {
     SAV    = boxes;
     Editor = editor;
 }
예제 #16
0
 public LiveHeXController(ISaveFileProvider boxes, IPKMView editor)
 {
     SAV    = boxes;
     Editor = editor;
     Bot    = new PokeSysBotMini(0);
 }
예제 #17
0
 public LiveHexController(ISaveFileProvider boxes, IPKMView editor)
 {
     SAV    = boxes;
     Editor = editor;
     Bot    = new PokeSysBotMini(LiveHeXVersion.SWSH_Rigel1);
 }