Exemple #1
0
        public Window()
        {
            InitializeComponent();

            InfoVersion.Text = Core.Version;

            ConsoleOutput.Font = new System.Drawing.Font(Core.Fonts.Families[0], 10f);

            Package[] installedPackages = Workshop.GetInstalled();

            installedPackages.ToList().ForEach(x =>
            {
                Dictionary <string, string> packageInfo = x.GetInfo();

                PackageInfo p      = new PackageInfo();
                p.NameLabel.Text   = packageInfo["Name"];
                p.AuthorLabel.Text = packageInfo["Authors"];
                p.DescLabel.Text   = packageInfo["Description"];
                p.Package          = x;

                p.Anchor = AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Left;

                InstalledPackagesList.Controls.Add(p);

                p.RunButton.Click += (o, e) =>
                {
                    x.Run(true);
                };
            });

            var hoverColor = new ColorContainer(0, 0, 0);
            var cursorPos  = new PointContainer(0, 0);

            var timer = new System.Timers.Timer();

            timer.Interval = 1000;
            timer.Elapsed += (s, a) =>
            {
                if (this == null)
                {
                    return;
                }

                cursorPos  = InputWrapper.GetCursorPos();
                hoverColor = ScreenWrapper.GetPixels(cursorPos.X, cursorPos.Y, 1, 1)[0][0];

                Invoke(new Action(() =>
                {
                    if (IsDisposed)
                    {
                        return;
                    }

                    ColorDisplay.Text     = $"R: {hoverColor.R} G: {hoverColor.G} B: {hoverColor.B}";
                    CursorPosDisplay.Text = $"X: {cursorPos.X} Y: {cursorPos.Y}";
                }));
            };
            timer.Start();
        }