Ejemplo n.º 1
0
        public ModButton(string _modName, int _modSafety, ModButtonStates _modState, Action <string> click, Action <string, bool> hover)
        {
            Size = new Size(177, 88);
            Config.Theme(this);
            state["modName"]   = _modName;
            state["modState"]  = _modState;
            state["modSafety"] = _modSafety;

            this.click = click;
            this.hover = hover;

            Click += (object sender, EventArgs e) => {
                if (state["btnHover"])
                {
                    click(state["modName"]);
                    ContextMenuStrip.Show(Cursor.Position);
                }
            };

            MouseEnter += (object sender, EventArgs e) => {
                this.hover(state["modName"], true);
                state["mouseOver"] = true;
            };

            MouseLeave += (object sender, EventArgs e) => {
                this.hover(state["modName"], false);
                state["mouseOver"] = false;
            };

            Timer timer = new Timer();

            timer.Interval = 50;
            timer.Tick    += (object sender, EventArgs e) => {
                Draw(CreateGraphics());
            };
            timer.Start();
        }
Ejemplo n.º 2
0
        public OldModButton(string _modName, int _modSafety, ModButtonStates _modState, Func <string, bool> clickResult)
        {
            modName        = new MetroLabel();
            modSafety      = new MetroLabel();
            modState       = new MetroLabel();
            Size           = new Size(177, 88);
            modName.Text   = _modName;
            modName.Parent = this;
            //modName.BackColor = Color.Transparent;
            modState.Parent = this;
            //modState.BackColor = Color.Transparent;
            BorderStyle = BorderStyle.FixedSingle;
            modState.UseCustomForeColor = true;
            switch (_modState)
            {
            case ModButtonStates.Available:
                modState.Text      = "Available";
                modState.ForeColor = Color.DodgerBlue;
                break;

            case ModButtonStates.Disabled:
                modState.Text      = "Disabled";
                modState.ForeColor = Color.Red;
                break;

            case ModButtonStates.Installed:
                modState.Text      = "Installed";
                modState.ForeColor = Color.Green;
                break;

            default:
                break;
            }

            Color[] safety =
            {
                Color.Gray,
                Color.Green,
                Color.Orange,
                Color.OrangeRed,
                Color.Red
            };

            switch (_modSafety)
            {
            case -1:
                modSafety.Text = "Mod Loader";
                break;

            case 0:
                modSafety.Text = "Safe";
                break;

            case 1:
                modSafety.Text = "Medium";
                break;

            case 2:
                modSafety.Text = "Unsafe";
                break;

            case 3:
                modSafety.Text = "Dangerous";
                break;

            default:
                modSafety.Text = "N/A";
                break;
            }
            modSafety.Parent             = this;
            modSafety.UseCustomForeColor = true;
            modSafety.ForeColor          = safety[_modSafety + 1];
            modName.AutoSize             = true;
            modState.AutoSize            = true;
            modSafety.AutoSize           = true;
            setLocation(new Point(0, 0));
            BringToFront();
            Controls.AddRange(new Control[] {
                modName,
                modSafety,
                modState
            });
            modName.BringToFront();
            modState.BringToFront();
            modSafety.BringToFront();
            Config.Theme(Controls);

            Theme = modSafety.Theme;


            clickR = clickResult;

            MouseDown           += button1_Click;//Why the heck this does not work? (Nothing happens on mouse click)
            modName.MouseDown   += button1_Click;
            modSafety.MouseDown += button1_Click;
            modState.MouseDown  += button1_Click;
        }
Ejemplo n.º 3
0
        public ModButton(string _modName, int _modSafety, ModButtonStates _modState, Action <string> clickResult, Action <string> hoverResult)
        {
            modNameColor = Color.FromArgb(170, 170, 170);
            Size         = new Size(177, 88);
            modName      = _modName;
            BorderStyle  = BorderStyle.FixedSingle;
            switch (_modState)
            {
            case ModButtonStates.Available:
                modState      = "Available";
                modStateColor = Color.DodgerBlue;
                break;

            case ModButtonStates.Disabled:
                modState      = "Disabled";
                modStateColor = Color.Red;
                break;

            case ModButtonStates.Installed:
                modState      = "Installed";
                modStateColor = Color.Green;
                break;

            default:
                break;
            }

            switch (_modSafety)
            {
            case -1:
                modSafety      = "Inapplicable";
                modSafetyColor = Color.FromArgb(170, 170, 170);
                break;

            case 0:
                modSafety      = "Safe";
                modSafetyColor = Color.Green;
                break;

            case 1:
                modSafety      = "Medium";
                modSafetyColor = Color.Orange;
                break;

            case 2:
                modSafety      = "Unsafe";
                modSafetyColor = Color.OrangeRed;
                break;

            case 3:
                modSafety      = "Dangerous";
                modSafetyColor = Color.Red;
                break;

            default:
                modSafety      = "N/A";
                modSafetyColor = Color.FromArgb(170, 170, 170);
                break;
            }

            setLocation(new Point(0, 0));
            BringToFront();

            clickR = clickResult;
            hoverR = hoverResult;

            MouseDown  += button1_Click;
            MouseHover += MouseHover_;
            //BackColorChanged += ColorChanged;
            State = _modState;
        }