示例#1
0
        public Tracker(MainForm form, ImgForm imgForm)
        {
            ui          = form;
            unlockables = imgForm;

            // create run manager
            runManager = new RunManager(this);
        }
示例#2
0
        public SettingsForm(TrayApplicationContext context, MainForm form, ImgForm imgForm)
        {
            this.context = context;
            this.form    = form;
            this.imgForm = imgForm;

            InitializeComponent();
        }
示例#3
0
            public TrayApplicationContext(TrackerSettings trackerSettings)
            {
                this.trackerSettings = trackerSettings;

                // Create forms
                form     = new MainForm(this);
                imgForm  = new ImgForm();
                settings = new SettingsForm(this, form, imgForm);

                // Create tracker thread
                tracker = new Tracker(form, imgForm);
                Thread trackerThread = new Thread(() => tracker.Main());

                trackerThread.IsBackground = true;
                trackerThread.Start();

                // Create tracker multiplayer thread
                Thread trackerMultiplayerThread = new Thread(() => tracker.MultiplayerMain());

                trackerMultiplayerThread.IsBackground = true;
                trackerMultiplayerThread.Start();

                // Create Category menu
                MenuItem CategoryMenu = new MenuItem("Category");

                CategoryMenu.MenuItems.Add(new MenuItem("All Achievements", SelectAA));
                CategoryMenu.MenuItems.Add(new MenuItem("All Journal Entries", SelectAJE));
                CategoryMenu.MenuItems.Add(new MenuItem("All Characters", SelectAC));
                CategoryMenu.MenuItems.Add(new MenuItem("All Shortcuts + Olmec", SelectASO));
                CategoryMenu.MenuItems.Add(new MenuItem("Tutorial%", SelectTutorial));

                // Create Coop menu
                MenuItem CoopMenu = new MenuItem("Co-op");

                CoopMenu.MenuItems.Add(new MenuItem("Create room", CreateRoom));
                CoopMenu.MenuItems.Add(new MenuItem("Join room", JoinRoom));

                // Create context menu
                ContextMenu contextMenu = new ContextMenu(new MenuItem[] {
                    new MenuItem("Reset", Reset),
                    CategoryMenu,
                    CoopMenu,
                    new MenuItem("Settings", OpenSettings),
                    new MenuItem("Exit", Exit)
                });

                form.ContextMenu    = contextMenu;
                imgForm.ContextMenu = contextMenu;

                // Create tray icon
                trayIcon = new NotifyIcon()
                {
                    Icon        = Resources.icon,
                    ContextMenu = contextMenu,
                    Visible     = true
                };

                // Set main form to terminate application on close
                form.FormClosing += (s, e) =>
                {
                    Exit(s, e);
                };

                // Display both forms
                form.Show();
                imgForm.Show();

                // Set hotkey
                Keys key  = (Keys)trackerSettings.resetHotkey;
                int  mods = trackerSettings.resetHotkeyMods;

                form.SetResetHotKey(mods, key);
                settings.SetHotkey(mods, key);

                // Set image size, rows, inverted
                settings.SetImageSize(trackerSettings.imageSize);
                settings.SetRows(trackerSettings.rows);
                settings.SetInverted(trackerSettings.inverted);

                // Set background color
                Color bgColor = ColorTranslator.FromHtml(trackerSettings.backColor);

                SetBackgroundColor(bgColor);
                settings.SetBackgroundColor(bgColor);

                // Set text color
                Color textColor = ColorTranslator.FromHtml(trackerSettings.textColor);

                SetTextColor(textColor);
                settings.SetTextColor(textColor);

                // Set save files
                settings.SetFreshSave(trackerSettings.freshSave);
                settings.SetGameSave(trackerSettings.gameSave);

                // Initialize HTTP client
                Http.setURL(trackerSettings.baseURL);

                // Get started!
                ResetFormsAndTracker();
            }